mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
b08be04465
On shader_test files, now resources should be declared this way: [texture n] -> [srv n] [srv buffer n] -> [srv n] [uav n] -> [uav n] [uav buffer n] -> [uav n] [vertex buffer n] -> [vb n] [render target n] -> [rtv n] The dimension (buffer or 2D) is now specified as an additional parameter in the "size" directive: For 2D resources: size (n, m) -> size (2d, n, m) For buffers: size (n, 1) -> size (buffer, n)
52 lines
842 B
Plaintext
52 lines
842 B
Plaintext
[require]
|
|
shader model >= 4.0
|
|
|
|
[srv 0]
|
|
size (2d, 3, 3)
|
|
0 0 0 1 1 0 0 1 2 0 0 1
|
|
0 1 0 1 1 1 0 1 2 1 0 1
|
|
0 2 0 1 1 2 0 1 2 2 0 1
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D t;
|
|
|
|
float4 main(float4 pos : sv_position) : sv_target
|
|
{
|
|
return t.Load(int3(pos.xy, 0), int2(0, 1));
|
|
}
|
|
|
|
|
|
[test]
|
|
draw quad
|
|
probe (0, 0) rgba (0, 1, 0, 1)
|
|
probe (1, 0) rgba (1, 1, 0, 1)
|
|
probe (0, 1) rgba (0, 2, 0, 1)
|
|
probe (1, 1) rgba (1, 2, 0, 1)
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D t;
|
|
|
|
float4 main(float4 pos : sv_position) : sv_target
|
|
{
|
|
return t.Load(int3(pos.xy, 0), int2(-2, 0));
|
|
}
|
|
|
|
|
|
[test]
|
|
draw quad
|
|
probe (3, 0) rgba (1, 0, 0, 1)
|
|
probe (4, 0) rgba (2, 0, 0, 1)
|
|
probe (3, 1) rgba (1, 1, 0, 1)
|
|
probe (4, 1) rgba (2, 1, 0, 1)
|
|
|
|
|
|
[pixel shader fail]
|
|
Texture2D t;
|
|
|
|
float4 main(float4 pos : sv_position) : sv_target
|
|
{
|
|
return t.Load(int3(pos.xy, 0), int2(8, 1));
|
|
}
|