vkd3d-shader/hlsl: Ignore the 'groupshared' modifier for non-compute shaders.

This commit is contained in:
Shaun Ren
2025-05-13 18:17:26 -04:00
committed by Henri Verbeet
parent 4ede2f1365
commit f3dec58423
Notes: Henri Verbeet 2025-06-24 16:31:45 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1553
2 changed files with 8 additions and 0 deletions

View File

@@ -2559,6 +2559,13 @@ static void declare_var(struct hlsl_ctx *ctx, struct parse_variable_def *v)
hlsl_error(ctx, &var->loc, VKD3D_SHADER_ERROR_HLSL_INVALID_MODIFIER,
"Variable '%s' is declared as both \"uniform\" and \"static\".", var->name);
if ((modifiers & HLSL_STORAGE_GROUPSHARED) && ctx->profile->type != VKD3D_SHADER_TYPE_COMPUTE)
{
modifiers &= ~HLSL_STORAGE_GROUPSHARED;
hlsl_warning(ctx, &var->loc, VKD3D_SHADER_WARNING_HLSL_IGNORED_MODIFIER,
"Ignoring the 'groupshared' modifier in a non-compute shader.");
}
if (modifiers & HLSL_STORAGE_GROUPSHARED)
hlsl_fixme(ctx, &var->loc, "Group shared variables.");