Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
+static bool hlsl_validate_technique_token(struct hlsl_ctx *ctx, const char *token) +{
- if (ctx->profile->type != VKD3D_SHADER_TYPE_EFFECT)
return true;
- switch (ctx->profile->major_version)
- {
case 2:
return !strcmp(token, "technique");
case 4:
return !strcmp(token, "technique10");
case 5:
return !strcmp(token, "technique11");
default:
vkd3d_unreachable();
- }
This doesn't match my testing at all. fx_2_0 doesn't allow technique10 or technique11, but it doesn't care about case, and fx_4_0 and fx_5_0 accept anything. Where are you seeing this?