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