broadcom/ci: don't skip dynamic loop tests in RPi 3
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

These tests were previously skipped because they contain dynamic loops
in the VS, which can cause GPU resets on VC4. However, (1) the only
tests that cause GPU resets are the ones that have divergent loops and
(2) now, the compiler is able to fail shader linking when it finds
divergent loops.

Therefore, allow tests with non-divergent loops to run on the CI and
add tests with divergent loops to the fail list.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39768>
This commit is contained in:
Maíra Canal 2026-02-08 15:51:50 -03:00 committed by Marge Bot
parent e1aac4f7e0
commit 1823bb67f9
2 changed files with 8 additions and 47 deletions

View file

@ -43,6 +43,14 @@ dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square,F
# mag. Also a line of pixels through the image in minification.
dEQP-GLES2.functional.texture.wrap.clamp_clamp_nearest_npot_etc1,Fail
# VC4 hardware doesn't have support for non-uniform loops in the vertex shader.
# The execution of non-uniform loops in VS can cause infinite loops and lead
# to GPU hangs. Therefore, the compiler fails shader linking in the presence of
# divergent loops.
spec@glsl-1.10@execution@glsl-vs-if-nested-loop,Fail
shaders@glsl-vs-loop,Fail
shaders@glsl-vs-loop-nested,Fail
# Despite exposing GL 2.1, the HW doesn't actually support 3D textures so we set
# 0 max levels. These tests fail (or assertion fail) as a result.
spec@!opengl 1.1@max-texture-size,Crash

View file

@ -5,53 +5,6 @@
# This is causing a binning memory overflow problem
dEQP-GLES2.functional.fragment_ops.scissor.outside_render_line
# Conformance issue: VC4 needs dynamic loops in the VS to cause a
# shader link failure.
#
# The issue is that the HW doesn't have an exec mask at dispatch
# for the VS, so the shouldn't-be-exec channels have undefined
# contents and may cause infinite loops, leading to GPU hangs. The
# process of GPU hang reset causes flakes in whatever other jobs are
# running simultaneously, so we can't even leave these in the flakes
# list for tracking.
dEQP-GLES2.functional.shaders.loops.*dynamic.*vertex
# Same issue mentioned above: VC4 hardware doesn't have support for
# dynamic loops. The execution of dynamic loops can cause infinite
# loops and lead to GPU hangs. Therefore, skip those tests to avoid
# issues with other tests running simultaneously.
spec@glsl-1.10@execution@copy-propagation@glsl-vs-copy-propagation-1
spec@glsl-1.10@execution@glsl-vs-if-nested-loop
spec@glsl-1.10@execution@glsl-vs-vectorize-between-basic-blocks-loop
spec@glsl-1.10@execution@loops@glsl-vs-loop-300
spec@glsl-1.10@execution@loops@glsl-vs-loop-break
spec@glsl-1.10@execution@texcoord-array
spec@glsl-1.10@execution@vs-loop-array-index-unroll
spec@glsl-1.10@execution@vs-loop-complex-no-unroll
spec@glsl-1.10@execution@vs-loop-complex-unroll
spec@glsl-1.10@execution@vs-loop-complex-unroll-cf-before-terminators
spec@glsl-1.10@execution@vs-loop-complex-unroll-cf-inside-terminator
spec@glsl-1.10@execution@vs-loop-complex-unroll-with-else-break
spec@glsl-1.10@execution@vs-loop-complex-with-else-break
spec@glsl-1.10@execution@vs-loop-partial-unroll-multiple-breaks
spec@glsl-1.10@execution@vs-loop-partial-unroll-multiple-breaks-loop-phi
spec@glsl-1.10@execution@vs-loop-variable-iteration-limit-unroll
spec@glsl-1.10@execution@vs-loop-variable-iteration-limit-unroll2
spec@glsl-1.10@execution@vs-loop-variable-iteration-limit-unroll3
spec@glsl-1.10@execution@vs-loop-variable-iteration-limit-unroll4
spec@glsl-1.10@execution@vs-loop-zero-iterations-two-exits
spec@glsl-1.10@execution@vs-nested-return-sibling-loop
spec@glsl-1.10@execution@vs-nested-return-sibling-loop2
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-dst-in-loop
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-src-in-loop
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-src-in-nested-loop-combined
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-src-in-nested-loop-inner
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-vec4-indexing-temp-src-in-nested-loop-outer
shaders@glsl-vs-loop
shaders@glsl-vs-loop-nested
shaders@glsl-uniform-interstage-limits
# It causes GPU resets that can affect tests that are running
# simultaneously.
spec@arb_map_buffer_alignment.*