Mesa (main): freedreno/ir3: Fix an off-by-one in so->outputs_count safety assert.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Nov 12 21:18:34 UTC 2021
Module: Mesa
Branch: main
Commit: 2ce44a0298433efbe569fc42e611aedd67e89bbc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ce44a0298433efbe569fc42e611aedd67e89bbc
Author: Emma Anholt <emma at anholt.net>
Date: Wed Nov 10 13:28:32 2021 -0800
freedreno/ir3: Fix an off-by-one in so->outputs_count safety assert.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
---
src/freedreno/ci/freedreno-a630-fails.txt | 2 +-
src/freedreno/ir3/ir3_compiler_nir.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt
index df58cfe1c87..e8fccb70f21 100644
--- a/src/freedreno/ci/freedreno-a630-fails.txt
+++ b/src/freedreno/ci/freedreno-a630-fails.txt
@@ -457,7 +457,7 @@ spec at glsl-1.50@execution at geometry@tri-strip-ordering-with-prim-restart gl_triang
spec at glsl-1.50@execution at primitive-id-no-gs-quads,Fail
spec at glsl-1.50@execution at primitive-id-no-gs-quad-strip,Fail
-# "failed assert: so->outputs_count < ARRAY_SIZE(so->outputs)"
+# "ir3_shader.h:923:ir3_link_add: Assertion `i < ARRAY_SIZE(l->var)' failed"
spec at glsl-1.50@execution at variable-indexing@gs-output-array-vec4-index-wr,Crash
spec at glsl-1.50@gs-max-output-components,Fail
diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
index ff793df4916..45c8c9b2718 100644
--- a/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/freedreno/ir3/ir3_compiler_nir.c
@@ -3717,7 +3717,7 @@ setup_output(struct ir3_context *ctx, nir_intrinsic_instr *intr)
}
so->outputs_count = MAX2(so->outputs_count, n + 1);
- compile_assert(ctx, so->outputs_count < ARRAY_SIZE(so->outputs));
+ compile_assert(ctx, so->outputs_count <= ARRAY_SIZE(so->outputs));
so->outputs[n].slot = slot;
if (io.per_view)
More information about the mesa-commit
mailing list