vkd3d/tests/hlsl-type-names.shader_test
Nikolay Sivov b172f4c257 vkd3d-shader/hlsl: Improve handling of builtin alias type "vector".
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-04-03 17:59:08 +02:00

115 lines
1.7 KiB
Plaintext

[pixel shader]
typedef float2 Dword;
typedef float3 dWord;
typedef float2 fLoat;
typedef float2 mAtrix;
typedef float2 vEctor;
float4 f()
{
typedef Dword dword;
typedef fLoat float;
dword v1 = {1, 2};
float v2 = {2, 3};
DWORD v4 = 4;
mAtrix v5 = {1, 2};
maTrix v6 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
matrix v7 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
vector v8 = {1, 2, 3, 4};
vEctor v9 = {1, 2};
Vector v10 = {1, 2, 3, 4};
vectoR v11 = {1, 2, 3, 4};
return float4(v1.x, v2.x, v2.y, v4);
}
float4 f2()
{
typedef dword dword;
typedef float float;
dword v1 = 1;
float v2 = 1;
return float4(v1, v2, v1, v1);
}
float4 main() : SV_TARGET
{
return f() + f2();
}
[test]
draw quad
probe all rgba (2.0, 3.0, 4.0, 5.0)
% The "dword" alias is pre-defined as lowercase
[pixel shader fail]
typedef float2 dword;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
struct DWORD s;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef float2 float;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef float2 matrix;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
float4 f()
{
typedef float2 matrix;
return float4(0, 0, 0, 0);
}
float4 main() : SV_TARGET
{
return f();
}
[pixel shader fail]
float4 f()
{
typedef float2 vector;
return float4(0, 0, 0, 0);
}
float4 main() : SV_TARGET
{
return f();
}
[pixel shader fail]
Matrix<float, 2, 2> m;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
Vector<float, 2> v;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}