2
0
Эх сурвалжийг харах

Verify gles3 cached shader load successful

ChibiDenDen 2 жил өмнө
parent
commit
14e9a61ebc

+ 7 - 0
drivers/gles3/shader_gles3.cpp

@@ -564,6 +564,13 @@ bool ShaderGLES3::_load_from_cache(Version *p_version) {
 			specialization.id = glCreateProgram();
 			glProgramBinary(specialization.id, variant_format, variant_bytes.ptr(), variant_bytes.size());
 
+			GLint link_status = 0;
+			glGetProgramiv(specialization.id, GL_LINK_STATUS, &link_status);
+			if (link_status != GL_TRUE) {
+				WARN_PRINT_ONCE("Failed to load cached shader, recompiling.");
+				return false;
+			}
+
 			_get_uniform_locations(specialization, p_version);
 
 			specialization.ok = true;