Files
vkd3d/tests/hlsl/sampler.shader_test

318 lines
5.9 KiB
Plaintext

[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 2, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0
[pixel shader]
sampler s;
Texture2D t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
draw quad
probe (0, 0) rgba (0.25, 0, 0.25, 0)
[pixel shader]
SamplerState s;
Texture2D t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
draw quad
probe (0, 0) rgba (0.25, 0, 0.25, 0)
[pixel shader fail]
sampler2D s;
float4 main() : sv_target
{
return tex3D(s, float3(0.0, 0.0, 0.0));
}
[pixel shader fail]
sampler s;
float4 main() : sv_target
{
return tex2D(s, float2(0.0, 0.0)) + tex3D(s, float3(0.0, 0.0, 0.0));
}
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (3d, 2, 2, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0
0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0
0.0 1.0 0.0 0.0 1.0 1.0 1.0 0.0
[pixel shader]
sampler s;
Texture3D t;
float4 main() : sv_target
{
return t.Sample(s, float3(0.5, 0.5, 0.5));
}
[test]
draw quad
probe (0, 0) f32(0.25, 0.5, 0.25, 0)
[srv 0]
size (cube, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.1 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.1 0.0 1.0 0.0 0.1 0.0
0.0 0.0 0.2 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.2 0.0 1.0 0.0 0.2 0.0
0.0 0.0 0.3 0.0 0.0 0.0 0.3 0.0 0.0 0.0 0.3 0.0 1.0 0.0 0.3 0.0
0.0 0.0 0.4 0.0 0.0 0.0 0.4 0.0 0.0 0.0 0.4 0.0 1.0 0.0 0.4 0.0
0.0 0.0 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.5 0.0 1.0 0.0 0.5 0.0
[pixel shader]
sampler s;
TextureCube t;
float3 coords;
float4 main() : sv_target
{
return t.Sample(s, coords);
}
[test]
uniform 0 float4 1 0 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.0, 0)
uniform 0 float4 -1 0 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.1, 0)
uniform 0 float4 0 1 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.2, 0)
uniform 0 float4 0 -1 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.3, 0)
uniform 0 float4 0 0 1 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.4, 0)
uniform 0 float4 0 0 -1 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.5, 0)
[require]
options: backcompat
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler1D s;
float4 main() : sv_target
{
return tex1D(s, 0.0);
}
[srv 0]
size (2d, 3, 3)
0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 2.0 0.0 0.0 1.0
0.0 1.0 0.0 1.0 1.0 1.0 0.0 1.0 2.0 1.0 0.0 1.0
0.0 2.0 0.0 1.0 1.0 2.0 0.0 1.0 2.0 2.0 0.0 1.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler s;
float4 f;
float4 main() : sv_target
{
return tex2Dproj(s, f);
}
[test]
uniform 0 float4 50.0 50.0 42.0 100
draw quad
probe (0, 0) rgba(1.0, 1.0, 0, 1.0)
uniform 0 float4 0.075 0.025 -42.0 0.1
draw quad
probe (0, 0) rgba(1.75, 0.25, 0, 1.0)
uniform 0 float4 0.5 1.5 0.0 2.0
draw quad
probe (0, 0) rgba(0.25, 1.75, 0, 1.0)
uniform 0 float4 1.0 1.0 0.0 0.0
draw quad
probe (0, 0) rgba(2.0, 2.0, 0, 1.0)
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[sampler 1]
filter linear linear linear
address clamp clamp clamp
[sampler 2]
filter linear linear linear
address clamp clamp clamp
[sampler 3]
filter linear linear linear
address clamp clamp clamp
[sampler 4]
filter linear linear linear
address clamp clamp clamp
[sampler 5]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 1, 1)
0.0 0.0 0.0 1.0
[srv 1]
size (2d, 1, 1)
1.0 1.0 1.0 1.0
[srv 2]
size (2d, 1, 1)
2.0 2.0 2.0 1.0
[srv 3]
size (2d, 1, 1)
3.0 3.0 3.0 1.0
[srv 4]
size (2d, 1, 1)
4.0 4.0 4.0 1.0
[srv 5]
size (2d, 1, 1)
5.0 5.0 5.0 1.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler samA;
sampler samB[2];
sampler samC[3];
float4 main() : sv_target
{
return 100 * tex2D(samC[2], float2(0, 0))
+ 10 * tex2D(samB[0], float2(0, 0))
+ tex2D(samA, float2(0, 0));
}
[test]
draw quad
if(sm<4) probe (0, 0) rgba(243, 243, 243, 111)
if(sm>=4) probe (0, 0) rgba(234, 234, 234, 111)
[srv 0]
size (3d, 2, 2, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0
0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0
0.0 1.0 0.0 0.0 1.0 1.0 1.0 0.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
sampler s;
float4 main() : sv_target
{
return tex3D(s, float3(0.5, 0.5, 0.5));
}
[test]
draw quad
probe (0, 0) f32(0.25, 0.5, 0.25, 0)
[srv 0]
size (cube, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.1 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.1 0.0 1.0 0.0 0.1 0.0
0.0 0.0 0.2 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.2 0.0 1.0 0.0 0.2 0.0
0.0 0.0 0.3 0.0 0.0 0.0 0.3 0.0 0.0 0.0 0.3 0.0 1.0 0.0 0.3 0.0
0.0 0.0 0.4 0.0 0.0 0.0 0.4 0.0 0.0 0.0 0.4 0.0 1.0 0.0 0.4 0.0
0.0 0.0 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.5 0.0 1.0 0.0 0.5 0.0
[pixel shader fail(sm>=5.1) todo(sm>=5.1)]
samplerCUBE s;
float3 coords;
float4 main() : sv_target
{
return texCUBE(s, coords);
}
[test]
uniform 0 float4 1 0 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.0, 0)
uniform 0 float4 -1 0 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.1, 0)
uniform 0 float4 0 1 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.2, 0)
uniform 0 float4 0 -1 0 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.3, 0)
uniform 0 float4 0 0 1 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.4, 0)
uniform 0 float4 0 0 -1 0
draw quad
probe (0, 0) f32(0.25, 0.0, 0.5, 0)
[require]
shader model >= 4.0
[srv 0]
size (2d, 2, 2)
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 2621.0 0.0 -2621.0 0.0
[pixel shader]
sampler s;
Texture2D<min16float4> t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
todo(msl & sm>=6) draw quad
probe (0, 0) rgba(655.0, 0, -655.0, 0) 4096
[require]
shader model >= 6.2
native-16-bit
[pixel shader]
sampler s;
Texture2D<half4> t;
float4 main() : sv_target
{
return t.Sample(s, float2(0.5, 0.5));
}
[test]
draw quad
probe (0, 0) rgba(655.0, 0, -655.0, 0)