nir/passthrough_gs: Fix array size

Triangle strips with adjacency have 6 vertices input, so we need an array big
enough for all 6 vertices to avoid overflow. Fixes passthrough GS generated for
KHR-GLES31.core.draw_indirect.basic-mode-*-triangle*adj*.

Fixes: ea14579f3d ("nir: handle primitives with adjacency")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24780>
(cherry picked from commit 558e36f641)
This commit is contained in:
Alyssa Rosenzweig 2023-08-18 11:58:01 -04:00 committed by Dylan Baker
parent dc30d1d4f1
commit 7bb56a2e65
2 changed files with 3 additions and 3 deletions

View file

@ -5584,7 +5584,7 @@
"description": "nir/passthrough_gs: Fix array size",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "ea14579f3dc3144541c6e5944d14e0e257115b15",
"notes": null
@ -26684,7 +26684,7 @@
"description": "Revert \"intel/ci: disable iris-jsl-deqp because it always fails for an AMD MR\"",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "da4b5b4a47ca727a7c8892d2bea50739df3b94ed",
"notes": null

View file

@ -200,7 +200,7 @@ nir_create_passthrough_gs(const nir_shader_compiler_options *options,
nir_variable *in = nir_variable_clone(var, nir);
ralloc_free(in->name);
in->name = ralloc_strdup(in, name);
in->type = glsl_array_type(var->type, 4, false);
in->type = glsl_array_type(var->type, 6, false);
in->data.mode = nir_var_shader_in;
nir_shader_add_variable(nir, in);