radv: stop abusing dirty_dynamic when binding a NULL fragment shader
RADV_DYNAMIC_RASTERIZATION_SAMPLES triggers the following states: - FS (not needed when FS is NULL) - MSAA (already triggered) - BINNING (use radv_get_ps_iter_samples() on GFX9) - OCCLUSION_QUERY (doesn't use the PS) - DB_SHADER_CONTROL (already triggered) - RAST_SAMPLES (use radv_get_ps_iter_samples()) - NGGC (doesn't use the PS) So this can be simplified to BINNING (gfx9) | RAST_SAMPLES. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912>
This commit is contained in:
committed by
Marge Bot
parent
19c712c8ef
commit
3ecf9a17f8
@@ -7583,10 +7583,12 @@ radv_bind_shader(struct radv_cmd_buffer *cmd_buffer, struct radv_shader *shader,
|
||||
cmd_buffer->state.can_use_simple_vertex_input = false;
|
||||
break;
|
||||
case MESA_SHADER_FRAGMENT:
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DB_SHADER_CONTROL | RADV_CMD_DIRTY_MSAA_STATE;
|
||||
cmd_buffer->state.dirty |=
|
||||
RADV_CMD_DIRTY_DB_SHADER_CONTROL | RADV_CMD_DIRTY_MSAA_STATE | RADV_CMD_DIRTY_RAST_SAMPLES_STATE;
|
||||
if (pdev->info.gfx_level >= GFX10_3)
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_FSR_STATE;
|
||||
cmd_buffer->state.dirty_dynamic |= RADV_DYNAMIC_RASTERIZATION_SAMPLES;
|
||||
if (pdev->info.gfx_level == GFX9)
|
||||
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_BINNING_STATE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user