diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index dd9d3200d5f..1820f53d343 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 849eb387156..dff91afb52a 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 7aae5e522d1..9fb434330ff 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);