mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests/hlsl: Add tests for CalculateLevelOfDetail().
Includes improvements made by Giovanni Mascellani.
This commit is contained in:
committed by
Alexandre Julliard
parent
e9559c394b
commit
bdfa14d219
Notes:
Alexandre Julliard
2024-04-11 17:03:01 -05:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/733
84
tests/hlsl/calculate-lod.shader_test
Normal file
84
tests/hlsl/calculate-lod.shader_test
Normal file
@@ -0,0 +1,84 @@
|
||||
[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
|
||||
|
||||
|
||||
[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 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 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 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 draw quad
|
||||
probe all rgba (45.0, 50.0, -14.0, -47.0)
|
Reference in New Issue
Block a user