From 36fe8ccf46eea30c0c0753eb7089ea351fbb97a4 Mon Sep 17 00:00:00 2001 From: degasus Date: Sat, 22 Nov 2014 15:07:52 +0100 Subject: [PATCH 1/2] OGL: also show driver warnings on release builds --- Source/Core/VideoBackends/OGL/Render.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 3d21b6891c..b66d24b0fd 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -161,7 +161,6 @@ static void ApplySSAASettings() } } -#if defined(_DEBUG) || defined(DEBUGFAST) static void GLAPIENTRY ErrorCallback( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message, const void* userParam) { const char *s_source; @@ -195,7 +194,6 @@ static void GLAPIENTRY ErrorCallback( GLenum source, GLenum type, GLuint id, GLe default: ERROR_LOG(VIDEO, "id: %x, source: %s, type: %s - %s", id, s_source, s_type, message); break; } } -#endif // Two small Fallbacks to avoid GL_ARB_ES2_compatibility static void GLAPIENTRY DepthRangef(GLfloat neardepth, GLfloat fardepth) @@ -520,7 +518,7 @@ Renderer::Renderer() g_ogl_config.eSupportedGLSLVersion = GLSL_150; } } -#if defined(_DEBUG) || defined(DEBUGFAST) + if (GLExtensions::Supports("GL_KHR_debug")) { glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, nullptr, true); @@ -533,7 +531,7 @@ Renderer::Renderer() glDebugMessageCallbackARB( ErrorCallback, nullptr ); glEnable( GL_DEBUG_OUTPUT ); } -#endif + int samples; glGetIntegerv(GL_SAMPLES, &samples); if (samples > 1) From 6f3e20ac4256460ab726a4ed693718f51883fcc9 Mon Sep 17 00:00:00 2001 From: degasus Date: Sat, 22 Nov 2014 15:17:57 +0100 Subject: [PATCH 2/2] OGL: disable bbox writes if not supported --- Source/Core/VideoCommon/BPStructs.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index c6b57c81ca..ec7854bace 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -376,13 +376,18 @@ static void BPWritten(const BPCmd& bp) if (!g_bSkipCurrentFrame) { u8 offset = bp.address & 2; - - BoundingBox::coords[offset] = bp.newvalue & 0x3ff; - BoundingBox::coords[offset + 1] = bp.newvalue >> 10; BoundingBox::active = true; - g_renderer->BBoxWrite(offset, bp.newvalue & 0x3ff); - g_renderer->BBoxWrite(offset + 1, bp.newvalue >> 10); + if (g_ActiveConfig.backend_info.bSupportsBBox) + { + g_renderer->BBoxWrite(offset, bp.newvalue & 0x3ff); + g_renderer->BBoxWrite(offset + 1, bp.newvalue >> 10); + } + else + { + BoundingBox::coords[offset] = bp.newvalue & 0x3ff; + BoundingBox::coords[offset + 1] = bp.newvalue >> 10; + } } return; case BPMEM_TEXINVALIDATE: