freedreno/a6xx: Update caps

We should be doing all the 64b lowering.. I think that should be enough
to get us at least glsl400.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>
This commit is contained in:
Rob Clark
2022-10-16 08:35:08 -07:00
committed by Marge Bot
parent dc70a940d4
commit 2ad637f52a
3 changed files with 28 additions and 7 deletions

View File

@@ -115,7 +115,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virg
GL_ARB_draw_buffers_blend DONE (freedreno, i965/gen6+, nv50, softpipe, panfrost, v3d)
GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, softpipe, v3d)
GL_ARB_gpu_shader5 DONE (i965/gen7+)
GL_ARB_gpu_shader5 DONE (freedreno/a6xx, i965/gen7+)
- 'precise' qualifier DONE (softpipe)
- Dynamically uniform sampler array indices DONE (softpipe)
- Dynamically uniform UBO array indices DONE (freedreno, softpipe)
@@ -128,7 +128,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virg
- Enhanced per-sample shading DONE ()
- Interpolation functions DONE (softpipe)
- New overload resolution rules DONE (softpipe)
GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, softpipe, )
GL_ARB_gpu_shader_fp64 DONE (freedreno/a6xx, i965/gen7+, softpipe, )
GL_ARB_sample_shading DONE (freedreno/a6xx, i965/gen6+, nv50, panfrost)
GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, softpipe)
GL_ARB_tessellation_shader DONE (freedreno/a6xx, i965/gen7+, )
@@ -212,7 +212,7 @@ GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink
GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe, zink
GL_ARB_ES3_1_compatibility DONE (i965/hsw+, softpipe, virgl)
GL_ARB_ES3_1_compatibility DONE (freedreno/a6xx, i965/hsw+, softpipe, virgl)
GL_ARB_clip_control DONE (freedreno, i965, nv50, softpipe, virgl, lima, d3d12)
GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12)
GL_ARB_cull_distance DONE (freedreno/a6xx, i965, nv50, softpipe, virgl)
@@ -298,9 +298,9 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve
GL_ARB_bindless_texture DONE (nvc0, radeonsi, zink)
GL_ARB_cl_event not started
GL_ARB_compute_variable_group_size DONE (freedreno/a4xx+, i965/gen7+, nvc0, radeonsi, zink)
GL_ARB_ES3_2_compatibility DONE (i965/gen8+, radeonsi, virgl, zink)
GL_ARB_ES3_2_compatibility DONE (freedreno/a6xx, i965/gen8+, radeonsi, virgl, zink)
GL_ARB_fragment_shader_interlock DONE (i965, zink)
GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe, zink, d3d12)
GL_ARB_gpu_shader_int64 DONE (freedreno/a6xx, i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe, zink, d3d12)
GL_ARB_parallel_shader_compile DONE (freedreno, iris, radeonsi, etnaviv, zink)
GL_ARB_post_depth_coverage DONE (i965, nvc0, radeonsi, llvmpipe, zink)
GL_ARB_robustness_isolation not started

View File

@@ -2,6 +2,8 @@
# Broken in VK-GL-CTS e5c45899ed7e90fb616ccd1d3c66e6eded120684
KHR-GL33.cull_distance.coverage,Fail
KHR-GL33.transform_feedback.draw_xfb_stream_instanced_test,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
@@ -64,6 +66,8 @@ 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@arb_arrays_of_arrays@execution@sampler@fs-nested-struct-arrays-nonconst-nested-array,Fail
spec@arb_compute_shader@execution@border-color,Fail
spec@arb_depth_buffer_float@fbo-clear-formats stencil,Fail
spec@arb_depth_buffer_float@fbo-clear-formats stencil@GL_DEPTH32F_STENCIL8,Fail
@@ -104,6 +108,12 @@ spec@arb_sample_shading@samplemask 4,Fail
spec@arb_sample_shading@samplemask 4@noms mask_in_one,Fail
spec@arb_sample_shading@samplemask 4@sample mask_in_one,Fail
# Same results w/ zink-on-tu as with freedreno:
spec@arb_sample_shading@samplemask 2 all@noms partition,Fail
spec@arb_sample_shading@samplemask 2@noms partition,Fail
spec@arb_sample_shading@samplemask 4 all@noms partition,Fail
spec@arb_sample_shading@samplemask 4@noms partition,Fail
spec@arb_shader_image_load_store@execution@image-array-out-of-bounds-access-load,Crash
# These 3 fails started to happen after piglit uprev with commit
@@ -138,6 +148,10 @@ spec@arb_tessellation_shader@execution@tes-no-tcs-primitiveid-instanced,Fail
# error: Too many tessellation control shader atomic counters"
spec@arb_tessellation_shader@execution@tes-primitiveid,Fail
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/7518
spec@arb_tessellation_shader@execution@tess-instance-id,Fail
spec@arb_tessellation_shader@execution@compatibility@tes-clip-vertex-different-from-position,Fail
spec@arb_tessellation_shader@execution@vs-tes-tessinner-tessouter-inputs-quads-dlist,Fail
spec@arb_tessellation_shader@execution@tes-read-texture,Fail
spec@arb_tessellation_shader@execution@tess_with_geometry,Fail
spec@arb_tessellation_shader@execution@trivial-tess-gs,Fail
@@ -152,6 +166,8 @@ spec@arb_tessellation_shader@execution@variable-indexing@tcs-patch-vec4-index-wr
spec@arb_tessellation_shader@execution@variable-indexing@tcs-patch-vec4-swiz-index-wr,Crash
spec@arb_tessellation_shader@execution@vertex-partial-write,Crash
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/7516
spec@arb_tessellation_shader@execution@variable-indexing@vs-output-array-dvec4-index-wr-before-tcs,Crash
spec@arb_tessellation_shader@execution@vs-tes-max-in-out-components,Fail
spec@arb_tessellation_shader@execution@vs-tes-tessinner-tessouter-inputs-quads,Fail

View File

@@ -315,15 +315,20 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
* Since draw_indirect is needed sooner (gles31 and gl40 vs
* gl42), hide base_instance on a5xx. :-/
*/
return is_a4xx(screen);
return is_a4xx(screen) || is_a6xx(screen);
case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
return 64;
case PIPE_CAP_INT64:
case PIPE_CAP_INT64_DIVMOD:
case PIPE_CAP_DOUBLES:
return is_ir3(screen);
case PIPE_CAP_GLSL_FEATURE_LEVEL:
case PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY:
if (is_a6xx(screen))
return 330;
return 400;
else if (is_ir3(screen))
return 140;
else