Mesa (main): glsl/nir: Don't build soft float64 when it cannot be used
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 17 21:05:35 UTC 2021
Module: Mesa
Branch: main
Commit: 04f5c543ded15362dc6286ff4ae7a38f00f6ca7e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04f5c543ded15362dc6286ff4ae7a38f00f6ca7e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 16 17:02:50 2021 -0800
glsl/nir: Don't build soft float64 when it cannot be used
Fixes: 82d9a37a59c ("glsl/nir: Add a shared helper for building float64 shaders")
Closes: #5556
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13828>
---
src/compiler/glsl/glsl_to_nir.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index 7ab447dcf06..0fc69be1b18 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -39,6 +39,7 @@
#include "main/errors.h"
#include "main/mtypes.h"
#include "main/shaderobj.h"
+#include "main/context.h"
#include "util/u_math.h"
/*
@@ -2607,6 +2608,13 @@ nir_shader *
glsl_float64_funcs_to_nir(struct gl_context *ctx,
const nir_shader_compiler_options *options)
{
+ /* It's not possible to use float64 on GLSL ES, so don't bother trying to
+ * build the support code. The support code depends on higher versions of
+ * desktop GLSL, so it will fail to compile (below) anyway.
+ */
+ if (!_mesa_is_desktop_gl(ctx) || ctx->Const.GLSLVersion < 400)
+ return NULL;
+
/* We pretend it's a vertex shader. Ultimately, the stage shouldn't
* matter because we're not optimizing anything here.
*/
More information about the mesa-commit
mailing list