vkd3d-shader/hlsl: Allocate groupshared registers.

This commit is contained in:
Shaun Ren
2025-07-31 21:38:55 -04:00
committed by Henri Verbeet
parent e615e435d9
commit 3802344e97
Notes: Henri Verbeet 2025-08-05 16:40:26 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1605
3 changed files with 53 additions and 9 deletions

View File

@@ -2566,13 +2566,10 @@ static void declare_var(struct hlsl_ctx *ctx, struct parse_variable_def *v)
"Ignoring the 'groupshared' modifier in a non-compute shader.");
}
if (modifiers & HLSL_STORAGE_GROUPSHARED)
hlsl_fixme(ctx, &var->loc, "Group shared variables.");
/* Mark it as uniform. We need to do this here since synthetic
* variables also get put in the global scope, but shouldn't be
* considered uniforms, and we have no way of telling otherwise. */
if (!(modifiers & HLSL_STORAGE_STATIC))
if (!(modifiers & (HLSL_STORAGE_STATIC | HLSL_STORAGE_GROUPSHARED)))
var->storage_modifiers |= HLSL_STORAGE_UNIFORM;
if (stream_output)