From eb3e1bdfe69cf90fe366b0e425bc996e9da52062 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 25 Oct 2023 18:53:33 +0200 Subject: [PATCH] radv: only initialize the VTX base SGPR if non-zero with DGC Otherwise, its value is incorrect. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_device_generated_commands.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_device_generated_commands.c b/src/amd/vulkan/radv_device_generated_commands.c index dfcf9498512..8a98ad0df72 100644 --- a/src/amd/vulkan/radv_device_generated_commands.c +++ b/src/amd/vulkan/radv_device_generated_commands.c @@ -1569,7 +1569,11 @@ radv_prepare_dgc_graphics(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedC return; } - uint16_t vtx_base_sgpr = (cmd_buffer->state.graphics_pipeline->vtx_base_sgpr - SI_SH_REG_OFFSET) >> 2; + uint16_t vtx_base_sgpr = 0; + + if (cmd_buffer->state.graphics_pipeline->vtx_base_sgpr) + vtx_base_sgpr = (cmd_buffer->state.graphics_pipeline->vtx_base_sgpr - SI_SH_REG_OFFSET) >> 2; + if (cmd_buffer->state.graphics_pipeline->uses_drawid) vtx_base_sgpr |= DGC_USES_DRAWID; if (cmd_buffer->state.graphics_pipeline->uses_baseinstance)