summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_cache.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp
index e678b4bb2..747a133fb 100644
--- a/src/video_core/renderer_opengl/gl_shader_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp
@@ -140,13 +140,16 @@ OGLAssemblyProgram CompileProgram(std::string_view code, GLenum target) {
140 glGenProgramsARB(1, &program.handle); 140 glGenProgramsARB(1, &program.handle);
141 glNamedProgramStringEXT(program.handle, target, GL_PROGRAM_FORMAT_ASCII_ARB, 141 glNamedProgramStringEXT(program.handle, target, GL_PROGRAM_FORMAT_ASCII_ARB,
142 static_cast<GLsizei>(code.size()), code.data()); 142 static_cast<GLsizei>(code.size()), code.data());
143 if (!Settings::values.renderer_debug) { 143 if (Settings::values.renderer_debug) {
144 return program; 144 const auto err = reinterpret_cast<const char*>(glGetString(GL_PROGRAM_ERROR_STRING_NV));
145 } 145 if (err && *err) {
146 const auto err = reinterpret_cast<const char*>(glGetString(GL_PROGRAM_ERROR_STRING_NV)); 146 if (std::strstr(err, "error")) {
147 if (err && *err) { 147 LOG_CRITICAL(Render_OpenGL, "\n{}", err);
148 LOG_CRITICAL(Render_OpenGL, "{}", err); 148 LOG_INFO(Render_OpenGL, "\n{}", code);
149 LOG_INFO(Render_OpenGL, "{}", code); 149 } else {
150 LOG_WARNING(Render_OpenGL, "\n{}", err);
151 }
152 }
150 } 153 }
151 return program; 154 return program;
152} 155}