From: Marek Olšák Date: Sat, 25 Jul 2020 00:31:07 +0000 (-0400) Subject: glsl: don't lower to mediump for desktop OpenGL X-Git-Tag: upstream/21.0.0~6785 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=282a1e6288f6dfde7a5481fa43d350f755104452;p=platform%2Fupstream%2Fmesa.git 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 Part-of: --- diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index e9130d1..cb206e3 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);