From dab66d20a7b6c2cd2cbf5bc241e7c6212af7235c Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Fri, 19 Aug 2022 12:18:21 -0700 Subject: [PATCH] intel/compiler: Make a type for Thread Payload and FS variant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Acked-by: Lionel Landwerlin Reviewed-by: Marcin Ĺšlusarz Reviewed-by: Kenneth Graunke Acked-by: Ian Romanick Part-of: --- src/intel/compiler/brw_fs.h | 36 ++++++++++--------- .../compiler/brw_lower_logical_sends.cpp | 2 +- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h index 40f99ee2408..c22ce4566c9 100644 --- a/src/intel/compiler/brw_fs.h +++ b/src/intel/compiler/brw_fs.h @@ -85,6 +85,25 @@ struct shader_stats { 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. * @@ -392,22 +411,7 @@ public: bool failed; char *fail_msg; - /** Register numbers for thread payload fields. */ - 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; + fs_thread_payload payload; bool source_depth_to_render_target; bool runtime_check_aads_emit; diff --git a/src/intel/compiler/brw_lower_logical_sends.cpp b/src/intel/compiler/brw_lower_logical_sends.cpp index 4c97dfb22bf..17bb2cedb38 100644 --- a/src/intel/compiler/brw_lower_logical_sends.cpp +++ b/src/intel/compiler/brw_lower_logical_sends.cpp @@ -151,7 +151,7 @@ static void lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst, const struct brw_wm_prog_data *prog_data, 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); const intel_device_info *devinfo = bld.shader->devinfo;