mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 19:50:11 +01:00
radv: move shader stages calculation to pipeline.
With tess this becomes a bit more complex. so move to pipeline for now. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
0232ea8025
commit
239a9224a3
3 changed files with 10 additions and 9 deletions
|
|
@ -1286,14 +1286,7 @@ radv_cmd_buffer_flush_state(struct radv_cmd_buffer *cmd_buffer,
|
|||
}
|
||||
|
||||
if (cmd_buffer->state.dirty & RADV_CMD_DIRTY_PIPELINE) {
|
||||
uint32_t stages = 0;
|
||||
|
||||
if (radv_pipeline_has_gs(cmd_buffer->state.pipeline))
|
||||
stages |= S_028B54_ES_EN(V_028B54_ES_STAGE_REAL) |
|
||||
S_028B54_GS_EN(1) |
|
||||
S_028B54_VS_EN(V_028B54_VS_STAGE_COPY_SHADER);
|
||||
|
||||
radeon_set_context_reg(cmd_buffer->cs, R_028B54_VGT_SHADER_STAGES_EN, stages);
|
||||
radeon_set_context_reg(cmd_buffer->cs, R_028B54_VGT_SHADER_STAGES_EN, pipeline->graphics.vgt_shader_stages_en);
|
||||
|
||||
if (cmd_buffer->device->physical_device->rad_info.chip_class >= CIK) {
|
||||
radeon_set_context_reg_idx(cmd_buffer->cs, R_028B58_VGT_LS_HS_CONFIG, 2, ls_hs_config);
|
||||
|
|
|
|||
|
|
@ -1772,6 +1772,13 @@ radv_pipeline_init(struct radv_pipeline *pipeline,
|
|||
calculate_pa_cl_vs_out_cntl(pipeline);
|
||||
calculate_ps_inputs(pipeline);
|
||||
|
||||
uint32_t stages = 0;
|
||||
if (radv_pipeline_has_gs(pipeline))
|
||||
stages |= S_028B54_ES_EN(V_028B54_ES_STAGE_REAL) |
|
||||
S_028B54_GS_EN(1) |
|
||||
S_028B54_VS_EN(V_028B54_VS_STAGE_COPY_SHADER);
|
||||
pipeline->graphics.vgt_shader_stages_en = stages;
|
||||
|
||||
const VkPipelineVertexInputStateCreateInfo *vi_info =
|
||||
pCreateInfo->pVertexInputState;
|
||||
for (uint32_t i = 0; i < vi_info->vertexAttributeDescriptionCount; i++) {
|
||||
|
|
|
|||
|
|
@ -965,6 +965,7 @@ struct radv_pipeline {
|
|||
uint32_t ps_input_cntl[32];
|
||||
uint32_t ps_input_cntl_num;
|
||||
uint32_t pa_cl_vs_out_cntl;
|
||||
uint32_t vgt_shader_stages_en;
|
||||
struct radv_prim_vertex_count prim_vertex_count;
|
||||
} graphics;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue