mesa: debug code for glBlitFramebuffer()
This commit is contained in:
@@ -51,6 +51,9 @@
|
||||
/** Set this to 1 to help debug FBO incompleteness problems */
|
||||
#define DEBUG_FBO 0
|
||||
|
||||
/** Set this to 1 to debug/log glBlitFramebuffer() calls */
|
||||
#define DEBUG_BLIT 0
|
||||
|
||||
|
||||
/**
|
||||
* Notes:
|
||||
@@ -1932,6 +1935,20 @@ _mesa_GenerateMipmapEXT(GLenum target)
|
||||
|
||||
|
||||
#if FEATURE_EXT_framebuffer_blit
|
||||
|
||||
static const struct gl_renderbuffer_attachment *
|
||||
find_attachment(const struct gl_framebuffer *fb, const struct gl_renderbuffer *rb)
|
||||
{
|
||||
GLuint i;
|
||||
for (i = 0; i < Elements(fb->Attachment); i++) {
|
||||
if (fb->Attachment[i].Renderbuffer == rb)
|
||||
return &fb->Attachment[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Blit rectangular region, optionally from one framebuffer to another.
|
||||
*
|
||||
@@ -2059,6 +2076,44 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
|
||||
return;
|
||||
}
|
||||
|
||||
/* Debug code */
|
||||
if (DEBUG_BLIT) {
|
||||
_mesa_printf("glBlitFramebuffer(%d, %d, %d, %d, %d, %d, %d, %d,"
|
||||
" 0x%x, 0x%x)\n",
|
||||
srcX0, srcY0, srcX1, srcY1,
|
||||
dstX0, dstY0, dstX1, dstY1,
|
||||
mask, filter);
|
||||
if (colorReadRb) {
|
||||
const struct gl_renderbuffer_attachment *att;
|
||||
|
||||
att = find_attachment(readFb, colorReadRb);
|
||||
_mesa_printf(" Src FBO %u RB %u (%dx%d) ",
|
||||
readFb->Name, colorReadRb->Name,
|
||||
colorReadRb->Width, colorReadRb->Height);
|
||||
if (att && att->Texture) {
|
||||
_mesa_printf("Tex %u tgt 0x%x level %u face %u",
|
||||
att->Texture->Name,
|
||||
att->Texture->Target,
|
||||
att->TextureLevel,
|
||||
att->CubeMapFace);
|
||||
}
|
||||
_mesa_printf("\n");
|
||||
|
||||
att = find_attachment(drawFb, colorDrawRb);
|
||||
_mesa_printf(" Dst FBO %u RB %u (%dx%d) ",
|
||||
drawFb->Name, colorDrawRb->Name,
|
||||
colorDrawRb->Width, colorDrawRb->Height);
|
||||
if (att && att->Texture) {
|
||||
_mesa_printf("Tex %u tgt 0x%x level %u face %u",
|
||||
att->Texture->Name,
|
||||
att->Texture->Target,
|
||||
att->TextureLevel,
|
||||
att->CubeMapFace);
|
||||
}
|
||||
_mesa_printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT(ctx->Driver.BlitFramebuffer);
|
||||
ctx->Driver.BlitFramebuffer(ctx,
|
||||
srcX0, srcY0, srcX1, srcY1,
|
||||
|
Reference in New Issue
Block a user