radv: track whether drawid is used on the pipeline struct
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8788>
This commit is contained in:
parent
eed676c42a
commit
b1b867033e
|
@ -5295,7 +5295,7 @@ radv_cs_emit_indirect_draw_packet(struct radv_cmd_buffer *cmd_buffer,
|
||||||
{
|
{
|
||||||
struct radeon_cmdbuf *cs = cmd_buffer->cs;
|
struct radeon_cmdbuf *cs = cmd_buffer->cs;
|
||||||
const unsigned di_src_sel = indexed ? V_0287F0_DI_SRC_SEL_DMA : V_0287F0_DI_SRC_SEL_AUTO_INDEX;
|
const unsigned di_src_sel = indexed ? V_0287F0_DI_SRC_SEL_DMA : V_0287F0_DI_SRC_SEL_AUTO_INDEX;
|
||||||
bool draw_id_enable = radv_get_shader(cmd_buffer->state.pipeline, MESA_SHADER_VERTEX)->info.vs.needs_draw_id;
|
bool draw_id_enable = cmd_buffer->state.pipeline->graphics.uses_drawid;
|
||||||
uint32_t base_reg = cmd_buffer->state.pipeline->graphics.vtx_base_sgpr;
|
uint32_t base_reg = cmd_buffer->state.pipeline->graphics.vtx_base_sgpr;
|
||||||
bool predicating = cmd_buffer->state.predicating;
|
bool predicating = cmd_buffer->state.predicating;
|
||||||
assert(base_reg);
|
assert(base_reg);
|
||||||
|
|
|
@ -5443,6 +5443,7 @@ radv_pipeline_init_shader_stages_state(struct radv_pipeline *pipeline)
|
||||||
pipeline->graphics.vtx_base_sgpr = pipeline->user_data_0[MESA_SHADER_VERTEX];
|
pipeline->graphics.vtx_base_sgpr = pipeline->user_data_0[MESA_SHADER_VERTEX];
|
||||||
pipeline->graphics.vtx_base_sgpr += loc->sgpr_idx * 4;
|
pipeline->graphics.vtx_base_sgpr += loc->sgpr_idx * 4;
|
||||||
pipeline->graphics.vtx_emit_num = loc->num_sgprs;
|
pipeline->graphics.vtx_emit_num = loc->num_sgprs;
|
||||||
|
pipeline->graphics.uses_drawid = radv_get_shader(pipeline, MESA_SHADER_VERTEX)->info.vs.needs_draw_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1736,6 +1736,7 @@ struct radv_pipeline {
|
||||||
uint32_t vtx_base_sgpr;
|
uint32_t vtx_base_sgpr;
|
||||||
struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param;
|
struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param;
|
||||||
uint8_t vtx_emit_num;
|
uint8_t vtx_emit_num;
|
||||||
|
bool uses_drawid;
|
||||||
bool can_use_guardband;
|
bool can_use_guardband;
|
||||||
uint32_t needed_dynamic_state;
|
uint32_t needed_dynamic_state;
|
||||||
bool disable_out_of_order_rast_for_occlusion;
|
bool disable_out_of_order_rast_for_occlusion;
|
||||||
|
|
Loading…
Reference in New Issue