Module: Mesa Branch: staging/20.0 Commit: 134dbf54166cdf4171cc221ba6d90a14ec75fa75 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=134dbf54166cdf4171cc221ba6d90a14ec75fa75
Author: Danylo Piliaiev <danylo.pilia...@globallogic.com> Date: Fri May 29 13:51:32 2020 +0300 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 <danylo.pilia...@globallogic.com> Tested-by: Witold Baryluk <witold.bary...@gmail.com> Reviewed-by: Witold Baryluk <witold.bary...@gmail.com> Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5333> (cherry picked from commit 9f1cf0e4915262c68e5fb8bd8e87fbd0af30dbe2) --- .pick_status.json | 2 +- src/compiler/glsl/glsl_to_nir.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index f390d2e4b5a..0f80b1f31e6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -373,7 +373,7 @@ "description": "glsl: inline functions with unsupported return type before converting to nir", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "7e60d5a501f311fa5e7bca5335adc6013dc1aeb9" }, diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index fdc14bfe507..cbfed2175fa 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -166,6 +166,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; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit