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>
&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);