[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