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:
committed by
Marge Bot
parent
1612255de6
commit
b882cb2d90
@@ -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.");
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user