freedreno/ir3: Fix an off-by-one in so->outputs_count safety assert.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13747>
This commit is contained in:
@@ -457,7 +457,7 @@ spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triang
|
||||
spec@glsl-1.50@execution@primitive-id-no-gs-quads,Fail
|
||||
spec@glsl-1.50@execution@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@glsl-1.50@execution@variable-indexing@gs-output-array-vec4-index-wr,Crash
|
||||
|
||||
spec@glsl-1.50@gs-max-output-components,Fail
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user