Zebediah Figura : vkd3d-shader: Forbid declaring parameters as both "out" and "uniform".

Alexandre Julliard julliard at winehq.org
Fri May 14 15:34:16 CDT 2021


Module: vkd3d
Branch: master
Commit: 1bc2ea37c26ca955603ca369832228dde2ebdf37
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=1bc2ea37c26ca955603ca369832228dde2ebdf37

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Mon May 10 23:36:04 2021 -0500

vkd3d-shader: Forbid declaring parameters as both "out" and "uniform".

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/hlsl.y | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y
index 4e17e80..9eef5e2 100644
--- a/libs/vkd3d-shader/hlsl.y
+++ b/libs/vkd3d-shader/hlsl.y
@@ -763,6 +763,10 @@ static bool add_func_parameter(struct hlsl_ctx *ctx, struct list *list,
     if (param->type->type == HLSL_CLASS_MATRIX)
         assert(param->type->modifiers & HLSL_MODIFIERS_MAJORITY_MASK);
 
+    if ((param->modifiers & HLSL_STORAGE_OUT) && (param->modifiers & HLSL_STORAGE_UNIFORM))
+        hlsl_error(ctx, loc, VKD3D_SHADER_ERROR_HLSL_INVALID_MODIFIER,
+                "Parameter '%s' is declared as both \"out\" and \"uniform\".", param->name);
+
     if (!(var = hlsl_new_var(param->name, param->type, loc, &param->semantic, param->modifiers, param->reg_reservation)))
         return false;
     var->is_param = 1;




More information about the wine-cvs mailing list