summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Brummer <mbrlabs7@gmail.com>2019-07-05 00:26:25 +0200
committerMarcus Brummer <mbrlabs7@gmail.com>2019-07-05 01:00:02 +0200
commit10f1e0f63a53a9261101cbef28e1be2b7706a7a7 (patch)
treeea835368ea0de73213030f3577322647bf4cb1d3
parent550f436f8fbea86984a845c821270fba78189143 (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.cpp2
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;
}