intel/compiler: Make a type for Thread Payload and FS variant
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176>
This commit is contained in:
@@ -85,6 +85,25 @@ struct shader_stats {
|
|||||||
unsigned fill_count;
|
unsigned fill_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Register numbers for thread payload fields. */
|
||||||
|
struct thread_payload {
|
||||||
|
/** The number of thread payload registers the hardware will supply. */
|
||||||
|
uint8_t num_regs;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fs_thread_payload : public thread_payload {
|
||||||
|
uint8_t subspan_coord_reg[2];
|
||||||
|
uint8_t source_depth_reg[2];
|
||||||
|
uint8_t source_w_reg[2];
|
||||||
|
uint8_t aa_dest_stencil_reg[2];
|
||||||
|
uint8_t dest_depth_reg[2];
|
||||||
|
uint8_t sample_pos_reg[2];
|
||||||
|
uint8_t sample_mask_in_reg[2];
|
||||||
|
uint8_t depth_w_coef_reg[2];
|
||||||
|
uint8_t barycentric_coord_reg[BRW_BARYCENTRIC_MODE_COUNT][2];
|
||||||
|
uint8_t local_invocation_id_reg[2];
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The fragment shader front-end.
|
* The fragment shader front-end.
|
||||||
*
|
*
|
||||||
@@ -392,22 +411,7 @@ public:
|
|||||||
bool failed;
|
bool failed;
|
||||||
char *fail_msg;
|
char *fail_msg;
|
||||||
|
|
||||||
/** Register numbers for thread payload fields. */
|
fs_thread_payload payload;
|
||||||
struct thread_payload {
|
|
||||||
uint8_t subspan_coord_reg[2];
|
|
||||||
uint8_t source_depth_reg[2];
|
|
||||||
uint8_t source_w_reg[2];
|
|
||||||
uint8_t aa_dest_stencil_reg[2];
|
|
||||||
uint8_t dest_depth_reg[2];
|
|
||||||
uint8_t sample_pos_reg[2];
|
|
||||||
uint8_t sample_mask_in_reg[2];
|
|
||||||
uint8_t depth_w_coef_reg[2];
|
|
||||||
uint8_t barycentric_coord_reg[BRW_BARYCENTRIC_MODE_COUNT][2];
|
|
||||||
uint8_t local_invocation_id_reg[2];
|
|
||||||
|
|
||||||
/** The number of thread payload registers the hardware will supply. */
|
|
||||||
uint8_t num_regs;
|
|
||||||
} payload;
|
|
||||||
|
|
||||||
bool source_depth_to_render_target;
|
bool source_depth_to_render_target;
|
||||||
bool runtime_check_aads_emit;
|
bool runtime_check_aads_emit;
|
||||||
|
@@ -151,7 +151,7 @@ static void
|
|||||||
lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst,
|
lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst,
|
||||||
const struct brw_wm_prog_data *prog_data,
|
const struct brw_wm_prog_data *prog_data,
|
||||||
const brw_wm_prog_key *key,
|
const brw_wm_prog_key *key,
|
||||||
const fs_visitor::thread_payload &payload)
|
const fs_thread_payload &payload)
|
||||||
{
|
{
|
||||||
assert(inst->src[FB_WRITE_LOGICAL_SRC_COMPONENTS].file == IMM);
|
assert(inst->src[FB_WRITE_LOGICAL_SRC_COMPONENTS].file == IMM);
|
||||||
const intel_device_info *devinfo = bld.shader->devinfo;
|
const intel_device_info *devinfo = bld.shader->devinfo;
|
||||||
|
Reference in New Issue
Block a user