From 4087374deb53b79d6ac23c6ae87aadf9595d8d00 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 30 Oct 2022 11:58:47 -0700 Subject: [PATCH] freedreno/a6xx: Mark gl45 supported Signed-off-by: Rob Clark Part-of: --- docs/features.txt | 4 +- src/freedreno/ci/deqp-freedreno-a630.toml | 2 +- .../ci/freedreno-a618-premerge-skips.txt | 2 +- src/freedreno/ci/freedreno-a630-fails.txt | 55 ++++++++++++++----- src/freedreno/ci/freedreno-a630-flakes.txt | 8 ++- .../ci/freedreno-a630-premerge-skips.txt | 6 +- src/freedreno/ci/freedreno-a630-skips.txt | 2 +- .../drivers/freedreno/freedreno_screen.c | 2 +- 8 files changed, 56 insertions(+), 25 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 4701af8a22f..cc63b236a54 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -192,7 +192,7 @@ GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, i965/gen8+, nvc0, r600, radeonsi, GL_ARB_vertex_attrib_binding DONE (all drivers) -GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink +GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers) GL_ARB_buffer_storage DONE (freedreno, i965, nv50, v3d, vc4, lima, panfrost, asahi, d3d12, softpipe, etnaviv) @@ -210,7 +210,7 @@ GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, softpipe, virgl, v3d, panfrost, d3d12) GL_ARB_vertex_type_10f_11f_11f_rev DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12) -GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe, zink +GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, zink GL_ARB_ES3_1_compatibility DONE (freedreno/a6xx, i965/hsw+, softpipe, virgl) GL_ARB_clip_control DONE (freedreno, i965, nv50, softpipe, virgl, lima, d3d12) diff --git a/src/freedreno/ci/deqp-freedreno-a630.toml b/src/freedreno/ci/deqp-freedreno-a630.toml index 6822fc7eb0c..6e95da85278 100644 --- a/src/freedreno/ci/deqp-freedreno-a630.toml +++ b/src/freedreno/ci/deqp-freedreno-a630.toml @@ -40,7 +40,7 @@ caselists = [ "/deqp/mustpass/gles2-khr-master.txt", "/deqp/mustpass/gles3-khr-master.txt", "/deqp/mustpass/gles31-khr-master.txt", - "/deqp/mustpass/gl43-master.txt", + "/deqp/mustpass/gl45-master.txt", ] skips = ["install/freedreno-a630-premerge-skips.txt"] deqp_args = [ diff --git a/src/freedreno/ci/freedreno-a618-premerge-skips.txt b/src/freedreno/ci/freedreno-a618-premerge-skips.txt index e040115dba6..41fa4fe417b 100644 --- a/src/freedreno/ci/freedreno-a618-premerge-skips.txt +++ b/src/freedreno/ci/freedreno-a618-premerge-skips.txt @@ -3,7 +3,7 @@ # delete lines from the test list. Be careful. # Timeouts, passes otherwise -KHR-GL43.texture_swizzle.smoke +KHR-GL45.texture_swizzle.smoke # These generally take near 15 seconds. The time is spent inside dEQP. dEQP-VK.tessellation.invariance.inner_triangle_set.quads_equal_spacing diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 228ba9465eb..392d92ffcf6 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -1,23 +1,25 @@ # Shader compilation error log: 0:6(1): error: invalid stream specified 1 is larger than MAX_VERTEX_STREAMS - 1 -KHR-GL43.transform_feedback.draw_xfb_stream_instanced_test,Fail +KHR-GL45.transform_feedback.draw_xfb_stream_instanced_test,Fail -KHR-GL43.gpu_shader_fp64.fp64.max_uniform_components,Fail -KHR-GL43.gpu_shader_fp64.builtin.mod_dvec2,Fail -KHR-GL43.gpu_shader_fp64.builtin.mod_dvec3,Fail -KHR-GL43.gpu_shader_fp64.builtin.mod_dvec4,Fail -KHR-GL43.shader_subroutine.control_flow_and_returned_subroutine_values_used_as_subroutine_input,Fail -KHR-GL43.shader_image_load_store.basic-allFormats-store,Fail -KHR-GL43.shader_image_load_store.basic-allTargets-store,Fail -KHR-GL43.shader_image_load_store.non-layered_binding,Fail -KHR-GL43.shading_language_420pack.binding_images,Fail -KHR-GL43.copy_image.functional,Fail -KHR-GL43.compute_shader.conditional-dispatching,Fail -KHR-GL43.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPI,Fail +KHR-GL45.gpu_shader_fp64.fp64.max_uniform_components,Fail +KHR-GL45.gpu_shader_fp64.builtin.mod_dvec2,Fail +KHR-GL45.gpu_shader_fp64.builtin.mod_dvec3,Fail +KHR-GL45.gpu_shader_fp64.builtin.mod_dvec4,Fail +KHR-GL45.shader_subroutine.control_flow_and_returned_subroutine_values_used_as_subroutine_input,Fail +KHR-GL45.shader_image_load_store.basic-allFormats-store,Fail +KHR-GL45.shader_image_load_store.basic-allTargets-store,Fail +KHR-GL45.shader_image_load_store.non-layered_binding,Fail +KHR-GL45.shading_language_420pack.binding_images,Fail +KHR-GL45.compute_shader.conditional-dispatching,Fail +KHR-GL45.vertex_attrib_binding.advanced-largeStrideAndOffsetsNewAndLegacyAPI,Fail +KHR-GL45.buffer_storage.map_persistent_draw,Fail # Lots of errors like "[279] Check failed. Received: [3,0,0,2] instead of: [5,0,0,2]" KHR-GLES31.core.geometry_shader.layered_framebuffer.depth_support,Fail +KHR-GL45.geometry_shader.layered_framebuffer.depth_support,Fail KHR-GLES31.core.geometry_shader.layered_framebuffer.stencil_support,Fail +KHR-GL45.geometry_shader.layered_framebuffer.stencil_support,Fail # "Invalid value returned: expected:[1, 1, 1, 1] retrieved: [0, 0, 0, 0 # Invalid rendering result at esextcTessellationShaderBarrier.cpp:504" @@ -25,6 +27,31 @@ KHR-GLES31.core.tessellation_shader.tessellation_shader_tc_barriers.barrier_guar # https://gitlab.freedesktop.org/mesa/mesa/-/issues/5582 KHR-GLES31.core.texture_cube_map_array.color_depth_attachments,Fail +KHR-GL45.texture_cube_map_array.color_depth_attachments,Fail + +# +# new fails with gl45: +# + +# Various limits we cannot or do not support: +KHR-GL45.limits.max_array_texture_layers,Fail +KHR-GL45.limits.max_framebuffer_layers,Fail +KHR-GL45.limits.max_vertex_streams,Fail + +# Shader compile fails: +KHR-GL45.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsExchangeTestCase,Fail +KHR-GL45.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsMinMaxTestCase,Fail +KHR-GL45.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsAdditionSubstractionTestCase,Fail +KHR-GL45.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsBitwiseTestCase,Fail + +# MESA: warning: sample averaging on fallback z24s8 blit when we shouldn't. +KHR-GL45.direct_state_access.renderbuffers_storage_multisample,Fail + +KHR-GL45.multi_bind.dispatch_bind_image_textures,Fail + +# Unhandled intrinsic type: image_samples +KHR-GL45.shader_texture_image_samples_tests.image_functional_test,Crash + # rendering errors in ~4x4 blocks around the bottom side of the diagonal for the quad bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.colorburn,Fail @@ -82,6 +109,8 @@ spec@!opengl 1.0@gl-1.0-edgeflag-quads,Crash spec@arb_arrays_of_arrays@execution@sampler@fs-nested-struct-arrays-nonconst-nested-array,Fail +# Skips prior to exposing gl45, now fails for same reason as above test +spec@arb_gl_spirv@execution@uniform@sampler2d-nonconst-nested-array,Fail spec@arb_compute_shader@execution@border-color,Fail spec@arb_depth_buffer_float@fbo-clear-formats stencil,Fail diff --git a/src/freedreno/ci/freedreno-a630-flakes.txt b/src/freedreno/ci/freedreno-a630-flakes.txt index 8af2ef4f8c7..a95fa934b05 100644 --- a/src/freedreno/ci/freedreno-a630-flakes.txt +++ b/src/freedreno/ci/freedreno-a630-flakes.txt @@ -89,10 +89,11 @@ dEQP-GLES3.functional.fbo.blit.conversion.rg8i_to_r16i dEQP-GLES3.functional.fbo.blit.conversion.rg8_to_r16f # First noticed Jun 1 2020 on an innocent branch. -KHR-GL43.packed_depth_stencil.verify_copy_tex_image.depth32f_stencil8 +KHR-GL45.packed_depth_stencil.verify_copy_tex_image.depth32f_stencil8 -KHR-GL43.shader_image_size.basic-nonMS-fs-float -KHR-GL43.shader_image_size.advanced-nonMS-fs-float +KHR-GL45.shader_image_size.basic-nonMS-fs-float +KHR-GL45.shader_image_size.advanced-nonMS-fs-float +KHR-GL45.shader_image_size.advanced-nonMS-fs-uint # Flaky with introduction of testing KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2 @@ -194,6 +195,7 @@ spec@glsl-1.30@execution@texelfetch fs sampler2d 1x71-501x71 # Started around 2022-06-26, first time was on an unlikely MR. KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-int +KHR-GL45.shader_image_size.advanced-nonMS-fs-int KHR-GLES31.core.shader_image_size.basic-nonMS-fs-float KHR-GLES31.core.shader_image_size.basic-nonMS-fs-int KHR-GLES31.core.shader_image_size.basic-nonMS-fs-uint diff --git a/src/freedreno/ci/freedreno-a630-premerge-skips.txt b/src/freedreno/ci/freedreno-a630-premerge-skips.txt index bdb9693564c..fb00244b78c 100644 --- a/src/freedreno/ci/freedreno-a630-premerge-skips.txt +++ b/src/freedreno/ci/freedreno-a630-premerge-skips.txt @@ -3,6 +3,6 @@ # delete lines from the test list. Be careful. # Timeouts, passes otherwise -KHR-GL43.texture_swizzle.smoke -KHR-GL43.gpu_shader_fp64.builtin.inverse_dmat4 -KHR-GL43.gpu_shader_fp64.fp64.varyings +KHR-GL45.texture_swizzle.smoke +KHR-GL45.gpu_shader_fp64.builtin.inverse_dmat4 +KHR-GL45.gpu_shader_fp64.fp64.varyings diff --git a/src/freedreno/ci/freedreno-a630-skips.txt b/src/freedreno/ci/freedreno-a630-skips.txt index 40c448c6bf9..f05e0b3a9bc 100644 --- a/src/freedreno/ci/freedreno-a630-skips.txt +++ b/src/freedreno/ci/freedreno-a630-skips.txt @@ -36,7 +36,7 @@ KHR-GLES31.core.shader_image_load_store.basic-allFormats-store-fs # 60s timeout KHR-GLES31.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_MaxPatchVertices_Position_PointSize -KHR-GL43.copy_image.functional +KHR-GL45.copy_image.functional # These take most of a minute to run spec@!opengl 3.0@clearbuffer-depth-cs-probe diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 451f06476a1..8716c921aac 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -330,7 +330,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_GLSL_FEATURE_LEVEL: case PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY: if (is_a6xx(screen)) - return 430; + return 450; else if (is_ir3(screen)) return 140; else