[02/10] wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT

H. Verbeet hverbeet at gmail.com
Mon Apr 16 14:19:20 CDT 2007


This is pretty useful for figuring out why a certain FBO configuration
is unsupported.

Changelog:
  - Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT
-------------- next part --------------
---

 dlls/wined3d/device.c |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 1820f53..d4f8ddd 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);
+            }
+        }
     }
 }
 


More information about the wine-patches mailing list