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)

Reply via email to