Module: Mesa
Branch: main
Commit: 8ab3c03a320fbe69e68319a203ed2af21e419d18
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ab3c03a320fbe69e68319a203ed2af21e419d18

Author: Lionel Landwerlin <[email protected]>
Date:   Thu Sep 21 23:27:46 2023 +0300

anv: fix generated draws gl_DrawID with more than 8192 indirect draws

This applies only to Gfx9.

We're writting out of bounds to a wrong location.

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 1d9cf8f381 ("anv: add gfx9 generated draw support")
Reviewed-by: Ivan Briano <[email protected]>
Tested-by: Felix DeGrood <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

---

 src/intel/vulkan/shaders/gfx9_generated_draws.glsl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/shaders/gfx9_generated_draws.glsl 
b/src/intel/vulkan/shaders/gfx9_generated_draws.glsl
index b9624c9bfeb..265b100c5cd 100644
--- a/src/intel/vulkan/shaders/gfx9_generated_draws.glsl
+++ b/src/intel/vulkan/shaders/gfx9_generated_draws.glsl
@@ -71,7 +71,7 @@ void main()
             }
             if (uses_drawid) {
                uint64_t draw_idx_addr = draw_id_addr + 4 * item_idx;
-               draw_ids[draw_id] = draw_id;
+               draw_ids[item_idx] = draw_id;
                write_VERTEX_BUFFER_STATE(cmd_idx,
                                          mocs,
                                          32,
@@ -117,7 +117,7 @@ void main()
             }
             if (uses_drawid) {
                uint64_t draw_idx_addr = draw_id_addr + 4 * item_idx;
-               draw_ids[draw_id] = draw_id;
+               draw_ids[item_idx] = draw_id;
                write_VERTEX_BUFFER_STATE(cmd_idx,
                                          mocs,
                                          32,

Reply via email to