Module: vkd3d Branch: master Commit: 9f409b67d72dcf3cdc4c723e57283b79e770e0c0 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/9f409b67d72dcf3cdc4c723e57283b...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Sat Jan 20 00:34:42 2024 +1000
vkd3d-shader/dxil: Handle semantic kind VERTEXID.
---
libs/vkd3d-shader/dxil.c | 1 + tests/hlsl/nointerpolation.shader_test | 26 +++++++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 29964575..63771e14 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -5789,6 +5789,7 @@ static enum vkd3d_shader_minimum_precision minimum_precision_from_dxil_component static const enum vkd3d_shader_sysval_semantic sysval_semantic_table[] = { [SEMANTIC_KIND_ARBITRARY] = VKD3D_SHADER_SV_NONE, + [SEMANTIC_KIND_VERTEXID] = VKD3D_SHADER_SV_VERTEX_ID, [SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION, [SEMANTIC_KIND_TARGET] = VKD3D_SHADER_SV_TARGET, }; diff --git a/tests/hlsl/nointerpolation.shader_test b/tests/hlsl/nointerpolation.shader_test index a3c9edfd..155a033f 100644 --- a/tests/hlsl/nointerpolation.shader_test +++ b/tests/hlsl/nointerpolation.shader_test @@ -23,7 +23,7 @@ float4 main(nointerpolation float4 t : texcoord) : sv_target }
[test] -todo(sm>=6) draw triangle list 3 +draw triangle list 3 probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader] @@ -50,7 +50,7 @@ float4 main(ps_input input) : sv_target }
[test] -todo(sm>=6) draw triangle list 3 +draw triangle list 3 probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader] @@ -77,7 +77,7 @@ float4 main(nointerpolation ps_input input) : sv_target }
[test] -todo(sm>=6) draw triangle list 3 +draw triangle list 3 probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader] @@ -104,7 +104,7 @@ float4 main(centroid ps_input input) : sv_target }
[test] -todo(sm>=6) draw triangle list 3 +draw triangle list 3 probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader] @@ -130,10 +130,26 @@ float4 main(nointerpolation ps_input input) : sv_target return input.t; }
+[require] +shader model >= 4.0 +shader model < 6.0 + [test] -todo(sm>=6) draw triangle list 3 +draw triangle list 3 probe all rgba (0.0, 1.0, 0.0, 1.0)
+% Centroid for SM 6. +[require] +shader model >= 6.0 + +[test] +draw triangle list 3 +probe (320,240) rgba (0.250390589, 0.499088615, 0.250520796, 1.0) 1 + +[require] +shader model >= 4.0 + + [vertex shader fail todo] struct ps_input {