vkd3d/tests/hlsl/technique-fx_2.shader_test
Nikolay Sivov e527d7c1e7 vkd3d-shader/hlsl: Handle effect group statement.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-11 23:04:46 +01:00

172 lines
1.9 KiB
Plaintext

[require]
shader model < 3.0
[pixel shader fail]
float4 main() : sv_target
{
float4 teChnique = {0, 0, 0, 0};
return teChnique;
}
[pixel shader fail]
float4 main() : sv_target
{
float4 technique10 = {0, 0, 0, 0};
return technique10;
}
[pixel shader fail]
float4 main() : sv_target
{
float4 technique11 = {0, 0, 0, 0};
return technique11;
}
[pixel shader fail]
typedef float4 technique10;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
typedef float4 Technique;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader fail]
float4 main() : sv_target
{
float4 fxgroup = {0, 0, 0, 0};
return fxgroup;
}
[pixel shader]
typedef float4 Technique10;
typedef float4 Technique11;
float4 main() : sv_target
{
return float4(0, 0, 0, 0);
}
[pixel shader]
float4 main() : sv_target
{
float4 teChnique10 = {0, 0, 0, 0};
float4 teChnique11 = {0, 0, 0, 0};
return teChnique10 + teChnique11;
}
[pixel shader]
float4 main() : sv_target
{
float4 teChnique11 = {0, 0, 0, 0};
return teChnique11;
}
[pixel shader]
float4 main() : sv_target
{
float4 fxGroup = {0, 0, 0, 0};
return fxGroup;
}
[effect todo]
technique
{
}
technique10
{
}
% Effects without techniques are not allowed for fx_2_0
[effect fail]
float4 f;
% fx_5_0 keyword fails with fx_2_0 profile
[effect fail]
technique
{
}
technique11
{
}
[effect fail]
technique
{
}
tEchnique10
{
}
[effect fail]
technique
{
}
tEchnique11
{
}
[effect fail]
// Empty groups are not allowed
fxgroup group
{
}
% Regular shaders with technique blocks
[vertex shader]
float4 main() : sv_position
{
return 0;
}
technique
{
}
technique10
{
}
technique11
{
}
fxgroup group
{
technique10 {}
}
[pixel shader]
float4 main() : sv_target
{
return 0;
}
tEchnique
{
}
technique10
{
}
technique11
{
}
fxgroup group
{
technique10 {}
}