From: Danylo Piliaiev Date: Fri, 29 May 2020 10:51:32 +0000 (+0300) Subject: glsl: inline functions with unsupported return type before converting to nir X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f1cf0e4915262c68e5fb8bd8e87fbd0af30dbe2;p=mesa.git glsl: inline functions with unsupported return type before converting to nir glsl_to_nir doesn't expect non-vector/scalar return types in functions. Fixes: 7e60d5a501f311fa5e7bca5335adc6013dc1aeb9 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3058 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3060 Signed-off-by: Danylo Piliaiev Tested-by: Witold Baryluk Reviewed-by: Witold Baryluk Reviewed-by: Timothy Arceri Part-of: --- diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index a6b9f44277f..a67e11be2cb 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -165,6 +165,12 @@ public: } } + if (!glsl_type_is_vector_or_scalar(ir->return_type) && + !ir->return_type->is_void()) { + unsupported = true; + return visit_stop; + } + return visit_continue; }