Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
+ { + $$ = NULL; + } + | var_identifier + +pass_list: + %empty + +/* Exact name matching only happens for effect profiles and only for keywords specific to particular profile. + Other profiles allow insensitive matching. */ +technique9: + KW_TECHNIQUE technique_name '{' pass_list '}' + { + if (!hlsl_validate_technique_token(ctx, $1)) + hlsl_error(ctx, &@1, VKD3D_SHADER_ERROR_HLSL_NOT_DEFINED, "Identifier \"%s\" is not defined.", $1); + hlsl_fixme(ctx, &@$, "Unsupported keyword \"%s\".", $1); I don't think we want an hlsl_fixme() here. technique blocks are actually perfectly legal and ignored when not compiling effects.
What we really want is an hlsl_fixme() in hlsl_ctx_init() or something if trying to compile effects, period. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/111#note_25661