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)
64 lines
1.1 KiB
Plaintext
64 lines
1.1 KiB
Plaintext
% The texel offset argument to Load() must resolve to a constant integer;
|
|
% make sure that we can do so.
|
|
|
|
[require]
|
|
shader model >= 4.0
|
|
|
|
|
|
[srv 0]
|
|
size (2d, 4, 4)
|
|
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
|
|
5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8
|
|
9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12
|
|
13 13 13 13 14 14 14 14 14 15 15 15 16 16 16 16
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex;
|
|
uniform int i;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int4 a = {1, 2, i, i};
|
|
return 100 * a + tex.Load(int3(0, 0, 0), a.xy);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int 4
|
|
draw quad
|
|
probe all rgba (110, 210, 410, 410)
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex;
|
|
uniform int i;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int4 a = {0, 1, 2, i};
|
|
int4 b = a.yxww;
|
|
int3 c = b.wyx;
|
|
return 100 * b + tex.Load(int3(0, 0, 0), c.yz);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int 3
|
|
draw quad
|
|
probe all rgba (105, 5, 305, 305)
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex;
|
|
uniform int i;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int4 a = {1, 2, 3, i};
|
|
return tex.Load(int3(0, 0, 0), a.wzxx.yxw.zx);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 int 1
|
|
draw quad
|
|
probe all rgba (14.0, 14.0, 14.0, 14.0)
|