freedreno/ci: Skip unsupported legacy gl stuff

Don't bother even trying to test legacy gl features that the hw does not
support and cannot be emulated (or at least not reasonably).

Some of this could in theory be emulated with GS shader on a6xx+, at the
cost of extra draw time overhead.  But unless someone shows up with a
real world need for these features (ie. something other than piglit/cts)
I don't think we should penalize every other gl app with the extra
overhead.  If you want a slow-but-implements-gl-rusty-sharp-edges driver,
zink already exists to fill that niche.  (And if someone does find some
app that needs these features, the right answer is probably driconf to
trigger a transparent fallback to zink.)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8850
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28323>
This commit is contained in:
Rob Clark 2024-03-21 07:51:20 -07:00 committed by Marge Bot
parent 2e7970b067
commit 242a591d4c
9 changed files with 36 additions and 88 deletions

View File

@ -170,19 +170,11 @@ shaders@point-vertex-id gl_vertexid,Crash
shaders@point-vertex-id gl_vertexid divisor,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Crash
spec@!opengl 1.0@gl-1.0-edgeflag,Crash
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash
spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
spec@!opengl 1.0@gl-1.0-user-clip-all-planes,Fail
spec@!opengl 1.0@rasterpos,Crash
spec@!opengl 1.1@depthstencil-default_fb-blit,Fail
spec@!opengl 1.1@depthstencil-default_fb-copypixels,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
spec@!opengl 1.1@linestipple@Line loop,Fail
spec@!opengl 1.1@linestipple@Line strip,Fail
spec@!opengl 1.1@linestipple@Restarting lines within a single Begin-End block,Fail
spec@!opengl 1.1@polygon-mode,Fail
spec@!opengl 1.1@polygon-mode-facing,Fail
spec@!opengl 1.1@polygon-mode-offset,Fail
@ -206,11 +198,8 @@ spec@!opengl 1.1@texwrap 1d proj bordercolor,Fail
spec@!opengl 1.1@texwrap 1d proj bordercolor@GL_RGBA8- projected- border color only,Fail
spec@!opengl 1.4@copy-pixels,Fail
spec@!opengl 1.4@gl-1.4-polygon-offset,Fail
spec@!opengl 2.0@gl-2.0-edgeflag,Crash
spec@!opengl 2.0@gl-2.0-edgeflag-immediate,Crash
spec@!opengl 2.1@pbo,Fail
spec@!opengl 2.1@pbo@test_polygon_stip,Fail
spec@!opengl 2.1@polygon-stipple-fs,Fail
spec@!opengl 3.0@bindfragdata-link-error,Fail
spec@!opengl 3.0@bindfragdata-nonexistent-variable,Fail
spec@!opengl 3.0@clearbuffer-mixed-format,Fail

View File

@ -54,3 +54,11 @@ spec@arb_framebuffer_srgb@arb_framebuffer_srgb-srgb_conformance
spec@arb_framebuffer_srgb@blit renderbuffer linear
spec@arb_framebuffer_srgb@blit texture srgb
spec@!opengl 1.1@dlist-fdo3129-01
# Unsupported legacy gl features
.*edgeflag.*
.*stipple.*
# uses edgeflags:
shaders@point-vertex-id.*
# uses stipple:
spec@!opengl 1.0@gl-1.0-no-op-paths

View File

@ -276,17 +276,6 @@ spec@arb_stencil_texturing@glblitframebuffer corrupts state@gl_texture_2d_multis
spec@arb_framebuffer_no_attachments@arb_framebuffer_no_attachments-atomic,Fail
spec@arb_framebuffer_no_attachments@arb_framebuffer_no_attachments-atomic@MS4,Fail
# Line/polygon Stippling
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
spec@!opengl 1.1@linestipple@Line loop,Fail
spec@!opengl 1.1@linestipple@Line strip,Fail
spec@!opengl 1.1@linestipple@Restarting lines within a single Begin-End block,Fail
spec@!opengl 2.1@pbo,Fail
spec@!opengl 2.1@pbo@test_polygon_stip,Fail
spec@!opengl 2.1@polygon-stipple-fs,Fail
# Need to specify more formats as renderable (L/I/LA formats are all renderable on e.g. nouveau)
spec@ext_packed_float@query-rgba-signed-components,Fail
@ -317,8 +306,6 @@ shaders@point-vertex-id gl_vertexid,Crash
shaders@point-vertex-id gl_vertexid divisor,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Crash
spec@!opengl 1.0@gl-1.0-edgeflag,Crash
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash
spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
spec@!opengl 1.0@gl-1.0-scissor-offscreen,Fail
spec@!opengl 1.0@rasterpos,Crash
@ -342,8 +329,6 @@ spec@!opengl 1.1@polygon-mode-offset@config 4: Expected white pixel on top edge,
spec@!opengl 1.1@polygon-mode-offset@config 5: Expected blue pixel in center,Fail
spec@!opengl 1.1@polygon-mode-offset@config 6: Expected blue pixel in center,Fail
spec@!opengl 1.4@copy-pixels,Fail
spec@!opengl 2.0@gl-2.0-edgeflag,Crash
spec@!opengl 2.0@gl-2.0-edgeflag-immediate,Crash
spec@!opengl 2.0@occlusion-query-discard,Crash
spec@!opengl 3.0@gl-3.0-texture-integer,Fail
spec@!opengl 3.1@primitive-restart-xfb flush,Fail

View File

@ -37,3 +37,11 @@ fbo-maxsize
max-texture-size
tex3d-maxsize
copypixels-draw-sync
# Unsupported legacy gl features
.*edgeflag.*
.*stipple.*
# uses edgeflags:
shaders@point-vertex-id.*
# uses stipple:
spec@!opengl 1.0@gl-1.0-no-op-paths

View File

@ -146,10 +146,6 @@ spec@!opengl 1.0@depth-clear-precision-check@depth32,Fail
spec@!opengl 1.0@depth-clear-precision-check@depth24_stencil8,Fail
spec@!opengl 1.0@depth-clear-precision-check,Fail
# MESA: error: unknown vertex shader output name: VARYING_SLOT_EDGE
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash
spec@!opengl 2.0@gl-2.0-edgeflag,Crash
spec@!opengl 1.0@rasterpos,Crash
spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
@ -160,22 +156,12 @@ spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=4,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=2,Fail
spec@!opengl 1.1@depthstencil-default_fb-readpixels-32f_24_8_rev samples=2,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
spec@!opengl 1.1@linestipple@Restarting lines within a single Begin-End block,Fail
spec@!opengl 1.1@linestipple@Line strip,Fail
spec@!opengl 1.1@linestipple@Line loop,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@polygon-mode,Fail
spec@!opengl 1.1@ppgtt_memory_alignment,Crash
spec@!opengl 1.4@copy-pixels,Fail
spec@!opengl 2.0@max-samplers border,Fail
spec@!opengl 2.1@polygon-stipple-fs,Fail
spec@!opengl 3.0@clearbuffer-depth,Fail
spec@!opengl 3.0@clearbuffer-stencil,Fail

View File

@ -106,3 +106,11 @@ glx@glx-visuals-stencil.*
# Faults in a way that makes other tests flaky
# msm_mdp 901000.display-controller: [drm:a5xx_irq] *ERROR* gpu fault ring 2 fence bc846 status 800001C1 rb 004a/004a ib1 000000000634F000/0000 ib2 000000000AA27000/0000
KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions
# Unsupported legacy gl features
.*edgeflag.*
.*stipple.*
# uses edgeflags:
shaders@point-vertex-id.*
# uses stipple:
spec@!opengl 1.0@gl-1.0-no-op-paths

View File

@ -46,20 +46,6 @@ glx@glx-swap-pixmap-bad,Fail
# "../src/freedreno/ir3/ir3_shader.h:968:ir3_link_add: Assertion `i < ARRAY_SIZE(l->var)' failed."
shaders@glsl-max-varyings >max_varying_components,Crash
# "MESA: error: unknown vertex shader output name: VARYING_SLOT_EDGE
# gl-2.0-edgeflag: ../src/freedreno/ir3/ir3_context.c:411: ir3_context_error: Assertion `!""' failed."
shaders@point-vertex-id divisor,Crash
shaders@point-vertex-id gl_instanceid,Crash
shaders@point-vertex-id gl_instanceid divisor,Crash
shaders@point-vertex-id gl_vertexid,Crash
shaders@point-vertex-id gl_vertexid divisor,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Crash
spec@!opengl 2.0@gl-2.0-edgeflag,Crash
spec@!opengl 2.0@gl-2.0-edgeflag-immediate,Crash
spec@!opengl 1.0@gl-1.0-edgeflag,Crash
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash
spec@arb_depth_buffer_float@fbo-clear-formats stencil,Fail
spec@arb_depth_buffer_float@fbo-clear-formats stencil@GL_DEPTH32F_STENCIL8,Fail
spec@arb_depth_buffer_float@fbo-generatemipmap-formats,Fail
@ -252,12 +238,6 @@ spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
# crash in tgsi exec doing st_freedback_draw_vbo().
spec@!opengl 1.0@rasterpos,Crash
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Line loop,Fail
spec@!opengl 1.1@linestipple@Line strip,Fail
spec@!opengl 1.1@linestipple@Restarting lines within a single Begin-End block,Fail
spec@!opengl 1.1@polygon-mode-facing,Fail
spec@!opengl 1.1@polygon-mode,Fail
spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on bottom edge,Fail
@ -278,7 +258,6 @@ spec@!opengl 1.4@gl-1.4-polygon-offset,Fail
spec@!opengl 2.1@pbo,Fail
spec@!opengl 2.1@pbo@test_polygon_stip,Fail
spec@!opengl 2.1@polygon-stipple-fs,Fail
spec@!opengl 3.2@gl-3.2-adj-prims cull-back pv-first,Fail
spec@!opengl 3.2@gl-3.2-adj-prims cull-front pv-first,Fail
spec@!opengl 3.2@gl-3.2-adj-prims line cull-back pv-first,Fail

View File

@ -53,20 +53,6 @@ glx@glx-swap-pixmap-bad,Fail
# "../src/freedreno/ir3/ir3_shader.h:968:ir3_link_add: Assertion `i < ARRAY_SIZE(l->var)' failed."
shaders@glsl-max-varyings >max_varying_components,Crash
# "MESA: error: unknown vertex shader output name: VARYING_SLOT_EDGE
# gl-2.0-edgeflag: ../src/freedreno/ir3/ir3_context.c:411: ir3_context_error: Assertion `!""' failed."
shaders@point-vertex-id divisor,Crash
shaders@point-vertex-id gl_instanceid,Crash
shaders@point-vertex-id gl_instanceid divisor,Crash
shaders@point-vertex-id gl_vertexid,Crash
shaders@point-vertex-id gl_vertexid divisor,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid,Crash
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Crash
spec@!opengl 2.0@gl-2.0-edgeflag,Crash
spec@!opengl 2.0@gl-2.0-edgeflag-immediate,Crash
spec@!opengl 1.0@gl-1.0-edgeflag,Crash
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash
spec@arb_depth_buffer_float@fbo-clear-formats stencil,Fail
spec@arb_depth_buffer_float@fbo-clear-formats stencil@GL_DEPTH32F_STENCIL8,Fail
spec@arb_depth_buffer_float@fbo-generatemipmap-formats,Fail
@ -252,18 +238,9 @@ spec@khr_texture_compression_astc@sliced-3d-miptree-gl hdr@HDR Profile,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3@oes_egl_image_external_essl3_imageStore,Fail
spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
# "Failure with Polygon Stipple set to fail mode."
spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
# crash in tgsi exec doing st_freedback_draw_vbo().
spec@!opengl 1.0@rasterpos,Crash
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Line loop,Fail
spec@!opengl 1.1@linestipple@Line strip,Fail
spec@!opengl 1.1@linestipple@Restarting lines within a single Begin-End block,Fail
spec@!opengl 1.1@polygon-mode-facing,Fail
spec@!opengl 1.1@polygon-mode,Fail
spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on bottom edge,Fail
@ -284,7 +261,6 @@ spec@!opengl 1.4@gl-1.4-polygon-offset,Fail
spec@!opengl 2.1@pbo,Fail
spec@!opengl 2.1@pbo@test_polygon_stip,Fail
spec@!opengl 2.1@polygon-stipple-fs,Fail
spec@!opengl 3.2@gl-3.2-adj-prims cull-back pv-first,Fail
spec@!opengl 3.2@gl-3.2-adj-prims cull-front pv-first,Fail
spec@!opengl 3.2@gl-3.2-adj-prims line cull-back pv-first,Fail
@ -309,9 +285,6 @@ spec@arb_query_buffer_object@coherency@indirect-draw-count-GL_TESS_CONTROL_SHADE
spec@arb_query_buffer_object@coherency@indirect-draw-count-GL_TESS_EVALUATION_SHADER_INVOCATIONS,Fail
spec@arb_query_buffer_object@coherency@indirect-draw-count-GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-01,Crash
spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-02,Crash

View File

@ -36,3 +36,15 @@ spec@arb_buffer_storage@bufferstorage-persistent_gles3 read coherent client-stor
# on CI runtime:
spec@nv_copy_image@nv_copy_image.*
# Legacy gl features unsupported by hw. We _could_ emulate it with a GS
# at the cost of extra per-draw overhead for all users.
#
# If we find any non-piglit users of these features, then maybe a driconf
# way to force fall-over to zink for that app could make sense. Until
# then, just pretend that this stuff doesn't exist:
.*edgeflag.*
.*stipple.*
# uses edgeflags:
shaders@point-vertex-id.*
# uses stipple:
spec@!opengl 1.0@gl-1.0-no-op-paths