H. Verbeet : wined3d: Add a function for dumping FBO status codes.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 17 08:12:11 CDT 2007


Module: wine
Branch: master
Commit: c4cc10a59513da02908ddf633df996f4f8e460e1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c4cc10a59513da02908ddf633df996f4f8e460e1

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Mon Apr 16 21:19:12 2007 +0200

wined3d: Add a function for dumping FBO status codes.

---

 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-cvs mailing list