--- /dev/null
+# Fails on both radv and anv:
+# "Valid format used but glReadPixels failed for input = [GL_RED, GL_BYTE] output = [GL_RGBA, GL_UNSIGNED_BYTE]"
+# Conclusion is it's an ext spec+test bug
+# https://gitlab.khronos.org/opengl/API/-/issues/180
+KHR-GLES3.packed_pixels.pbo_rectangle.r8_snorm,Fail
+KHR-GLES3.packed_pixels.pbo_rectangle.rg8_snorm,Fail
+KHR-GLES3.packed_pixels.pbo_rectangle.rgba8_snorm,Fail
+KHR-GLES3.packed_pixels.rectangle.r8_snorm,Fail
+KHR-GLES3.packed_pixels.rectangle.rg8_snorm,Fail
+KHR-GLES3.packed_pixels.rectangle.rgba8_snorm,Fail
+KHR-GLES3.packed_pixels.varied_rectangle.r8_snorm,Fail
+KHR-GLES3.packed_pixels.varied_rectangle.rg8_snorm,Fail
+KHR-GLES3.packed_pixels.varied_rectangle.rgba8_snorm,Fail
+
+# Regression between ANGLE db67df60f8c8020017c36b2dd446bc3d86614ffe and
+# 82f1cee01a9ea24960e8f23b24d348fccbe0aae0.
+#
+# "Rendered data at (28, 21) equal (0.0980392, 0.2, 0.298039, 0.4) exceeds allowed epsilon when compared to reference data equal (0.5, 0.6, 0.7, 0.8).
+# Data comparison failed at esextcGeometryShaderRendering.cpp:5751"
+#
+# Also fails, reports no validation failures on my RX Vega.
+KHR-GLES31.core.geometry_shader.rendering.rendering.triangles_with_adjacency_input_line_strip_output_triangle_strip_adjacency_drawcall,Fail
+KHR-GLES31.core.geometry_shader.rendering.rendering.triangles_with_adjacency_input_triangle_strip_output_triangle_strip_adjacency_drawcall,Fail
+
+# ANGLE passes depthBiasConstantFactor directly to GlobalDepthOffsetConstant, while zink multiplies by 2.0.
+# radeonsi has an extra 2.0 factor in the 16-bit depth case vs 24-bit, which radv doesn't have.
+# I expect this is a radv bug due to missing VK CTS coverage:
+# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4169
+dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units,Fail
+
+# Failure in later miplevels, occasionally flaky
+dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth_component24,Fail
+dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth24_stencil8,Fail
+dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth32f_stencil8,Fail
+dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component24_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth24_stencil8_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth32f_stencil8_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_2d,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_cube,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_2d,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_cube,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth32f_stencil8_2d,Fail
+dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth32f_stencil8_cube,Fail
+dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth_component24_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth24_stencil8_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth32f_stencil8_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth_component24,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth24_stencil8,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth32f_stencil8,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth_component24_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth24_stencil8_2d_array,Fail
+dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth32f_stencil8_2d_array,Fail
+dEQP-GLES31.functional.texture.specification.texstorage3d.format.depth_component24_cube_array,Fail
+dEQP-GLES31.functional.texture.specification.texsubimage3d_depth.depth24_stencil8_cube_array,Fail
+dEQP-GLES31.functional.texture.specification.texsubimage3d_depth.depth32f_stencil8_cube_array,Fail
+dEQP-GLES31.functional.texture.specification.texstorage3d.format.depth24_stencil8_cube_array,Fail
+dEQP-GLES31.functional.texture.specification.texstorage3d.format.depth32f_stencil8_cube_array,Fail
+
+# "Iteration 3/3: Samples per pixel: 2
+# Verifying image has (at least) 3 different shades
+# Found 2 different shades. Rare (less than 100 pixels): 0 Common: 2
+# Also fails, reports no validation failures on my RX Vega.
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_2_discard,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_4_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_4_discard,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_8_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_renderbuffer_samples_8_discard,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_2_discard,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_4_discard,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_color,Fail
+dEQP-GLES31.functional.sample_shading.min_sample_shading.multisample_texture_samples_8_discard,Fail
+
+# "Result buffer failed, got unexpected values.
+# Error at index 16: expected 1, got 0."
+# Also fails, reports no validation failures on my RX Vega.
+dEQP-GLES31.functional.synchronization.in_invocation.ssbo_alias_write,Fail
+dEQP-GLES31.functional.synchronization.inter_invocation.image_alias_write,Fail
+dEQP-GLES31.functional.synchronization.inter_invocation.ssbo_alias_write,Fail
+
+# No useful debug info in the qpa. Also fails, reports no validation failures on my an RX Vega.
+KHR-GLES31.core.sample_shading.render.rgba32f.full,Fail
+KHR-GLES31.core.sample_shading.render.rgba32f.half,Fail
+KHR-GLES31.core.sample_shading.render.rgba8.full,Fail
+KHR-GLES31.core.sample_shading.render.rgba8.half,Fail
+KHR-GLES31.core.sample_shading.render.rgba8i.full,Fail
+KHR-GLES31.core.sample_shading.render.rgba8i.half,Fail
+KHR-GLES31.core.sample_shading.render.rgba8ui.full,Fail
+KHR-GLES31.core.sample_shading.render.rgba8ui.half,Fail
+
+# Note that the set of test failures in this group changes based on the tests
+# run before them in the caselist! We set them to what CI currently produces
+# for the default fractional test run, and mark the rest as flakes.
+multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.multiply,Fail
+multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.overlay,Fail
+multisample-dEQP-GLES31.functional.blend_equation_advanced.basic.screen,Fail
+
+multisample-dEQP-GLES31.functional.sample_shading.min_sample_shading.default_framebuffer_color,Fail
+multisample-dEQP-GLES31.functional.sample_shading.min_sample_shading.default_framebuffer_discard,Fail
--- /dev/null
+# Vertex attrib array state reset failed: glGetError() returned GL_CONTEXT_LOST at gluStateReset.cpp:93
+# Naming a few specific flakes seen here, but also including a general regex match.
+dEQP-GLES3.functional.fbo.blit.default_framebuffer.rg32f_nearest_scale_blit_from_default
+dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565
+dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgba4_linear_out_of_bounds_blit_from_default
+dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only
+dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only
+dEQP-GLES3.functional.fbo.*blit.*
+dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16
+dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8
+dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8
+dEQP-GLES3.functional.fbo.msaa.4_samples.*
+
+# "ERROR: Verification against low precision requirements failed, failing test case."
+dEQP-GLES3.functional.texture.shadow.2d.*depth24_stencil8
+
+# Mostly fails, occasional pass
+dEQP-GLES3.*functional.texture.specification.*depth.*
+
+dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_stencil
+
+dEQP-GLES31.functional.blend_equation_advanced.basic.multiply
+
+# MSAA dEQP-GLES31.functional.blend_equation_advanced exhibits different
+# failures based on the caselist test order. This regex covers the different
+# results for the full test run.
+multisample-dEQP-GLES31.functional.blend_equation_advanced.*
--- /dev/null
+# Unlike zink which does support it, ANGLE relies on a waiver to not implement
+# capturing individual array elements (see waivers.xml and gles3-waivers.txt in the CTS)
+dEQP-GLES3.functional.transform_feedback.array_element.*
+dEQP-GLES3.functional.transform_feedback.random.*
+dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
+dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*
+KHR-GLES31.core.program_interface_query.transform-feedback-types
+
+# ANGLE throws this warning
+# "Unimplemented: CopyImageSubData(../../src/libANGLE/renderer/vulkan/vk_helpers.cpp:6562"
+# which is "// No support for emulated compressed formats."
+#
+# ANGLE doesn't plan on implementing it, given that Android insists on VK having ASTC support
+# anyway, so ANGLE-on-RADV is going to need either support inside radv (unlikely) or a compat
+# layer.
+dEQP-GLES31.functional.copy_image.*astc.*
--- /dev/null
+# Basic test set
+[[deqp]]
+deqp = "/deqp/modules/gles2/deqp-gles2"
+caselists = ["/deqp/mustpass/gles2-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+version_check = "GL ES 3.1"
+renderer_check = "ANGLE.*RADV"
+
+[[deqp]]
+deqp = "/deqp/modules/gles3/deqp-gles3"
+caselists = ["/deqp/mustpass/gles3-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+
+[[deqp]]
+deqp = "/deqp/modules/gles31/deqp-gles31"
+caselists = ["/deqp/mustpass/gles31-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+
+# Note that KHR-GL3* test sets include all tests from the previous
+# version, so we only need to run one test list (unlike dEQP-GLES,
+# where the test sets are separate).
+[[deqp]]
+deqp = "/deqp/external/openglcts/modules/glcts"
+caselists = [
+ "/deqp/mustpass/gles2-khr-master.txt",
+ "/deqp/mustpass/gles3-khr-master.txt",
+ "/deqp/mustpass/gles31-khr-master.txt",
+]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+
+# 565-no-depth-no-stencil: Not supported with angle on X11?
+
+# multisample
+[[deqp]]
+deqp = "/deqp/modules/gles3/deqp-gles3"
+caselists = ["/deqp/mustpass/gles3-multisample.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms4",
+]
+prefix = "multisample-"
+
+[[deqp]]
+deqp = "/deqp/modules/gles31/deqp-gles31"
+caselists = ["/deqp/mustpass/gles31-multisample.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms4",
+]
+prefix = "multisample-"
--- /dev/null
+# Basic test set
+[[deqp]]
+deqp = "/deqp/modules/gles2/deqp-gles2"
+caselists = ["/deqp/mustpass/gles2-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+fraction = 4
+version_check = "GL ES 3.1"
+renderer_check = "ANGLE.*RADV"
+
+[[deqp]]
+deqp = "/deqp/modules/gles3/deqp-gles3"
+caselists = ["/deqp/mustpass/gles3-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+fraction = 12
+
+[[deqp]]
+deqp = "/deqp/modules/gles31/deqp-gles31"
+caselists = ["/deqp/mustpass/gles31-master.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+fraction = 12
+
+# Note that KHR-GL3* test sets include all tests from the previous
+# version, so we only need to run one test list (unlike dEQP-GLES,
+# where the test sets are separate).
+[[deqp]]
+deqp = "/deqp/external/openglcts/modules/glcts"
+caselists = [
+ "/deqp/mustpass/gles2-khr-master.txt",
+ "/deqp/mustpass/gles3-khr-master.txt",
+ "/deqp/mustpass/gles31-khr-master.txt",
+]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms0",
+]
+
+# 565-no-depth-no-stencil: Not supported with angle on X11?
+
+# multisample
+[[deqp]]
+deqp = "/deqp/modules/gles3/deqp-gles3"
+caselists = ["/deqp/mustpass/gles3-multisample.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms4",
+]
+prefix = "multisample-"
+
+[[deqp]]
+deqp = "/deqp/modules/gles31/deqp-gles31"
+caselists = ["/deqp/mustpass/gles31-multisample.txt"]
+deqp_args = [
+ "--deqp-surface-width=256", "--deqp-surface-height=256",
+ "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden",
+ "--deqp-gl-config-name=rgba8888d24s8ms4",
+]
+prefix = "multisample-"
variables:
DEQP_FRACTION: 11
+radv-stoney-angle:
+ extends:
+ - .lava-test-deqp:x86_64
+ - .radv-stoney-test:x86_64
+ - .radeonsi+radv-rules # Note: Xorg uses radeonsi, so depend on both gl and vulkan
+ variables:
+ DEQP_SUITE: radv-stoney-angle
+ USE_ANGLE: 1
+ HWCI_START_XORG: 1
+ GPU_VERSION: angle-radv-stoney-aco
+
+radv-stoney-angle-full:
+ extends:
+ - radv-stoney-angle
+ - .radv-valve-manual-rules
+ parallel: 2
+ variables:
+ DEQP_SUITE: radv-stoney-angle-full
+ JOB_TIMEOUT: 60
+
radeonsi-stoney-gl:x86_64:
extends:
- .lava-test-deqp:x86_64