Module: vkd3d Branch: master Commit: 154a73a5b17245ceec449964c664e63356a7b316 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=154a73a5b17245ceec449964...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Mar 22 17:02:38 2021 -0500
vkd3d-shader: Do not mark objects as uniform or varying.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d-shader/hlsl.y | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index 912064b..ab7059d 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -766,16 +766,19 @@ static bool add_func_parameter(struct hlsl_ctx *ctx, struct list *list, if (!(var = hlsl_new_var(param->name, param->type, loc, param->semantic, param->reg_reservation))) return false;
- if (param->modifiers & HLSL_STORAGE_UNIFORM) + if (param->type->type != HLSL_CLASS_OBJECT) { - var->is_uniform = 1; - } - else - { - if (param->modifiers & HLSL_STORAGE_IN) - var->is_input_varying = 1; - if (param->modifiers & HLSL_STORAGE_OUT) - var->is_output_varying = 1; + if (param->modifiers & HLSL_STORAGE_UNIFORM) + { + var->is_uniform = 1; + } + else + { + if (param->modifiers & HLSL_STORAGE_IN) + var->is_input_varying = 1; + if (param->modifiers & HLSL_STORAGE_OUT) + var->is_output_varying = 1; + } }
if (!hlsl_add_var(ctx, var, false)) @@ -1428,7 +1431,7 @@ static struct list *declare_vars(struct hlsl_ctx *ctx, struct hlsl_type *basic_t
if (ctx->cur_scope == ctx->globals) { - if (!(modifiers & HLSL_STORAGE_STATIC)) + if (type->type != HLSL_CLASS_OBJECT && !(modifiers & HLSL_STORAGE_STATIC)) var->is_uniform = 1;
local = false;