Skip to content
Snippets Groups Projects
Commit 337b4c5d authored by Francisco Casas's avatar Francisco Casas Committed by Alexandre Julliard
Browse files

tests: Test constant propagation through swizzles.

The Load() method offsets are used for these tests since these must
solve to constants in order to pass.
parent cf178821
No related branches found
No related tags found
1 merge request!51vkd3d-shader/hlsl: Improve constant handling in copy prop, and extend the use of aoffimmi modifiers.
......@@ -141,6 +141,7 @@ vkd3d_shader_tests = \
tests/swizzle-5.shader_test \
tests/swizzle-6.shader_test \
tests/swizzle-7.shader_test \
tests/swizzle-constant-prop.shader_test \
tests/texture-load.shader_test \
tests/texture-load-offset.shader_test \
tests/texture-load-typed.shader_test \
......
% The texel offset argument to Load() must resolve to a constant integer;
% make sure that we can do so.
[require]
shader model >= 4.0
[texture 0]
size (4, 4)
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8
9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12
13 13 13 13 14 14 14 14 14 15 15 15 16 16 16 16
[pixel shader todo]
Texture2D tex;
uniform int i;
float4 main() : sv_target
{
int4 a = {1, 2, i, i};
return 100 * a + tex.Load(int3(0, 0, 0), a.xy);
}
[test]
uniform 0 int 4
todo draw quad
todo probe all rgba (110, 210, 410, 410)
[pixel shader todo]
Texture2D tex;
uniform int i;
float4 main() : sv_target
{
int4 a = {0, 1, 2, i};
int4 b = a.yxww;
int3 c = b.wyx;
return 100 * b + tex.Load(int3(0, 0, 0), c.yz);
}
[test]
uniform 0 int 3
todo draw quad
todo probe all rgba (105, 5, 305, 305)
[pixel shader todo]
Texture2D tex;
uniform int i;
float4 main() : sv_target
{
int4 a = {1, 2, 3, i};
return tex.Load(int3(0, 0, 0), a.wzxx.yxw.zx);
}
[test]
uniform 0 int 1
todo draw quad
todo probe all rgba (14.0, 14.0, 14.0, 14.0)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment