From b6557b80a50aa96ac0862bc029d72625ea4dd6db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= Date: Fri, 11 Feb 2022 17:28:35 +0100 Subject: [PATCH] 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 Part-of: --- 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); }