gl_shader_cache: Improve GLASM error print logic
This commit is contained in:
		@@ -140,13 +140,16 @@ OGLAssemblyProgram CompileProgram(std::string_view code, GLenum target) {
 | 
			
		||||
    glGenProgramsARB(1, &program.handle);
 | 
			
		||||
    glNamedProgramStringEXT(program.handle, target, GL_PROGRAM_FORMAT_ASCII_ARB,
 | 
			
		||||
                            static_cast<GLsizei>(code.size()), code.data());
 | 
			
		||||
    if (!Settings::values.renderer_debug) {
 | 
			
		||||
        return program;
 | 
			
		||||
    }
 | 
			
		||||
    const auto err = reinterpret_cast<const char*>(glGetString(GL_PROGRAM_ERROR_STRING_NV));
 | 
			
		||||
    if (err && *err) {
 | 
			
		||||
        LOG_CRITICAL(Render_OpenGL, "{}", err);
 | 
			
		||||
        LOG_INFO(Render_OpenGL, "{}", code);
 | 
			
		||||
    if (Settings::values.renderer_debug) {
 | 
			
		||||
        const auto err = reinterpret_cast<const char*>(glGetString(GL_PROGRAM_ERROR_STRING_NV));
 | 
			
		||||
        if (err && *err) {
 | 
			
		||||
            if (std::strstr(err, "error")) {
 | 
			
		||||
                LOG_CRITICAL(Render_OpenGL, "\n{}", err);
 | 
			
		||||
                LOG_INFO(Render_OpenGL, "\n{}", code);
 | 
			
		||||
            } else {
 | 
			
		||||
                LOG_WARNING(Render_OpenGL, "\n{}", err);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return program;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user