summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2018-11-14 10:57:43 -0300
committerJuan Linietsky <reduzio@gmail.com>2018-11-14 10:58:16 -0300
commit4d88721e625b300608f54b14e7dd150411e5497b (patch)
treebbd1e24ddab4911f36d2b1feef0e4385bc54c97d
parent55f5f4757e03f019454fca06929ba028890b3b0f (diff)
Do not error on empty shader, just treat it as invalid by default. Fixes #15998.
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.cpp4
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp
index 18015f61d4..060988fbea 100644
--- a/drivers/gles2/rasterizer_storage_gles2.cpp
+++ b/drivers/gles2/rasterizer_storage_gles2.cpp
@@ -1125,6 +1125,10 @@ void RasterizerStorageGLES2::_update_shader(Shader *p_shader) const {
p_shader->uniforms.clear();
+ if (p_shader->code == String()) {
+ return; //just invalid, but no error
+ }
+
ShaderCompilerGLES2::GeneratedCode gen_code;
ShaderCompilerGLES2::IdentifierActions *actions = NULL;
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index 14084675af..7ca7d8a471 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -1903,6 +1903,10 @@ void RasterizerStorageGLES3::_update_shader(Shader *p_shader) const {
p_shader->uniforms.clear();
+ if (p_shader->code == String()) {
+ return; //just invalid, but no error
+ }
+
ShaderCompilerGLES3::GeneratedCode gen_code;
ShaderCompilerGLES3::IdentifierActions *actions = NULL;