vkd3d/tests/hlsl/calculate-lod.shader_test
Conor McCarthy 425e0aa6c3 tests/hlsl: Supply data for all mip levels in calculate-lod.shader_test.
Fixes invalid read in the GL runner.
2024-04-15 21:33:40 +02:00

89 lines
2.6 KiB
Plaintext

[require]
shader model >= 4.1
[sampler 0]
filter linear linear linear
address clamp clamp clamp
[srv 0]
size (2d, 4, 4)
levels 3
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetail(s, pos.xy),
t.CalculateLevelOfDetail(s, float2(0.5 * pos.x, 0.5 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.25 * pos.x, 0.25 * pos.y)),
floor(10.0 * t.CalculateLevelOfDetail(s, float2(0.1 * pos.x, 0.7 * pos.y))));
}
[test]
todo(sm<6 | glsl) draw quad
probe all rgba (2.0, 1.0, 0.0, 14.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetail(s, float2(3.0 * pos.x, 5.0 * pos.y)),
t.CalculateLevelOfDetail(s, float2(10.0 * pos.x, 10.0 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.1 * pos.x, 0.02 * pos.y)),
t.CalculateLevelOfDetail(s, float2(0.01 * pos.x, 0.01 * pos.y)));
}
[test]
todo(sm<6 | glsl) draw quad
probe all rgba (2.0, 2.0, 0.0, 0.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(t.CalculateLevelOfDetailUnclamped(s, pos.xy),
t.CalculateLevelOfDetailUnclamped(s, float2(0.5 * pos.x, 0.5 * pos.y)),
t.CalculateLevelOfDetailUnclamped(s, float2(0.25 * pos.x, 0.25 * pos.y)),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.1 * pos.x, 0.7 * pos.y))));
}
[test]
todo(sm<6 | glsl) draw quad
probe all rgba (2.0, 1.0, 0.0, 14.0)
[pixel shader todo]
sampler s;
Texture2D t;
float4 main(float4 pos : sv_position) : sv_target
{
return float4(floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(3.0 * pos.x, 6.0 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(8.0 * pos.x, 8.0 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.1 * pos.x, 0.02 * pos.y))),
floor(10.0 * t.CalculateLevelOfDetailUnclamped(s, float2(0.01 * pos.x, 0.01 * pos.y))));
}
[test]
todo(sm<6 | glsl) draw quad
probe all rgba (45.0, 50.0, -14.0, -47.0)