Mesa (main): intel/compiler: fix array & struct IO lowering in mesh shaders

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Feb 14 19:53:41 UTC 2022


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

Author: Marcin Ślusarz <marcin.slusarz at intel.com>
Date:   Fri Feb 11 17:28:35 2022 +0100

intel/compiler: fix array & struct IO lowering in mesh shaders

We really need offsets to be in dwords, not in vec4s.

The bug manifests as random failure of func.mesh.clipdistance.5 crucible
test, where stores to gl_MeshVerticesNV[x].gl_ClipDistance[4+n] actually write to
gl_MeshVerticesNV[x].gl_ClipDistance[1+n].

Fixes: 1f438eb0337 ("intel/compiler: Implement Mesh Output")
Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14997>

---

 src/intel/compiler/brw_mesh.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_mesh.cpp b/src/intel/compiler/brw_mesh.cpp
index 2c65015fe3a..fbb4f14442b 100644
--- a/src/intel/compiler/brw_mesh.cpp
+++ b/src/intel/compiler/brw_mesh.cpp
@@ -453,7 +453,7 @@ brw_nir_lower_mue_outputs(nir_shader *nir, const struct brw_mue_map *map)
       var->data.driver_location = map->start_dw[location];
    }
 
-   nir_lower_io(nir, nir_var_shader_out, type_size_vec4,
+   nir_lower_io(nir, nir_var_shader_out, type_size_scalar_dwords,
                 nir_lower_io_lower_64bit_to_32);
 }
 



More information about the mesa-commit mailing list