vkd3d/tests/hlsl/gather-offset.shader_test

118 lines
1.6 KiB
Plaintext

[require]
shader model >= 4.1
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 3, 3)
0.0 0.0 0.0 0.4 0.1 0.0 0.5 0.0 0.2 0.0 0.0 0.4
0.0 0.1 0.5 0.0 0.1 0.1 0.0 0.4 0.2 0.1 0.5 0.0
0.0 0.2 0.0 0.4 0.1 0.2 0.5 0.0 0.2 0.2 0.0 0.4
[pixel shader]
sampler s;
Texture2D t;
float4 main() : sv_target
{
return t.Gather(s, float2(0.2, 0.2), int2(1, 0));
}
[test]
draw quad
probe all rgba (0.1, 0.2, 0.2, 0.1)
[pixel shader]
sampler s;
Texture2D t;
float4 main() : sv_target
{
return t.GatherRed(s, float2(0.6, 0.6), int2(-1, 0));
}
[test]
draw quad
probe all rgba (0.0, 0.1, 0.1, 0.0)
[require]
shader model >= 5.0
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.GatherGreen(s, float2(0.2, 0.2), int2(0, 1));
}
[test]
draw quad
probe all rgba (0.2, 0.2, 0.1, 0.1)
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.GatherGreen(s, float2(0.8, 0.8), int2(-1, -1));
}
[test]
draw quad
probe all rgba (0.1, 0.1, 0.0, 0.0)
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.GatherBlue(s, float2(0.2, 0.8), int2(1, 0));
}
[test]
draw quad
probe all rgba (0.5, 0.0, 0.5, 0.0)
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.GatherAlpha(s, float2(0.2, 0.8), int2(0, -1));
}
[test]
draw quad
probe all rgba (0.0, 0.4, 0.0, 0.4)
[pixel shader]
sampler s;
Texture2D t;
uniform int2 offset;
float4 main() : sv_target
{
return t.Gather(s, float2(0.2, 0.2), offset);
}
[test]
uniform 0 int4 1 0 0 0
draw quad
probe all rgba (0.1, 0.2, 0.2, 0.1)