Module: Mesa Branch: main Commit: eb3e1bdfe69cf90fe366b0e425bc996e9da52062 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb3e1bdfe69cf90fe366b0e425bc996e9da52062
Author: Samuel Pitoiset <[email protected]> Date: Wed Oct 25 18:53:33 2023 +0200 radv: only initialize the VTX base SGPR if non-zero with DGC Otherwise, its value is incorrect. Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25890> --- 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)
