Mesa (master): glsl: don't lower to mediump for desktop OpenGL
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Aug 5 22:23:15 UTC 2020
Module: Mesa
Branch: master
Commit: 282a1e6288f6dfde7a5481fa43d350f755104452
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=282a1e6288f6dfde7a5481fa43d350f755104452
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Jul 24 20:31:07 2020 -0400
glsl: don't lower to mediump for desktop OpenGL
Desktop OpenGL ignores all precision qualifiers.
Also, the lowering pass doesn't work if precision qualifiers are not set,
which is only possible with desktop OpenGL, causing random behavior.
Reviewed-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073>
---
src/compiler/glsl/glsl_parser_extras.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp
index e9130d16d25..cb206e32a49 100644
--- a/src/compiler/glsl/glsl_parser_extras.cpp
+++ b/src/compiler/glsl/glsl_parser_extras.cpp
@@ -2249,7 +2249,8 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader,
&ctx->Const.ShaderCompilerOptions[shader->Stage];
if (!state->error && !shader->ir->is_empty()) {
- if (options->LowerPrecisionFloat16 || options->LowerPrecisionInt16)
+ if (state->es_shader &&
+ (options->LowerPrecisionFloat16 || options->LowerPrecisionInt16))
lower_precision(options, shader->ir);
lower_builtins(shader->ir);
assign_subroutine_indexes(state);
More information about the mesa-commit
mailing list