mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
ci/radv: Add testing of the GLES CTS using ANGLE on stoney.
We're interested in a Vulkan-only stack in Chrome OS, where Android's GLES would be provided by ANGLE-over-Venus-over-RADV. Let's get some testing covering ANGLE-on-RADV first. This is structured as a single partial job pre-merge to catch most regressions, and 2 longer manual jobs to do full coverage for when you need to update the xfails list. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20163>
This commit is contained in:
parent
8d7d2aeba2
commit
ee7e440743
6 changed files with 303 additions and 0 deletions
101
src/amd/ci/angle-radv-stoney-aco-fails.txt
Normal file
101
src/amd/ci/angle-radv-stoney-aco-fails.txt
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
# 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
|
||||
27
src/amd/ci/angle-radv-stoney-aco-flakes.txt
Normal file
27
src/amd/ci/angle-radv-stoney-aco-flakes.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# 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.*
|
||||
16
src/amd/ci/angle-radv-stoney-aco-skips.txt
Normal file
16
src/amd/ci/angle-radv-stoney-aco-skips.txt
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# 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.*
|
||||
68
src/amd/ci/deqp-radv-stoney-angle-full.toml
Normal file
68
src/amd/ci/deqp-radv-stoney-angle-full.toml
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# 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-"
|
||||
71
src/amd/ci/deqp-radv-stoney-angle.toml
Normal file
71
src/amd/ci/deqp-radv-stoney-angle.toml
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
# 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-"
|
||||
|
|
@ -45,6 +45,26 @@ radv-stoney-vkcts:x86_64:
|
|||
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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue