Browse Source

Merge pull request #77163 from ChibiDenDen/gles_verify_shader_cache

Verify that GLES3 cached shader load is successful
Rémi Verschelde 2 năm trước cách đây
mục cha
commit
72e98fc8e4
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      drivers/gles3/shader_gles3.cpp

+ 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;