summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Ĺšlusarz <marcin.slusarz@intel.com>2022-02-11 17:28:35 +0100
committerDylan Baker <dylan.c.baker@intel.com>2022-02-24 14:56:51 -0800
commitfc450c2f544056babd4a474e2cd8164e45a78844 (patch)
treeddc0fc577962b157e8d7040707d6417cdf289f7b
parent1c3a61979b6478e3a7bd17eb2e788bd066551a20 (diff)
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@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14997> (cherry picked from commit b6557b80a50aa96ac0862bc029d72625ea4dd6db)
-rw-r--r--.pick_status.json2
-rw-r--r--src/intel/compiler/brw_mesh.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 5a52bc6f61e..d7d5e494c16 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -526,7 +526,7 @@
"description": "intel/compiler: fix array & struct IO lowering in mesh shaders",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "1f438eb0337d662b461fd1e335cf06ff68052b6d"
},
diff --git a/src/intel/compiler/brw_mesh.cpp b/src/intel/compiler/brw_mesh.cpp
index c47162c9b9c..9e66553aeb0 100644
--- a/src/intel/compiler/brw_mesh.cpp
+++ b/src/intel/compiler/brw_mesh.cpp
@@ -465,7 +465,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);
}