From b882cb2d90b0be054a019c18291d7a149ecde877 Mon Sep 17 00:00:00 2001 From: Simon Perretta Date: Wed, 3 Apr 2024 21:44:10 +0100 Subject: [PATCH] pvr: Rescope msaa_mode Removes an unnecessary dependency on the compiler. Signed-off-by: Simon Perretta Acked-by: Alyssa Rosenzweig Part-of: --- src/imagination/vulkan/pvr_csb_enum_helpers.h | 10 +++++----- src/imagination/vulkan/pvr_pass.c | 4 ++-- src/imagination/vulkan/pvr_pipeline.c | 4 ++-- src/imagination/vulkan/pvr_private.h | 12 +++++++++++- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/imagination/vulkan/pvr_csb_enum_helpers.h b/src/imagination/vulkan/pvr_csb_enum_helpers.h index 366de6d8f2d..2f9b712b2fc 100644 --- a/src/imagination/vulkan/pvr_csb_enum_helpers.h +++ b/src/imagination/vulkan/pvr_csb_enum_helpers.h @@ -28,7 +28,7 @@ #include #include "pvr_csb.h" -#include "rogue/rogue.h" +#include "pvr_private.h" #include "util/macros.h" static const char * @@ -114,15 +114,15 @@ pvr_zls_format_type_is_int(enum PVRX(CR_ZLS_FORMAT_TYPE) type) /* clang-format off */ static inline enum PVRX(PDSINST_DOUTU_SAMPLE_RATE) -pvr_pdsinst_doutu_sample_rate_from_rogue(enum rogue_msaa_mode msaa_mode) +pvr_pdsinst_doutu_sample_rate(enum pvr_msaa_mode msaa_mode) /* clang-format on */ { switch (msaa_mode) { - case ROGUE_MSAA_MODE_PIXEL: + case PVR_MSAA_MODE_PIXEL: return PVRX(PDSINST_DOUTU_SAMPLE_RATE_INSTANCE); - case ROGUE_MSAA_MODE_SELECTIVE: + case PVR_MSAA_MODE_SELECTIVE: return PVRX(PDSINST_DOUTU_SAMPLE_RATE_SELECTIVE); - case ROGUE_MSAA_MODE_FULL: + case PVR_MSAA_MODE_FULL: return PVRX(PDSINST_DOUTU_SAMPLE_RATE_FULL); default: unreachable("Undefined MSAA mode."); diff --git a/src/imagination/vulkan/pvr_pass.c b/src/imagination/vulkan/pvr_pass.c index 42ad4c1501c..f0aeb24fed6 100644 --- a/src/imagination/vulkan/pvr_pass.c +++ b/src/imagination/vulkan/pvr_pass.c @@ -51,12 +51,12 @@ static const struct { /* Indicates the amount of temporaries for the shader. */ uint32_t temp_count; - enum rogue_msaa_mode msaa_mode; + enum pvr_msaa_mode msaa_mode; /* Indicates the presence of PHAS instruction. */ bool has_phase_rate_change; } pvr_pds_fragment_program_params = { .temp_count = 0, - .msaa_mode = ROGUE_MSAA_MODE_PIXEL, + .msaa_mode = PVR_MSAA_MODE_PIXEL, .has_phase_rate_change = false, }; diff --git a/src/imagination/vulkan/pvr_pipeline.c b/src/imagination/vulkan/pvr_pipeline.c index 46fcd6d489d..6a331a8114e 100644 --- a/src/imagination/vulkan/pvr_pipeline.c +++ b/src/imagination/vulkan/pvr_pipeline.c @@ -143,12 +143,12 @@ VkResult pvr_pds_fragment_program_create_and_upload( const VkAllocationCallbacks *allocator, const struct pvr_suballoc_bo *fragment_shader_bo, uint32_t fragment_temp_count, - enum rogue_msaa_mode msaa_mode, + enum pvr_msaa_mode msaa_mode, bool has_phase_rate_change, struct pvr_pds_upload *const pds_upload_out) { const enum PVRX(PDSINST_DOUTU_SAMPLE_RATE) - sample_rate = pvr_pdsinst_doutu_sample_rate_from_rogue(msaa_mode); + sample_rate = pvr_pdsinst_doutu_sample_rate(msaa_mode); struct pvr_pds_kickusc_program program = { 0 }; uint32_t staging_buffer_size; uint32_t *staging_buffer; diff --git a/src/imagination/vulkan/pvr_private.h b/src/imagination/vulkan/pvr_private.h index 2c168307a92..fa115d6738d 100644 --- a/src/imagination/vulkan/pvr_private.h +++ b/src/imagination/vulkan/pvr_private.h @@ -1373,12 +1373,22 @@ pvr_cmd_buffer_set_error_unwarned(struct pvr_cmd_buffer *cmd_buffer, return error; } +enum pvr_msaa_mode { + PVR_MSAA_MODE_UNDEF = 0, /* explicitly treat 0 as undefined */ + /* One task for all samples. */ + PVR_MSAA_MODE_PIXEL, + /* For on-edge pixels only: separate tasks for each sample. */ + PVR_MSAA_MODE_SELECTIVE, + /* For all pixels: separate tasks for each sample. */ + PVR_MSAA_MODE_FULL, +}; + VkResult pvr_pds_fragment_program_create_and_upload( struct pvr_device *device, const VkAllocationCallbacks *allocator, const struct pvr_suballoc_bo *fragment_shader_bo, uint32_t fragment_temp_count, - enum rogue_msaa_mode msaa_mode, + enum pvr_msaa_mode msaa_mode, bool has_phase_rate_change, struct pvr_pds_upload *const pds_upload_out);