mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/hlsl: Allow KW_PIXELSHADER and KW_VERTEXSHADER as stateblock lhs.
This commit is contained in:
parent
ef9ae22ed0
commit
e9559c394b
Notes:
Alexandre Julliard
2024-04-11 17:02:42 -05:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Zebediah Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/739
@ -5537,9 +5537,9 @@ static bool state_block_add_entry(struct hlsl_state_block *state_block, struct h
|
|||||||
|
|
||||||
%type <name> any_identifier
|
%type <name> any_identifier
|
||||||
%type <name> var_identifier
|
%type <name> var_identifier
|
||||||
|
%type <name> stateblock_lhs_identifier
|
||||||
%type <name> name_opt
|
%type <name> name_opt
|
||||||
|
|
||||||
|
|
||||||
%type <parameter> parameter
|
%type <parameter> parameter
|
||||||
|
|
||||||
%type <parameters> param_list
|
%type <parameters> param_list
|
||||||
@ -6707,6 +6707,22 @@ state_block_start:
|
|||||||
ctx->in_state_block = 1;
|
ctx->in_state_block = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stateblock_lhs_identifier:
|
||||||
|
any_identifier
|
||||||
|
{
|
||||||
|
$$ = $1;
|
||||||
|
}
|
||||||
|
| KW_PIXELSHADER
|
||||||
|
{
|
||||||
|
if (!($$ = hlsl_strdup(ctx, "pixelshader")))
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
|
| KW_VERTEXSHADER
|
||||||
|
{
|
||||||
|
if (!($$ = hlsl_strdup(ctx, "vertexshader")))
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
|
|
||||||
state_block_index_opt:
|
state_block_index_opt:
|
||||||
%empty
|
%empty
|
||||||
{
|
{
|
||||||
@ -6731,7 +6747,7 @@ state_block:
|
|||||||
if (!($$ = hlsl_alloc(ctx, sizeof(*$$))))
|
if (!($$ = hlsl_alloc(ctx, sizeof(*$$))))
|
||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
| state_block any_identifier state_block_index_opt '=' complex_initializer ';'
|
| state_block stateblock_lhs_identifier state_block_index_opt '=' complex_initializer ';'
|
||||||
{
|
{
|
||||||
struct hlsl_state_block_entry *entry;
|
struct hlsl_state_block_entry *entry;
|
||||||
|
|
||||||
|
@ -442,7 +442,7 @@ float4 main() : sv_target { return 0; }
|
|||||||
|
|
||||||
|
|
||||||
% PixelShader and VertexShader are valid identifiers for the lhs
|
% PixelShader and VertexShader are valid identifiers for the lhs
|
||||||
[pixel shader todo]
|
[pixel shader]
|
||||||
sampler sam
|
sampler sam
|
||||||
{
|
{
|
||||||
pixelShader = 20;
|
pixelShader = 20;
|
||||||
|
Loading…
Reference in New Issue
Block a user