diff options
author | Marcus Brummer <mbrlabs7@gmail.com> | 2019-07-05 00:26:25 +0200 |
---|---|---|
committer | Marcus Brummer <mbrlabs7@gmail.com> | 2019-07-05 01:00:02 +0200 |
commit | 10f1e0f63a53a9261101cbef28e1be2b7706a7a7 (patch) | |
tree | ea835368ea0de73213030f3577322647bf4cb1d3 | |
parent | 550f436f8fbea86984a845c821270fba78189143 (diff) |
Prevent GLES2 bool uniforms from having a precision type set.
When setting the default precision type for uniforms (before compiling
the shader) prevent boolean uniforms from having one set. Booleans can't
have a precision type and on some Android devices this caused a
compilation failure.
Fixes #30317
-rw-r--r-- | drivers/gles2/shader_compiler_gles2.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp index b48b93944c..ee34a478b1 100644 --- a/drivers/gles2/shader_compiler_gles2.cpp +++ b/drivers/gles2/shader_compiler_gles2.cpp @@ -318,7 +318,7 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener // use highp if no precision is specified to prevent different default values in fragment and vertex shader SL::DataPrecision precision = E->get().precision; - if (precision == SL::PRECISION_DEFAULT) { + if (precision == SL::PRECISION_DEFAULT && E->get().type != SL::TYPE_BOOL) { precision = SL::PRECISION_HIGHP; } |