vkd3d-shader/hlsl: Parse function call syntax on state blocks.

This commit is contained in:
Francisco Casas
2024-03-19 16:06:12 -03:00
committed by Henri Verbeet
parent f15d8dc9e9
commit b5f2e7daeb
Notes: Henri Verbeet 2024-07-09 21:10:32 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/915
4 changed files with 47 additions and 9 deletions

View File

@ -1,6 +1,6 @@
% Unlike assignment syntax, only these names are allowed.
% The parameter count is also checked.
[pixel shader todo]
[pixel shader]
sampler sam
{
SetBlendState(foo, bar, baz); // 3 parameters
@ -27,7 +27,7 @@ sampler sam
float4 main() : sv_target { return 0; }
[pixel shader fail(sm<6)]
[pixel shader fail(sm<6) todo]
sampler sam
{
SetSomeotherState();
@ -37,7 +37,7 @@ float4 main() : sv_target { return 0; }
% It is allowed to use functions together with assignment syntax.
[pixel shader todo]
[pixel shader]
sampler sam
{
SetDepthStencilState(foo, bar);
@ -48,7 +48,7 @@ float4 main() : sv_target { return 0; }
% Test complex expression on the arguments, including function calls.
[pixel shader todo]
[pixel shader]
float4 addition(float4 a, float4 b)
{
return a + b;
@ -63,7 +63,7 @@ float4 main() : sv_target { return 0; }
% Test the same thing on technique passes
[pixel shader todo]
[pixel shader]
technique tech1
{
pass pass1