diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp index a44fc299df..974fede66a 100644 --- a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp @@ -365,10 +365,6 @@ void ShaderDiskCache::SaveDecompiled(u64 unique_identifier, void ShaderDiskCache::SaveDump(u64 unique_identifier, GLuint program) { if (!IsUsable()) return; - if (!GLAD_GL_ARB_get_program_binary) { - LOG_WARNING(Render_OpenGL, "ARB_get_program_binary is not supported. Problems may occur if " - "use_disk_shader_cache is ON."); - } GLint binary_length{}; glGetProgramiv(program, GL_PROGRAM_BINARY_LENGTH, &binary_length); diff --git a/src/video_core/renderer_opengl/gl_shader_manager.cpp b/src/video_core/renderer_opengl/gl_shader_manager.cpp index 8a878b65a9..1452c84d70 100644 --- a/src/video_core/renderer_opengl/gl_shader_manager.cpp +++ b/src/video_core/renderer_opengl/gl_shader_manager.cpp @@ -442,6 +442,12 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading, "Cannot load disk cache as separate shader programs are unsupported!"); return; } + if (!GLAD_GL_ARB_get_program_binary) { + LOG_ERROR(Render_OpenGL, + "Cannot load disk cache as ARB_get_program_binary is not supported!"); + return; + } + auto& disk_cache = impl->disk_cache; const auto transferable = disk_cache.LoadTransferable(); if (!transferable) {