vkd3d/tests/hlsl/matrix-semantics.shader_test
Francisco Casas b08be04465 tests/shader-runner: Change resource declaration syntax on shader_test files.
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)
2024-02-19 21:11:52 +01:00

103 lines
1.8 KiB
Plaintext

[require]
shader model >= 4.0
[pixel shader]
float4x1 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader]
row_major float1x4 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
draw quad
probe all rgba (1.0, 2.0, 3.0, 4.0)
[rtv 0]
format r32 float
size (2d, 640, 480)
[rtv 1]
format r32 float
size (2d, 640, 480)
[rtv 2]
format r32 float
size (2d, 640, 480)
[rtv 3]
format r32 float
size (2d, 640, 480)
[pixel shader fail(sm>=6)]
row_major float4x1 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(sm>=6) draw quad
probe render target 0 all r (1.0)
probe render target 1 all r (2.0)
probe render target 2 all r (3.0)
probe render target 3 all r (4.0)
[pixel shader fail(sm>=6)]
float1x4 main() : sv_target
{
return float4(1.0, 2.0, 3.0, 4.0);
}
[test]
todo(sm>=6) draw quad
probe render target 0 all r (1.0)
probe render target 1 all r (2.0)
probe render target 2 all r (3.0)
probe render target 3 all r (4.0)
[pixel shader fail]
void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1)
{
x = float2(1.0, 2.0);
y = float2(5.0, 6.0);
}
[pixel shader fail(sm>=6)]
void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2)
{
x = float2(1.0, 2.0);
y = float2(5.0, 6.0);
}
[test]
todo(sm>=6) draw quad
probe render target 0 all r (1.0)
probe render target 1 all r (2.0)
probe render target 2 all r (5.0)
probe render target 3 all r (6.0)
[rtv 0]
format r32g32b32a32 float
size (2d, 640, 480)
[pixel shader fail(sm>=6)]
void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1)
{
x = float4(1.0, 2.0, 3.0, 4.0);
y = float2(5.0, 6.0);
}
[test]
todo(sm>=6) draw quad
probe render target 0 all rgba (1.0, 2.0, 3.0, 4.0)
probe render target 1 all r (5.0)
probe render target 2 all r (6.0)