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.