From c10a9372d6ec3511526a885a53cd841f25c83e2c Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Wed, 6 Jul 2022 11:47:00 +0200 Subject: [PATCH] v3d: implement NV_conditional_render extension The hardware doesn't support native conditional rendering, so it is implemented by software. Code borrowed from Freedreno and Panfrost. Signed-off-by: Juan A. Suarez Romero Signed-off-by: Eric Engestrom Reviewed-by: Alyssa Rosenzweig Reviewed-by: Eric Engestrom Part-of: --- docs/features.txt | 2 +- src/broadcom/ci/broadcom-rpi4-fails.txt | 308 +++++++++++++++++++++++++------ src/broadcom/ci/broadcom-rpi4-flakes.txt | 1 + src/broadcom/ci/broadcom-rpi4-skips.txt | 9 + src/gallium/drivers/v3d/v3d_blit.c | 18 +- src/gallium/drivers/v3d/v3d_context.c | 20 ++ src/gallium/drivers/v3d/v3d_context.h | 8 +- src/gallium/drivers/v3d/v3d_query.c | 14 ++ src/gallium/drivers/v3d/v3d_screen.c | 2 + src/gallium/drivers/v3d/v3dx_draw.c | 11 +- 10 files changed, 330 insertions(+), 63 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index bf3a3d6..31a05e3 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -39,7 +39,7 @@ Feature Status GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost glBindFragDataLocation, glGetFragDataLocation DONE - GL_NV_conditional_render (Conditional rendering) DONE (asahi) + GL_NV_conditional_render (Conditional rendering) DONE (asahi, v3d) GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, vc4, lima, asahi) GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, vc4, lima, asahi) GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d, asahi) diff --git a/src/broadcom/ci/broadcom-rpi4-fails.txt b/src/broadcom/ci/broadcom-rpi4-fails.txt index 8e05345..ba43c5e 100644 --- a/src/broadcom/ci/broadcom-rpi4-fails.txt +++ b/src/broadcom/ci/broadcom-rpi4-fails.txt @@ -1,6 +1,5 @@ glx@glx-make-current,Crash glx@glx-multi-window-single-context,Fail -glx@glx-multithread-buffer,Fail glx@glx-swap-pixmap-bad,Fail glx@glx-visuals-depth -pixmap,Crash glx@glx-visuals-stencil -pixmap,Crash @@ -16,23 +15,30 @@ glx@glx_ext_import_context@make current- multi process,Fail glx@glx_ext_import_context@make current- single process,Fail glx@glx_ext_import_context@query context info,Fail shaders@glsl-bug-110796,Fail -spec@!opengl 1.0@gl-1.0-bitmap-heart-dance,Fail +shaders@point-vertex-id divisor,Fail +shaders@point-vertex-id gl_instanceid divisor,Fail +shaders@point-vertex-id gl_instanceid,Fail +shaders@point-vertex-id gl_vertexid divisor,Fail +shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Fail +shaders@point-vertex-id gl_vertexid gl_instanceid,Fail +shaders@point-vertex-id gl_vertexid,Fail spec@!opengl 1.0@gl-1.0-edgeflag,Fail spec@!opengl 1.0@gl-1.0-edgeflag-const,Fail spec@!opengl 1.0@gl-1.0-edgeflag-quads,Fail spec@!opengl 1.0@gl-1.0-no-op-paths,Fail spec@!opengl 1.0@gl-1.0-spot-light,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-drawpixels-24_8 samples=2,Fail spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=4,Fail spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=2,Fail 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@getteximage-depth,Fail +spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT,Fail spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT16,Fail spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT24,Fail spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT32,Fail -spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT,Fail spec@!opengl 1.1@getteximage-formats,Fail spec@!opengl 1.1@linestipple,Fail spec@!opengl 1.1@linestipple@Factor 2x,Fail @@ -42,6 +48,7 @@ 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@point-line-no-cull,Fail spec@!opengl 1.1@polygon-mode,Fail +spec@!opengl 1.1@polygon-mode-facing,Fail spec@!opengl 1.1@polygon-mode-offset,Fail spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on bottom edge,Fail spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on left edge,Fail @@ -67,18 +74,8 @@ spec@!opengl 1.1@polygon-mode-offset@config 5: Expected white pixel on top edge, spec@!opengl 1.1@polygon-mode-offset@config 6: Expected blue pixel in center,Fail spec@!opengl 1.1@polygon-mode-offset@config 6: Expected white pixel on right edge,Fail spec@!opengl 1.1@polygon-mode-offset@config 6: Expected white pixel on top edge,Fail +spec@!opengl 1.1@teximage-colors gl_alpha16@Exact upload-download of GL_ALPHA16,Fail spec@!opengl 1.1@texwrap formats bordercolor,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_INTENSITY12- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_INTENSITY16- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12_ALPHA12- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12_ALPHA4- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE16- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE16_ALPHA16- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_RGB12- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_RGB16- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_RGBA12- border color only,Fail -spec@!opengl 1.1@texwrap formats bordercolor@GL_RGBA16- border color only,Fail spec@!opengl 1.1@texwrap formats bordercolor-swizzled,Fail spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_INTENSITY12- swizzled- border color only,Fail spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_INTENSITY16- swizzled- border color only,Fail @@ -91,57 +88,160 @@ spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_RGB12- swizzled- border spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_RGB16- swizzled- border color only,Fail spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_RGBA12- swizzled- border color only,Fail spec@!opengl 1.1@texwrap formats bordercolor-swizzled@GL_RGBA16- swizzled- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_INTENSITY12- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_INTENSITY16- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12_ALPHA12- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE12_ALPHA4- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE16- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_LUMINANCE16_ALPHA16- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_RGB12- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_RGB16- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_RGBA12- border color only,Fail +spec@!opengl 1.1@texwrap formats bordercolor@GL_RGBA16- border color only,Fail spec@!opengl 1.4@gl-1.4-polygon-offset,Fail spec@!opengl 2.0@gl-2.0-edgeflag,Fail spec@!opengl 2.0@gl-2.0-edgeflag-immediate,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.0@bindfragdata-link-error,Fail +spec@!opengl 3.0@bindfragdata-nonexistent-variable,Fail +spec@!opengl 3.0@clearbuffer-mixed-format,Fail +spec@!opengl 3.0@getfragdatalocation,Fail +spec@!opengl 3.0@gl-3.0-texture-integer,Fail +spec@!opengl 3.0@minmax,Fail +spec@!opengl 3.0@render-integer,Fail +spec@!opengl 3.0@render-integer@GL_R8I,Fail +spec@!opengl 3.0@render-integer@GL_R8UI,Fail +spec@!opengl 3.0@render-integer@GL_RG8I,Fail +spec@!opengl 3.0@render-integer@GL_RG8UI,Fail +spec@!opengl 3.0@render-integer@GL_RGB8I,Fail +spec@!opengl 3.0@render-integer@GL_RGB8UI,Fail +spec@!opengl 3.0@render-integer@GL_RGBA8I,Fail +spec@!opengl 3.0@render-integer@GL_RGBA8UI,Fail +spec@!opengl 3.0@required-texture-attachment-formats,Fail +spec@!opengl 3.0@sampler-cube-shadow,Fail +spec@!opengl 3.1@minmax,Fail +spec@!opengl 3.1@primitive-restart-xfb flush,Fail +spec@!opengl 3.1@primitive-restart-xfb generated,Fail +spec@!opengl 3.1@required-texture-attachment-formats,Fail spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object,Fail spec@arb_color_buffer_float@gl_rgba32f-render,Fail spec@arb_color_buffer_float@gl_rgba32f-render-fog,Fail spec@arb_color_buffer_float@gl_rgba32f-render-sanity,Fail spec@arb_color_buffer_float@gl_rgba32f-render-sanity-fog,Fail spec@arb_compute_shader@minmax,Fail +spec@arb_copy_image@arb_copy_image-formats,Fail +spec@arb_copy_image@arb_copy_image-formats@Source: GL_ALPHA16/Destination: GL_ALPHA16,Fail spec@arb_depth_buffer_float@fbo-generatemipmap-formats,Fail -spec@arb_depth_buffer_float@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32F,Fail spec@arb_depth_buffer_float@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32F NPOT,Fail +spec@arb_depth_buffer_float@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32F,Fail spec@arb_depth_buffer_float@texwrap formats bordercolor,Fail -spec@arb_depth_buffer_float@texwrap formats bordercolor@GL_DEPTH32F_STENCIL8- border color only,Fail -spec@arb_depth_buffer_float@texwrap formats bordercolor@GL_DEPTH_COMPONENT32F- border color only,Fail spec@arb_depth_buffer_float@texwrap formats bordercolor-swizzled,Fail spec@arb_depth_buffer_float@texwrap formats bordercolor-swizzled@GL_DEPTH32F_STENCIL8- swizzled- border color only,Fail spec@arb_depth_buffer_float@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT32F- swizzled- border color only,Fail +spec@arb_depth_buffer_float@texwrap formats bordercolor@GL_DEPTH32F_STENCIL8- border color only,Fail +spec@arb_depth_buffer_float@texwrap formats bordercolor@GL_DEPTH_COMPONENT32F- border color only,Fail +spec@arb_depth_buffer_float@texwrap formats offset,Fail +spec@arb_depth_buffer_float@texwrap formats offset@GL_DEPTH32F_STENCIL8- NPOT,Fail +spec@arb_depth_buffer_float@texwrap formats offset@GL_DEPTH_COMPONENT32F- NPOT,Fail spec@arb_depth_buffer_float@texwrap formats,Fail spec@arb_depth_buffer_float@texwrap formats@GL_DEPTH32F_STENCIL8- NPOT,Fail spec@arb_depth_buffer_float@texwrap formats@GL_DEPTH_COMPONENT32F- NPOT,Fail spec@arb_depth_texture@fbo-generatemipmap-formats,Fail -spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT16,Fail +spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT NPOT,Fail +spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT,Fail spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT16 NPOT,Fail -spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT24,Fail +spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT16,Fail spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT24 NPOT,Fail -spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32,Fail +spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT24,Fail spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32 NPOT,Fail -spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT,Fail -spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT NPOT,Fail +spec@arb_depth_texture@fbo-generatemipmap-formats@GL_DEPTH_COMPONENT32,Fail spec@arb_depth_texture@texwrap formats bordercolor,Fail -spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT16- border color only,Fail -spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT24- border color only,Fail -spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT32- border color only,Fail spec@arb_depth_texture@texwrap formats bordercolor-swizzled,Fail spec@arb_depth_texture@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT16- swizzled- border color only,Fail spec@arb_depth_texture@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT24- swizzled- border color only,Fail spec@arb_depth_texture@texwrap formats bordercolor-swizzled@GL_DEPTH_COMPONENT32- swizzled- border color only,Fail +spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT16- border color only,Fail +spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT24- border color only,Fail +spec@arb_depth_texture@texwrap formats bordercolor@GL_DEPTH_COMPONENT32- border color only,Fail +spec@arb_depth_texture@texwrap formats offset,Fail +spec@arb_depth_texture@texwrap formats offset@GL_DEPTH_COMPONENT16- NPOT,Fail +spec@arb_depth_texture@texwrap formats offset@GL_DEPTH_COMPONENT24- NPOT,Fail +spec@arb_depth_texture@texwrap formats offset@GL_DEPTH_COMPONENT32- NPOT,Fail spec@arb_depth_texture@texwrap formats,Fail spec@arb_depth_texture@texwrap formats@GL_DEPTH_COMPONENT16- NPOT,Fail spec@arb_depth_texture@texwrap formats@GL_DEPTH_COMPONENT24- NPOT,Fail spec@arb_depth_texture@texwrap formats@GL_DEPTH_COMPONENT32- NPOT,Fail -spec@arb_framebuffer_object@fbo-drawbuffers-none use_frag_out,Fail +spec@arb_direct_state_access@gettextureimage-formats init-by-rendering,Fail +spec@arb_direct_state_access@gettextureimage-formats,Fail +spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail spec@arb_point_sprite@arb_point_sprite-checkerboard,Fail spec@arb_point_sprite@arb_point_sprite-mipmap,Fail +spec@arb_separate_shader_objects@atomic counter,Fail +spec@arb_shader_atomic_counters@fragment-discard,Fail spec@arb_shader_storage_buffer_object@compiler@atomicmin-swizzle.vert,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgrad,Fail spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail +spec@arb_texture_buffer_object@formats (fs- arb),Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_ALPHA16F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_ALPHA32F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY16F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY16I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY32F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY32I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY8I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_INTENSITY8UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE16F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE16I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE32F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE32I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE8I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE8UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA16F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA16I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA32F_ARB,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA32I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA8I_EXT,Fail +spec@arb_texture_buffer_object@formats (fs- arb)@GL_LUMINANCE_ALPHA8UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb),Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_ALPHA16F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_ALPHA32F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY16F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY16I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY32F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY32I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY8I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_INTENSITY8UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE16F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE16I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE32F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE32I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE8I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE8UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA16F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA16I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA16UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA32F_ARB,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA32I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA32UI_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA8I_EXT,Fail +spec@arb_texture_buffer_object@formats (vs- arb)@GL_LUMINANCE_ALPHA8UI_EXT,Fail +spec@arb_texture_buffer_object@texture-buffer-size-clamp,Fail +spec@arb_texture_buffer_object@texture-buffer-size-clamp@r8ui_texture_buffer_size_via_sampler,Fail +spec@arb_texture_buffer_object@texture-buffer-size-clamp@rg8ui_texture_buffer_size_via_sampler,Fail +spec@arb_texture_buffer_object@texture-buffer-size-clamp@rgba8ui_texture_buffer_size_via_sampler,Fail spec@arb_texture_float@fbo-blending-formats,Fail spec@arb_texture_float@fbo-blending-formats@GL_ALPHA32F_ARB,Fail spec@arb_texture_float@fbo-blending-formats@GL_INTENSITY32F_ARB,Fail @@ -151,12 +251,6 @@ spec@arb_texture_float@fbo-blending-formats@GL_RGB16F,Fail spec@arb_texture_float@fbo-blending-formats@GL_RGB32F,Fail spec@arb_texture_float@fbo-blending-formats@GL_RGBA32F,Fail spec@arb_texture_float@texwrap formats bordercolor,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_ALPHA32F_ARB- border color only,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_INTENSITY32F_ARB- border color only,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_LUMINANCE32F_ARB- border color only,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_LUMINANCE_ALPHA32F_ARB- border color only,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_RGB32F- border color only,Fail -spec@arb_texture_float@texwrap formats bordercolor@GL_RGBA32F- border color only,Fail spec@arb_texture_float@texwrap formats bordercolor-swizzled,Fail spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_ALPHA32F_ARB- swizzled- border color only,Fail spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_INTENSITY32F_ARB- swizzled- border color only,Fail @@ -164,25 +258,69 @@ spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_LUMINANCE32F_ARB- spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_LUMINANCE_ALPHA32F_ARB- swizzled- border color only,Fail spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_RGB32F- swizzled- border color only,Fail spec@arb_texture_float@texwrap formats bordercolor-swizzled@GL_RGBA32F- swizzled- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_ALPHA32F_ARB- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_INTENSITY32F_ARB- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_LUMINANCE32F_ARB- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_LUMINANCE_ALPHA32F_ARB- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_RGB32F- border color only,Fail +spec@arb_texture_float@texwrap formats bordercolor@GL_RGBA32F- border color only,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch.*,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_R16I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_R16_SNORM,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_R32I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_R8I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_R8_SNORM,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG16F,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG16I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG16_SNORM,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG32F,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG32I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG8I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RG8_SNORM,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB10,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB10_A2,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB10_A2UI,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB16I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB16_SNORM,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB32I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB4,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB8,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB8I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB9_E5,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA16,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA16F,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA16I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA32F,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA32I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA4,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA8,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGBA8I,Fail +spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_SRGB8_ALPHA8,Fail spec@arb_texture_rectangle@1-1-linear-texture,Fail spec@arb_texture_rg@fbo-blending-formats-float,Fail spec@arb_texture_rg@fbo-blending-formats-float@GL_R32F,Fail spec@arb_texture_rg@fbo-blending-formats-float@GL_RG32F,Fail spec@arb_texture_rg@texwrap formats bordercolor,Fail -spec@arb_texture_rg@texwrap formats bordercolor@GL_R16- border color only,Fail -spec@arb_texture_rg@texwrap formats bordercolor@GL_RG16- border color only,Fail spec@arb_texture_rg@texwrap formats bordercolor-swizzled,Fail spec@arb_texture_rg@texwrap formats bordercolor-swizzled@GL_R16- swizzled- border color only,Fail spec@arb_texture_rg@texwrap formats bordercolor-swizzled@GL_RG16- swizzled- border color only,Fail +spec@arb_texture_rg@texwrap formats bordercolor@GL_R16- border color only,Fail +spec@arb_texture_rg@texwrap formats bordercolor@GL_RG16- border color only,Fail spec@arb_texture_rg@texwrap formats-float bordercolor,Fail -spec@arb_texture_rg@texwrap formats-float bordercolor@GL_R32F- border color only,Fail -spec@arb_texture_rg@texwrap formats-float bordercolor@GL_RG32F- border color only,Fail spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled,Fail spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_R32F- swizzled- border color only,Fail spec@arb_texture_rg@texwrap formats-float bordercolor-swizzled@GL_RG32F- swizzled- border color only,Fail +spec@arb_texture_rg@texwrap formats-float bordercolor@GL_R32F- border color only,Fail +spec@arb_texture_rg@texwrap formats-float bordercolor@GL_RG32F- border color only,Fail +spec@arb_texture_rg@texwrap formats-float offset,Fail +spec@arb_texture_rg@texwrap formats-float offset@GL_R32F- NPOT,Fail +spec@arb_texture_rg@texwrap formats-float offset@GL_RG32F- NPOT,Fail spec@arb_texture_rg@texwrap formats-float,Fail spec@arb_texture_rg@texwrap formats-float@GL_R32F- NPOT,Fail spec@arb_texture_rg@texwrap formats-float@GL_RG32F- NPOT,Fail +spec@arb_texture_storage@texture-storage@cube array texture,Fail +spec@arb_texture_view@rendering-formats,Crash spec@egl 1.4@eglterminate then unbind context,Fail spec@egl_ext_protected_content@conformance,Fail spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24,Fail @@ -198,20 +336,20 @@ spec@ext_framebuffer_object@getteximage-formats init-by-rendering,Fail spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-isampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-sampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-usampler1darray,Fail +spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-isampler1darray,Fail +spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-sampler1darray,Fail +spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-usampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-isampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-sampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-usampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-isampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-sampler1darray,Fail spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-usampler1darray,Fail -spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-isampler1darray,Fail -spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-sampler1darray,Fail -spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-usampler1darray,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() 1darray,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() 1darrayshadow,Fail +spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() cubeshadow,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture(bias) 1darray,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture(bias) 1darrayshadow,Fail -spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() cubeshadow,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegrad 1darray,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegrad 1darrayshadow,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegradoffset 1darray,Fail @@ -223,26 +361,46 @@ spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturelodoffset 1darrayshadow,F spec@ext_gpu_shader4@tex-miplevel-selection gpu4textureoffset 1darray,Fail spec@ext_gpu_shader4@tex-miplevel-selection gpu4textureoffset 1darrayshadow,Fail spec@ext_packed_depth_stencil@texwrap formats bordercolor,Fail -spec@ext_packed_depth_stencil@texwrap formats bordercolor@GL_DEPTH24_STENCIL8- border color only,Fail spec@ext_packed_depth_stencil@texwrap formats bordercolor-swizzled,Fail spec@ext_packed_depth_stencil@texwrap formats bordercolor-swizzled@GL_DEPTH24_STENCIL8- swizzled- border color only,Fail +spec@ext_packed_depth_stencil@texwrap formats bordercolor@GL_DEPTH24_STENCIL8- border color only,Fail +spec@ext_packed_depth_stencil@texwrap formats offset,Fail +spec@ext_packed_depth_stencil@texwrap formats offset@GL_DEPTH24_STENCIL8- NPOT,Fail spec@ext_packed_depth_stencil@texwrap formats,Fail spec@ext_packed_depth_stencil@texwrap formats@GL_DEPTH24_STENCIL8- NPOT,Fail spec@ext_packed_float@query-rgba-signed-components,Fail spec@ext_texture_array@fbo-generatemipmap-array rgb9_e5,Fail spec@ext_texture_array@fbo-generatemipmap-array,Fail +spec@ext_texture_integer@fbo-blending,Fail spec@ext_texture_integer@getteximage-clamping gl_arb_texture_rg,Fail spec@ext_texture_integer@getteximage-clamping,Fail +spec@ext_texture_integer@multisample-fast-clear gl_ext_texture_integer,Crash +spec@ext_texture_integer@multisample-formats 2 gl_ext_texture_integer,Crash +spec@ext_texture_integer@multisample-formats 4 gl_ext_texture_integer,Crash +spec@ext_texture_integer@texwrap formats bordercolor,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA16I_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA16UI_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA32I_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA32UI_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA8I_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor-swizzled@GL_ALPHA8UI_EXT- swizzled- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA16I_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA16UI_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA32I_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA32UI_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA8I_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats bordercolor@GL_ALPHA8UI_EXT- border color only,Fail +spec@ext_texture_integer@texwrap formats offset,Fail +spec@ext_texture_integer@texwrap formats offset@GL_ALPHA8I_EXT,Fail +spec@ext_texture_integer@texwrap formats offset@GL_ALPHA8I_EXT- NPOT,Fail +spec@ext_texture_integer@texwrap formats offset@GL_ALPHA8I_EXT- swizzled,Fail +spec@ext_texture_integer@texwrap formats,Fail +spec@ext_texture_integer@texwrap formats@GL_ALPHA8I_EXT,Fail +spec@ext_texture_integer@texwrap formats@GL_ALPHA8I_EXT- NPOT,Fail +spec@ext_texture_integer@texwrap formats@GL_ALPHA8I_EXT- swizzled,Fail spec@ext_texture_lod_bias@lodbias,Fail spec@ext_texture_snorm@texwrap formats bordercolor,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_ALPHA16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_INTENSITY16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_LUMINANCE16_ALPHA16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_LUMINANCE16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_R16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_RG16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_RGB16_SNORM- border color only,Fail -spec@ext_texture_snorm@texwrap formats bordercolor@GL_RGBA16_SNORM- border color only,Fail spec@ext_texture_snorm@texwrap formats bordercolor-swizzled,Fail spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_ALPHA16_SNORM- swizzled- border color only,Fail spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_INTENSITY16_SNORM- swizzled- border color only,Fail @@ -252,7 +410,20 @@ spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_R16_SNORM- swizzl spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_RG16_SNORM- swizzled- border color only,Fail spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_RGB16_SNORM- swizzled- border color only,Fail spec@ext_texture_snorm@texwrap formats bordercolor-swizzled@GL_RGBA16_SNORM- swizzled- border color only,Fail -spec@arb_texture_storage@texture-storage@cube array texture,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_ALPHA16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_INTENSITY16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_LUMINANCE16_ALPHA16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_LUMINANCE16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_R16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_RG16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_RGB16_SNORM- border color only,Fail +spec@ext_texture_snorm@texwrap formats bordercolor@GL_RGBA16_SNORM- border color only,Fail +spec@ext_transform_feedback@tessellation line_loop flat_first,Fail +spec@ext_transform_feedback@tessellation line_loop flat_last,Fail +spec@ext_transform_feedback@tessellation line_loop monochrome,Fail +spec@ext_transform_feedback@tessellation line_loop smooth,Fail +spec@ext_transform_feedback@tessellation triangle_fan flat_first,Fail +spec@ext_transform_feedback@tessellation triangle_strip flat_first,Fail spec@glsl-1.10@execution@glsl-fs-inline-explosion,Crash spec@glsl-1.10@execution@glsl-vs-inline-explosion,Crash spec@glsl-1.20@compiler@invalid-vec4-array-to-vec3-array-conversion.vert,Fail @@ -263,6 +434,8 @@ spec@khr_texture_compression_astc@miptree-gles srgb-fp,Fail spec@khr_texture_compression_astc@miptree-gles srgb-fp@sRGB decode full precision,Fail spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail +spec@nv_copy_image@nv_copy_image-formats,Fail +spec@nv_copy_image@nv_copy_image-formats@Source: GL_ALPHA16/Destination: GL_ALPHA16,Fail spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d-array.frag,Fail spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d-array.vert,Fail spec@nv_image_formats@compiler@declaration-disallow-r16-snorm-2d.frag,Fail @@ -316,9 +489,6 @@ spec@oes_egl_image_external_essl3@oes_egl_image_external_essl3,Crash spec@oes_point_sprite@arb_point_sprite-checkerboard_gles1,Fail spec@oes_shader_io_blocks@compiler@layout-location-aliasing.vert,Fail -# Seems a bug in the test; it works if overriding GL version to 2.1 -spec@arb_texture_buffer_range@ranges-2 compat,Fail - # Precission differences between expected and obtained; works if # exporting V3D_DEBUG=tmu32. spec@oes_texture_view@rendering-formats,Fail @@ -361,6 +531,38 @@ spec@!opengl 1.1@line-smooth-stipple,Fail # Works when run individually, but fail consistently on the CI dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rgba32i_cube,Fail +# https://gerrit.khronos.org/c/vk-gl-cts/+/11229 +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_no_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_no_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_no_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb565_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb565_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb565_no_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_no_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_no_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_stencil,Fail +wayland-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_no_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_depth_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb888_no_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_depth_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_30.rgba8888_no_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_no_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_no_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_stencil,Fail +x11-dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_no_depth_no_stencil,Fail + # New CTS failures in 1.3.5.0 dEQP-VK.api.buffer_view.access.uniform_texel_buffer.b8g8r8a8_unorm,Fail dEQP-VK.query_pool.occlusion_query.get_results_conservative_size_32_wait_query_without_availability_draw_points_clear_color,Fail diff --git a/src/broadcom/ci/broadcom-rpi4-flakes.txt b/src/broadcom/ci/broadcom-rpi4-flakes.txt index 266d966..577f567 100644 --- a/src/broadcom/ci/broadcom-rpi4-flakes.txt +++ b/src/broadcom/ci/broadcom-rpi4-flakes.txt @@ -8,6 +8,7 @@ spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=2 spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=4 spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=4 spec@arb_occlusion_query@occlusion_query_order +spec@arb_texture_multisample@large-float-texture spec@egl_chromium_sync_control@conformance # Seen this one flake a few times already diff --git a/src/broadcom/ci/broadcom-rpi4-skips.txt b/src/broadcom/ci/broadcom-rpi4-skips.txt index 1245e5e..b21290d 100644 --- a/src/broadcom/ci/broadcom-rpi4-skips.txt +++ b/src/broadcom/ci/broadcom-rpi4-skips.txt @@ -1,12 +1,17 @@ # Slow tests (> 1 minute to run) spec@!opengl 1.1@streaming-texture-leak spec@!opengl 1.2@tex3d-maxsize +spec@arb_texture_multisample@large-float-texture-array-fp16 +spec@arb_texture_multisample@texelfetch fs sampler2dms 4 1x130-501x130 +spec@arb_texture_multisample@texelfetch fs sampler2dms 4 1x71-501x71 +spec@arb_texture_multisample@texelfetch fs sampler2dmsarray 4 98x1x9-98x129x9 spec@ext_texture_env_combine@texture-env-combine spec@glsl-1.10@execution@loops@glsl-fs-unroll-explosion spec@glsl-1.10@execution@loops@glsl-vs-unroll-explosion spec@!opengl 1.0@gl-1.0-blend-func # Extensions not supported +spec@!opengl 3.2@.* spec@arb_gpu_shader5.* spec@arb_gpu_shader_fp64.* spec@arb_gpu_shader_int64.* @@ -33,6 +38,10 @@ dEQP-VK.api.external.semaphore.sync_fd.import_twice_temporary dEQP-VK.ycbcr.subresource_offset.g8_b8_r8_3plane_420_unorm dEQP-VK.ycbcr.subresource_offset.g8_b8r8_2plane_420_unorm +# Kernel blocks (probably GMP violations) +spec@arb_shading_language_420pack@active sampler conflict +spec@arb_texture_buffer_object@render-no-bo + # Slow tests (> 1 minute to run) dEQP-VK.api.object_management.max_concurrent.query_pool dEQP-VK.binding_model.buffer_device_address.set3.depth3.basessbo.convertcheckuv2.nostore.multi.std140.comp diff --git a/src/gallium/drivers/v3d/v3d_blit.c b/src/gallium/drivers/v3d/v3d_blit.c index a847058..b04882f 100644 --- a/src/gallium/drivers/v3d/v3d_blit.c +++ b/src/gallium/drivers/v3d/v3d_blit.c @@ -37,7 +37,7 @@ */ void -v3d_blitter_save(struct v3d_context *v3d, bool op_blit) +v3d_blitter_save(struct v3d_context *v3d, bool op_blit, bool render_cond) { util_blitter_save_fragment_constant_buffer_slot(v3d->blitter, v3d->constbuf[PIPE_SHADER_FRAGMENT].cb); @@ -67,6 +67,11 @@ v3d_blitter_save(struct v3d_context *v3d, bool op_blit) v3d->tex[PIPE_SHADER_FRAGMENT].num_textures, v3d->tex[PIPE_SHADER_FRAGMENT].textures); } + + if (!render_cond) { + util_blitter_save_render_condition(v3d->blitter, v3d->cond_query, + v3d->cond_cond, v3d->cond_mode); + } } static void @@ -120,7 +125,7 @@ v3d_render_blit(struct pipe_context *ctx, struct pipe_blit_info *info) return; } - v3d_blitter_save(v3d, true); + v3d_blitter_save(v3d, true, info->render_condition_enable); util_blitter_blit(v3d->blitter, info); pipe_resource_reference(&tiled, NULL); @@ -188,7 +193,7 @@ v3d_stencil_blit(struct pipe_context *ctx, struct pipe_blit_info *info) struct pipe_sampler_view *src_view = ctx->create_sampler_view(ctx, &src->base, &src_tmpl); - v3d_blitter_save(v3d, true); + v3d_blitter_save(v3d, true, info->render_condition_enable); util_blitter_blit_generic(v3d->blitter, dst_surf, &info->dst.box, src_view, &info->src.box, src->base.width0, src->base.height0, @@ -775,7 +780,7 @@ v3d_sand8_blit(struct pipe_context *pctx, struct pipe_blit_info *info) assert(info->src.box.width == info->dst.box.width); assert(info->src.box.height == info->dst.box.height); - v3d_blitter_save(v3d, true); + v3d_blitter_save(v3d, true, info->render_condition_enable); struct pipe_surface dst_tmpl; util_blitter_default_dst_texture(&dst_tmpl, info->dst.resource, @@ -1101,7 +1106,7 @@ v3d_sand30_blit(struct pipe_context *pctx, struct pipe_blit_info *info) assert(info->src.box.width == info->dst.box.width); assert(info->src.box.height == info->dst.box.height); - v3d_blitter_save(v3d, true); + v3d_blitter_save(v3d, true, info->render_condition_enable); struct pipe_surface dst_tmpl; util_blitter_default_dst_texture(&dst_tmpl, info->dst.resource, @@ -1181,6 +1186,9 @@ v3d_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info) struct v3d_context *v3d = v3d_context(pctx); struct pipe_blit_info info = *blit_info; + if (info.render_condition_enable && !v3d_render_condition_check(v3d)) + return; + v3d_sand30_blit(pctx, &info); v3d_sand8_blit(pctx, &info); diff --git a/src/gallium/drivers/v3d/v3d_context.c b/src/gallium/drivers/v3d/v3d_context.c index d31ef7c..6dbc2d8 100644 --- a/src/gallium/drivers/v3d/v3d_context.c +++ b/src/gallium/drivers/v3d/v3d_context.c @@ -324,6 +324,26 @@ v3d_get_sample_position(struct pipe_context *pctx, } } +bool +v3d_render_condition_check(struct v3d_context *v3d) +{ + if (!v3d->cond_query) + return true; + + perf_debug("Implementing conditional rendering on the CPU\n"); + + union pipe_query_result res = { 0 }; + bool wait = + v3d->cond_mode != PIPE_RENDER_COND_NO_WAIT && + v3d->cond_mode != PIPE_RENDER_COND_BY_REGION_NO_WAIT; + + struct pipe_context *pctx = (struct pipe_context *)v3d; + if (pctx->get_query_result(pctx, v3d->cond_query, wait, &res)) + return ((bool)res.u64) != v3d->cond_cond; + + return true; +} + struct pipe_context * v3d_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) { diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h index 56157b4..0734718 100644 --- a/src/gallium/drivers/v3d/v3d_context.h +++ b/src/gallium/drivers/v3d/v3d_context.h @@ -617,6 +617,10 @@ struct v3d_context { uint32_t prim_counts_offset; struct v3d_perfmon_state *active_perfmon; struct v3d_perfmon_state *last_perfmon; + + struct pipe_query *cond_query; + bool cond_cond; + enum pipe_render_cond_flag cond_mode; /** @} */ }; @@ -768,7 +772,7 @@ bool v3d_format_supports_tlb_msaa_resolve(const struct v3d_device_info *devinfo, void v3d_init_query_functions(struct v3d_context *v3d); void v3d_blit(struct pipe_context *pctx, const struct pipe_blit_info *blit_info); -void v3d_blitter_save(struct v3d_context *v3d, bool op_blit); +void v3d_blitter_save(struct v3d_context *v3d, bool op_blit, bool render_cond); bool v3d_generate_mipmap(struct pipe_context *pctx, struct pipe_resource *prsc, enum pipe_format format, @@ -809,6 +813,8 @@ void v3d_get_tile_buffer_size(bool is_msaa, uint32_t *tile_height, uint32_t *max_bpp); +bool v3d_render_condition_check(struct v3d_context *v3d); + #ifdef ENABLE_SHADER_CACHE struct v3d_compiled_shader *v3d_disk_cache_retrieve(struct v3d_context *v3d, const struct v3d_key *key); diff --git a/src/gallium/drivers/v3d/v3d_query.c b/src/gallium/drivers/v3d/v3d_query.c index de333bf..db98c89 100644 --- a/src/gallium/drivers/v3d/v3d_query.c +++ b/src/gallium/drivers/v3d/v3d_query.c @@ -105,6 +105,19 @@ v3d_set_active_query_state(struct pipe_context *pctx, bool enable) v3d->dirty |= V3D_DIRTY_STREAMOUT; } +static void +v3d_render_condition(struct pipe_context *pipe, + struct pipe_query *query, + bool condition, + enum pipe_render_cond_flag mode) +{ + struct v3d_context *v3d = v3d_context(pipe); + + v3d->cond_query = query; + v3d->cond_cond = condition; + v3d->cond_mode = mode; +} + void v3d_query_init(struct pipe_context *pctx) { @@ -115,4 +128,5 @@ v3d_query_init(struct pipe_context *pctx) pctx->end_query = v3d_end_query; pctx->get_query_result = v3d_get_query_result; pctx->set_active_query_state = v3d_set_active_query_state; + pctx->render_condition = v3d_render_condition; } diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c index 9bf6ad7..3ca1674 100644 --- a/src/gallium/drivers/v3d/v3d_screen.c +++ b/src/gallium/drivers/v3d/v3d_screen.c @@ -146,6 +146,8 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_ANISOTROPIC_FILTER: case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS: case PIPE_CAP_INDEP_BLEND_FUNC: + case PIPE_CAP_CONDITIONAL_RENDER: + case PIPE_CAP_CONDITIONAL_RENDER_INVERTED: return 1; case PIPE_CAP_POLYGON_OFFSET_CLAMP: diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c index f18a60c..64df2d8 100644 --- a/src/gallium/drivers/v3d/v3dx_draw.c +++ b/src/gallium/drivers/v3d/v3dx_draw.c @@ -985,6 +985,9 @@ v3d_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info, !u_trim_pipe_prim(info->mode, (unsigned*)&draws[0].count)) return; + if (!v3d_render_condition_check(v3d)) + return; + /* Fall back for weird desktop GL primitive restart values. */ if (info->primitive_restart && info->index_size) { @@ -1518,7 +1521,7 @@ v3d_draw_clear(struct v3d_context *v3d, const union pipe_color_union *color, double depth, unsigned stencil) { - v3d_blitter_save(v3d, false); + v3d_blitter_save(v3d, false, true); util_blitter_clear(v3d->blitter, v3d->framebuffer.width, v3d->framebuffer.height, @@ -1658,8 +1661,10 @@ v3d_clear(struct pipe_context *pctx, unsigned buffers, const struct pipe_scissor buffers &= ~v3d_tlb_clear(job, buffers, color, depth, stencil); - if (buffers) - v3d_draw_clear(v3d, buffers, color, depth, stencil); + if (!buffers || !v3d_render_condition_check(v3d)) + return; + + v3d_draw_clear(v3d, buffers, color, depth, stencil); } static void -- 2.7.4