Module: Mesa
Branch: main
Commit: 9caea4c3e9ff245c05f77f2bf1d2eefcae0f49bd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9caea4c3e9ff245c05f77f2bf1d2eefcae0f49bd

Author: Jesse Natalie <[email protected]>
Date:   Thu Nov  9 15:29:01 2023 -0800

d3d12: Enable ARB_enhanced_layouts and ARB_texture_mirror_clamp_to_edge

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156>

---

 docs/features.txt                                   |  4 ++--
 src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt | 17 +++++++++--------
 src/gallium/drivers/d3d12/d3d12_screen.cpp          |  2 ++
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/docs/features.txt b/docs/features.txt
index 93eb15f183d..6c77e127126 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -197,7 +197,7 @@ GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, nvc0, r600, 
radeonsi, llvmpipe, v
   GL_MAX_VERTEX_ATTRIB_STRIDE                           DONE (all drivers)
   GL_ARB_buffer_storage                                 DONE (freedreno, nv50, 
v3d, vc4, lima, panfrost, asahi, d3d12, softpipe, etnaviv, crocus)
   GL_ARB_clear_texture                                  DONE (all drivers)
-  GL_ARB_enhanced_layouts                               DONE (freedreno/a3xx+, 
nv50, softpipe, crocus)
+  GL_ARB_enhanced_layouts                               DONE (freedreno/a3xx+, 
nv50, softpipe, crocus, d3d12)
   - compile-time constant expressions                   DONE
   - explicit byte offsets for blocks                    DONE
   - forced alignment within blocks                      DONE
@@ -206,7 +206,7 @@ GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, nvc0, r600, 
radeonsi, llvmpipe, v
   - input/output block locations                        DONE
   GL_ARB_multi_bind                                     DONE (all drivers)
   GL_ARB_query_buffer_object                            DONE (freedreno/a6xx)
-  GL_ARB_texture_mirror_clamp_to_edge                   DONE (freedreno, nv50, 
softpipe, v3d, panfrost, asahi, crocus)
+  GL_ARB_texture_mirror_clamp_to_edge                   DONE (freedreno, nv50, 
softpipe, v3d, panfrost, asahi, crocus, d3d12)
   GL_ARB_texture_stencil8                               DONE (freedreno, nv50, 
softpipe, v3d, panfrost, d3d12, asahi)
   GL_ARB_vertex_type_10f_11f_11f_rev                    DONE (freedreno, nv50, 
softpipe, panfrost, d3d12, asahi, crocus)
 
diff --git a/src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt 
b/src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt
index d94ed40825b..319d2b44243 100644
--- a/src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt
+++ b/src/gallium/drivers/d3d12/ci/d3d12-quick_shader.txt
@@ -1,19 +1,16 @@
-spec@arb_gpu_shader_fp64@execution@vs-fs-explicit-locations,Crash
 spec@arb_gpu_shader_int64@execution@indirect-array-two-accesses,Fail
 
spec@arb_separate_shader_objects@execution@layout-location-block-with-struct-member,Crash
 
spec@arb_separate_shader_objects@execution@layout-location-struct-mixed-with-implicitly-assigned-varying,Crash
 spec@arb_shader_storage_buffer_object@execution@ssbo-atomiccompswap-int,Fail
 spec@arb_shader_texture_lod@execution@glsl-fs-shadow2dgradarb-07,Fail
 spec@arb_shader_texture_lod@execution@glsl-fs-shadow2dgradarb-cumulative,Fail
-spec@arb_tessellation_shader@execution@dmat-vs-gs-tcs-tes,Crash
+spec@arb_tessellation_shader@execution@dmat-vs-gs-tcs-tes,Fail
 spec@arb_tessellation_shader@execution@gs-primitiveid-instanced,Fail
 spec@arb_tessellation_shader@execution@tcs-output-unmatched,Crash
 spec@arb_tessellation_shader@execution@tcs-tes-levels-out-of-bounds-read,Crash
 spec@arb_tessellation_shader@execution@tcs-tes-levels-out-of-bounds-write,Crash
 
spec@arb_tessellation_shader@execution@tcs-tes-max-in-out-patch-components,Crash
 spec@arb_tessellation_shader@execution@tes-primitiveid,Fail
-spec@arb_tessellation_shader@execution@variable-indexing@tcs-input-array-dvec4-index-rd,Crash
-spec@arb_tessellation_shader@execution@variable-indexing@tcs-output-array-dvec4-index-wr,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tcs-output-array-float-index-rd-after-barrier,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tcs-output-array-float-index-wr-before-barrier,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tcs-output-array-vec2-index-rd-after-barrier,Crash
@@ -32,19 +29,23 @@ 
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-fl
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec2-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec3-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec4-index-rd,Crash
-spec@arb_tessellation_shader@execution@variable-indexing@tes-input-array-dvec4-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-patch-input-array-float-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-patch-input-array-vec2-index-invalid-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-patch-input-array-vec2-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-patch-input-array-vec3-index-rd,Crash
 
spec@arb_tessellation_shader@execution@variable-indexing@tes-patch-input-array-vec4-index-rd,Crash
-spec@arb_tessellation_shader@execution@variable-indexing@vs-output-array-dvec4-index-wr-before-tcs,Crash
[email protected]@execution@interpolation@interpolation-mixed,Fail
 [email protected]@execution@geometry@primitive-id-out,Fail
[email protected]@execution@gs-also-uses-smooth-flat-noperspective,Fail
 [email protected]@execution@primitive-id-no-gs,Fail
 [email protected]@execution@primitive-id-no-gs-instanced,Fail
 [email protected]@execution@primitive-id-no-gs-line,Fail
 [email protected]@execution@primitive-id-no-gs-quad-strip,Fail
 [email protected]@execution@primitive-id-no-gs-quads,Fail
 [email protected]@execution@variable-indexing@gs-output-array-vec4-index-wr,Crash
+
+# TODO: Inter-stage linkage (removing unused varyings) needs to be done at
+# component level, not just location
+spec@arb_enhanced_layouts@execution@component-layout@vs-fs-array-dvec3,Crash
+
+# TODO: Need to investigate and debug
+spec@arb_enhanced_layouts@execution@component-layout@vs-gs-fs-double,Fail
+spec@arb_tessellation_shader@execution@dvec3-vs-tcs-tes,Fail
diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp 
b/src/gallium/drivers/d3d12/d3d12_screen.cpp
index 31af26c9505..17d2de8b0c7 100644
--- a/src/gallium/drivers/d3d12/d3d12_screen.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp
@@ -333,6 +333,8 @@ d3d12_get_param(struct pipe_screen *pscreen, enum pipe_cap 
param)
    case PIPE_CAP_CLIP_HALFZ:
    case PIPE_CAP_VS_LAYER_VIEWPORT:
    case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS:
+   case PIPE_CAP_SHADER_ARRAY_COMPONENTS:
+   case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE:
       return 1;
 
    case PIPE_CAP_MAX_VERTEX_STREAMS:

Reply via email to