diff --git a/plugins/GSdx/GSDeviceOGL.cpp b/plugins/GSdx/GSDeviceOGL.cpp index 7354ef10e6..c7fdaef6f4 100644 --- a/plugins/GSdx/GSDeviceOGL.cpp +++ b/plugins/GSdx/GSDeviceOGL.cpp @@ -1935,6 +1935,8 @@ void GSDeviceOGL::DebugOutputToFile(GLenum gl_source, GLenum gl_type, GLuint id, severity = "Cache"; else if (id == 0xB0B0) severity = "REG"; + else if (id == 0xD0D0) + severity = "EXTRA"; break; } switch(gl_source) { diff --git a/plugins/GSdx/GSRendererHW.cpp b/plugins/GSdx/GSRendererHW.cpp index 13b2a9d947..a59d06129d 100644 --- a/plugins/GSdx/GSRendererHW.cpp +++ b/plugins/GSdx/GSRendererHW.cpp @@ -477,7 +477,7 @@ void GSRendererHW::Draw() GL_INS("Channel shuffle effect detected"); m_channel_shuffle = true; } else { - GL_INS("Special post-processing effect not supported"); + GL_DBG("Special post-processing effect not supported"); m_channel_shuffle = false; } } else { diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 8c18f1d95b..dea9491aef 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -271,7 +271,7 @@ void GSRendererOGL::EmulateZbuffer() ASSERT(m_vt.m_min.p.z > max_z); // sfex capcom logo // Fixme :Following conditional fixes some dialog frame in Wild Arms 3, but may not be what was intended. if (m_vt.m_min.p.z > max_z) { - GL_INS("Bad Z size on %s buffers", psm_str(m_context->ZBUF.PSM)); + GL_DBG("Bad Z size on %s buffers", psm_str(m_context->ZBUF.PSM)); vs_cb.DepthMask = GSVector2i(max_z, max_z); m_om_dssel.ztst = ZTST_ALWAYS; } @@ -281,7 +281,7 @@ void GSRendererOGL::EmulateZbuffer() GSVertex* v = &m_vertex.buff[0]; // Minor optimization of a corner case (it allow to better emulate some alpha test effects) if (m_om_dssel.ztst == ZTST_GEQUAL && m_vt.m_eq.z && v[0].XYZ.Z == max_z) { - GL_INS("Optimize Z test GEQUAL to ALWAYS (%s)", psm_str(m_context->ZBUF.PSM)); + GL_DBG("Optimize Z test GEQUAL to ALWAYS (%s)", psm_str(m_context->ZBUF.PSM)); m_om_dssel.ztst = ZTST_ALWAYS; } } @@ -1217,7 +1217,7 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour if ((m_context->FRAME.Block() == m_context->TEX0.TBP0) && PRIM->TME && m_sw_blending && (m_prim_overlap != PRIM_OVERLAP_NO) && (m_vertex.next > 2)) { if (m_context->FRAME.FBMSK == 0x00FFFFFF) { // Ratchet & Clank / Jak uses this pattern to compute the shadows. Alpha (multiplication) tfx is mostly equivalent to -1/+1 stencil operation - GL_INS("ERROR: Source and Target are the same! Let's sample the framebuffer"); + GL_DBG("ERROR: Source and Target are the same! Let's sample the framebuffer"); m_ps_sel.tex_is_fb = 1; m_require_full_barrier = true; } else { @@ -1397,7 +1397,7 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour bool ate_RGBA_then_Z = false; bool ate_RGB_then_ZA = false; if (ate_first_pass & ate_second_pass) { - GL_INS("Complex Alpha Test"); + GL_DBG("Complex Alpha Test"); bool commutative_depth = (m_om_dssel.ztst == ZTST_GEQUAL && m_vt.m_eq.z) || (m_om_dssel.ztst == ZTST_ALWAYS); bool commutative_alpha = (m_context->ALPHA.C != 1); // when either Alpha Src or a constant @@ -1406,12 +1406,12 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour } if (ate_RGBA_then_Z) { - GL_INS("Alternate ATE handling: ate_RGBA_then_Z"); + GL_DBG("Alternate ATE handling: ate_RGBA_then_Z"); // Render all color but don't update depth // ATE is disabled here m_om_dssel.zwe = false; } else if (ate_RGB_then_ZA) { - GL_INS("Alternate ATE handling: ate_RGB_then_ZA"); + GL_DBG("Alternate ATE handling: ate_RGB_then_ZA"); // Render RGB color but don't update depth/alpha // ATE is disabled here m_om_dssel.zwe = false; diff --git a/plugins/GSdx/config.h b/plugins/GSdx/config.h index 80b3f91797..91552974d0 100644 --- a/plugins/GSdx/config.h +++ b/plugins/GSdx/config.h @@ -43,7 +43,8 @@ #define ENABLE_OGL_DEBUG // Create a debug context and check opengl command status. Allow also to dump various textures/states. //#define ENABLE_OGL_DEBUG_FENCE //#define ENABLE_OGL_DEBUG_MEM_BW // compute the quantity of data transfered (debug purpose) -//#define ENABLE_TRACE_REG +//#define ENABLE_TRACE_REG // print GS reg write +//#define ENABLE_EXTRA_LOG // print extra log #endif #if defined(__unix__) && !(defined(_DEBUG) || defined(_DEVEL)) diff --git a/plugins/GSdx/stdafx.h b/plugins/GSdx/stdafx.h index 83eb76963c..086bf5686e 100644 --- a/plugins/GSdx/stdafx.h +++ b/plugins/GSdx/stdafx.h @@ -433,6 +433,12 @@ extern void vmfree(void* ptr, size_t size); #define GL_REG(...) (0); #endif +#if defined(ENABLE_EXTRA_LOG) && defined(_DEBUG) +#define GL_DBG(...) GL_INSERT(GL_DEBUG_TYPE_OTHER, 0xD0D0, GL_DEBUG_SEVERITY_NOTIFICATION, __VA_ARGS__) +#else +#define GL_DBG(...) (0); +#endif + #if defined(ENABLE_OGL_DEBUG) struct GLAutoPop { ~GLAutoPop() {