mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/msl: Implement support for VKD3DSPR_IDXTEMP registers.
This commit is contained in:
Notes:
Henri Verbeet
2025-06-09 16:31:45 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1547
@@ -180,11 +180,11 @@ uniform 0 float4 2.0 2.0 2.0 2.0
|
||||
uniform 4 float4 3.0 3.0 3.0 3.0
|
||||
if(sm<4) uniform 8 float4 0 0 0 0
|
||||
if(sm>=4) uniform 8 uint4 0 0 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba(2.0, 2.0, 2.0, 2.0)
|
||||
if(sm<4) uniform 8 float4 1 0 0 0
|
||||
if(sm>=4) uniform 8 uint4 1 0 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
% OOB indexes are illegal, but sm < 6 allows them in dead code.
|
||||
|
@@ -136,5 +136,5 @@ float4 main() : sv_target
|
||||
|
||||
[test]
|
||||
uniform 0 float 3
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (12, 13, 14, 15)
|
||||
|
@@ -235,12 +235,12 @@ uint4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
uniform 1 uint 100
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
% In D3D12 with SM5 all reads to the array return 0
|
||||
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(100, 2, 0x7ff, 0xfff)
|
||||
uniform 0 uint 2
|
||||
uniform 1 uint 1000
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 1000, 0xfff)
|
||||
|
||||
[rtv 0]
|
||||
@@ -261,12 +261,12 @@ int4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
uniform 1 uint 100
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
% In D3D12 with SM5 all reads to the array return 0
|
||||
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(100, 2, 0x7ff, 0xfff)
|
||||
uniform 0 uint 2
|
||||
uniform 1 uint 1000
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 1000, 0xfff)
|
||||
|
||||
[rtv 0]
|
||||
@@ -287,9 +287,9 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
uniform 1 float 3.0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba(3.0, 2.0, 0.5, 111.0)
|
||||
uniform 0 uint 2
|
||||
uniform 1 float 5.0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba(1.0, 2.0, 5.0, 111.0)
|
||||
|
@@ -67,7 +67,7 @@ float4 main() : sv_target
|
||||
|
||||
[test]
|
||||
uniform 0 float 2.3
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (3, 3, 3, 3)
|
||||
|
||||
|
||||
@@ -108,16 +108,16 @@ float4 main() : sv_target
|
||||
|
||||
[test]
|
||||
uniform 0 float4 0 0 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
|
||||
uniform 0 float4 1 0 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (5.0, 6.0, 7.0, 8.0)
|
||||
uniform 0 float4 0 1 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (5.0, 6.0, 7.0, 8.0)
|
||||
uniform 0 float4 1 1 0 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (9.0, 10.0, 11.0, 12.0)
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ float4 main() : sv_target
|
||||
|
||||
[test]
|
||||
uniform 0 float4 0 0 2.4 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1.0, 120.0, 90.0, 4.0)
|
||||
|
||||
|
||||
@@ -268,15 +268,15 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 int 0
|
||||
uniform 1 int 0
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (100, 6, 7, 8)
|
||||
uniform 0 int 2
|
||||
uniform 1 int 2
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (5, 6, 100, 8)
|
||||
uniform 0 int 1
|
||||
uniform 1 int 3
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (5, 6, 7, 4)
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ uniform 0 float4 1 2 3 4
|
||||
uniform 4 float4 5 6 7 8
|
||||
uniform 8 int 3
|
||||
uniform 9 int 4
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1126, 3344, 5566, 3788)
|
||||
|
||||
|
||||
@@ -325,7 +325,7 @@ float4 main() : sv_target
|
||||
[test]
|
||||
uniform 0 uint 1
|
||||
uniform 1 uint 0x40a00000
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1, 5, 3, 4)
|
||||
|
||||
|
||||
@@ -356,7 +356,7 @@ uniform 8 float 3.0
|
||||
uniform 12 float 4.0
|
||||
uniform 16 uint4 3 1 0 2
|
||||
uniform 20 uint4 0 3 1 2
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm<4) probe (0,0) rgba (1.0, 1.0, 1.0, 1.0)
|
||||
if(sm>=4 & sm<6) todo probe (0,0) rgba (4.0, 4.0, 4.0, 4.0)
|
||||
if(sm>=6) probe (0,0) rgba (4.0, 3.0, 2.0, 1.0)
|
||||
|
@@ -101,7 +101,7 @@ float4 main(struct ps_data ps_input) : SV_Target
|
||||
[test]
|
||||
uniform 0 uint4 1 2 0 1
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
todo(msl) draw triangle strip 4
|
||||
draw triangle strip 4
|
||||
probe (0, 0) rgba(0.0, 1.0, 0.0, 1.0)
|
||||
|
||||
[require]
|
||||
|
Reference in New Issue
Block a user