From 242a591d4c077603bc40d5cd00fda16335ba04e1 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 21 Mar 2024 07:51:20 -0700 Subject: [PATCH] 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 Part-of: --- src/freedreno/ci/freedreno-a307-fails.txt | 11 --------- src/freedreno/ci/freedreno-a307-skips.txt | 8 +++++++ src/freedreno/ci/freedreno-a420-fails.txt | 15 ------------- src/freedreno/ci/freedreno-a420-skips.txt | 8 +++++++ src/freedreno/ci/freedreno-a530-fails.txt | 14 ------------ src/freedreno/ci/freedreno-a530-skips.txt | 8 +++++++ src/freedreno/ci/freedreno-a618-fails.txt | 21 ------------------ src/freedreno/ci/freedreno-a630-fails.txt | 27 ----------------------- src/freedreno/ci/freedreno-a6xx-skips.txt | 12 ++++++++++ 9 files changed, 36 insertions(+), 88 deletions(-) diff --git a/src/freedreno/ci/freedreno-a307-fails.txt b/src/freedreno/ci/freedreno-a307-fails.txt index 3b10791012b..d53e2efd534 100644 --- a/src/freedreno/ci/freedreno-a307-fails.txt +++ b/src/freedreno/ci/freedreno-a307-fails.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a307-skips.txt b/src/freedreno/ci/freedreno-a307-skips.txt index e625a15a44b..432c786e826 100644 --- a/src/freedreno/ci/freedreno-a307-skips.txt +++ b/src/freedreno/ci/freedreno-a307-skips.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a420-fails.txt b/src/freedreno/ci/freedreno-a420-fails.txt index 9c65b7cc604..394e05ca114 100644 --- a/src/freedreno/ci/freedreno-a420-fails.txt +++ b/src/freedreno/ci/freedreno-a420-fails.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a420-skips.txt b/src/freedreno/ci/freedreno-a420-skips.txt index 2183d7bae4a..087b63dcc2b 100644 --- a/src/freedreno/ci/freedreno-a420-skips.txt +++ b/src/freedreno/ci/freedreno-a420-skips.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a530-fails.txt b/src/freedreno/ci/freedreno-a530-fails.txt index 1a58b2fefde..7ee6501ddcb 100644 --- a/src/freedreno/ci/freedreno-a530-fails.txt +++ b/src/freedreno/ci/freedreno-a530-fails.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a530-skips.txt b/src/freedreno/ci/freedreno-a530-skips.txt index 041d6aacda3..4fd3c6ba6b7 100644 --- a/src/freedreno/ci/freedreno-a530-skips.txt +++ b/src/freedreno/ci/freedreno-a530-skips.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index 1ecb204f8ce..6466ef6d07d 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 5b4eb9f6760..1ed62c3be2c 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -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 diff --git a/src/freedreno/ci/freedreno-a6xx-skips.txt b/src/freedreno/ci/freedreno-a6xx-skips.txt index 8ceb68a7521..8cb2f12ddfe 100644 --- a/src/freedreno/ci/freedreno-a6xx-skips.txt +++ b/src/freedreno/ci/freedreno-a6xx-skips.txt @@ -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