[01/10] wined3d: Add a function for dumping FBO status codes

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


Changelog:
  - Add a function for dumping FBO status codes
-------------- next part --------------
---

 dlls/wined3d/device.c          |    2 +-
 dlls/wined3d/utils.c           |   19 +++++++++++++++++++
 dlls/wined3d/wined3d_private.h |    1 +
 3 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index dd9d320..1820f53 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5193,7 +5193,7 @@ static void check_fbo_status(IWineD3DDevice *iface) {
     status = GL_EXTCALL(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT));
     switch(status) {
         case GL_FRAMEBUFFER_COMPLETE_EXT: TRACE("FBO complete.\n"); break;
-        default: FIXME("FBO status %#x.\n", status); break;
+        default: FIXME("FBO status %s (%#x)\n", debug_fbostatus(status), status); break;
     }
 }
 
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 849eb38..dff91af 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -696,6 +696,25 @@ const char* debug_d3dpool(WINED3DPOOL Pool) {
   }
 }
 
+const char *debug_fbostatus(GLenum status) {
+    switch(status) {
+#define FBOSTATUS_TO_STR(u) case u: return #u
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_COMPLETE_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT);
+        FBOSTATUS_TO_STR(GL_FRAMEBUFFER_UNSUPPORTED_EXT);
+#undef FBOSTATUS_TO_STR
+        default:
+            FIXME("Unrecognied FBO status 0x%08x\n", status);
+            return "unrecognized";
+    }
+}
+
 /*****************************************************************************
  * Useful functions mapping GL <-> D3D values
  */
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 7aae5e5..9fb4343 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1402,6 +1402,7 @@ const char* debug_d3dtexturefiltertype(WINED3DTEXTUREFILTERTYPE filter_type);
 const char* debug_d3dtexturestate(DWORD state);
 const char* debug_d3dtstype(WINED3DTRANSFORMSTATETYPE tstype);
 const char* debug_d3dpool(WINED3DPOOL pool);
+const char *debug_fbostatus(GLenum status);
 
 /* Routines for GL <-> D3D values */
 GLenum StencilOp(DWORD op);


More information about the wine-patches mailing list