gsdx ogl: add an extra debug log level

Avoid too much log
This commit is contained in:
Gregory Hainaut 2016-10-14 20:24:52 +02:00
parent 3c30db965d
commit 2c0a4ac906
5 changed files with 17 additions and 8 deletions

View File

@ -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) {

View File

@ -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 {

View File

@ -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;

View File

@ -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))

View File

@ -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() {