pvr: Rescope msaa_mode

Removes an unnecessary dependency on the compiler.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31679>
This commit is contained in:
Simon Perretta
2024-04-03 21:44:10 +01:00
committed by Marge Bot
parent 1612255de6
commit b882cb2d90
4 changed files with 20 additions and 10 deletions
@@ -28,7 +28,7 @@
#include <vulkan/vulkan_core.h>
#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.");
+2 -2
View File
@@ -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,
};
+2 -2
View File
@@ -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;
+11 -1
View File
@@ -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);