From 3777ef3a7199441d3c3f4c208123fcab338390f1 Mon Sep 17 00:00:00 2001 From: "H. Verbeet" Date: Mon, 16 Apr 2007 21:19:20 +0200 Subject: [PATCH] wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT. --- dlls/wined3d/device.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 1820f53d343..d4f8dddb41e 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5191,9 +5191,29 @@ static void check_fbo_status(IWineD3DDevice *iface) { GLenum status; status = GL_EXTCALL(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); - switch(status) { - case GL_FRAMEBUFFER_COMPLETE_EXT: TRACE("FBO complete.\n"); break; - default: FIXME("FBO status %s (%#x)\n", debug_fbostatus(status), status); break; + if (status == GL_FRAMEBUFFER_COMPLETE_EXT) { + TRACE("FBO complete\n"); + } else { + FIXME("FBO status %s (%#x)\n", debug_fbostatus(status), status); + + /* Dump the FBO attachments */ + if (status == GL_FRAMEBUFFER_UNSUPPORTED_EXT) { + IWineD3DSurfaceImpl *attachment; + int i; + + for (i = 0; i < GL_LIMITS(buffers); ++i) { + attachment = (IWineD3DSurfaceImpl *)This->fbo_color_attachments[i]; + if (attachment) { + FIXME("\tColor attachment %d: (%p) %s %ux%u\n", i, attachment, debug_d3dformat(attachment->resource.format), + attachment->pow2Width, attachment->pow2Height); + } + } + attachment = (IWineD3DSurfaceImpl *)This->fbo_depth_attachment; + if (attachment) { + FIXME("\tDepth attachment: (%p) %s %ux%u\n", attachment, debug_d3dformat(attachment->resource.format), + attachment->pow2Width, attachment->pow2Height); + } + } } }