Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
%empty
{
$$ = 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);
We can factor the hlsl_error() into hlsl_validate_technique_token().
Also, I know this is close to the error that native gives, but it's completely misleading and doesn't reflect the actual condition. We should do better.