diff options
author | Marek Olšák <marek.olsak@amd.com> | 2020-07-24 20:31:07 -0400 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-08-05 22:04:47 +0000 |
commit | 282a1e6288f6dfde7a5481fa43d350f755104452 (patch) | |
tree | 93818c0b33c74af51f48f35f1810d58cdbd07048 /src/compiler/glsl/glsl_parser_extras.cpp | |
parent | 01e008563753671c9076867c355d723932bc1b27 (diff) |
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@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6073>
Diffstat (limited to 'src/compiler/glsl/glsl_parser_extras.cpp')
-rw-r--r-- | src/compiler/glsl/glsl_parser_extras.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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); |