[05/10] wined3d: Set the FBO drawbuffer using glDrawBuffer when ARB_DRAW_BUFFERS is not supported

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


While most cards that support FBOs are likely to also support
ARB_DRAW_BUFFERS, the GF FX for example doesn't. This should
potentially fix some issues for those cards.

Changelog:
  - Set the FBO drawbuffer using glDrawBuffer when ARB_DRAW_BUFFERS is
not supported
-------------- next part --------------
---

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

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ba9698b..7a0764b 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5269,6 +5269,9 @@ void apply_fbo_state(IWineD3DDevice *iface) {
         if (GL_SUPPORT(ARB_DRAW_BUFFERS)) {
             GL_EXTCALL(glDrawBuffersARB(GL_LIMITS(buffers), This->draw_buffers));
             checkGLcall("glDrawBuffers()");
+        } else {
+            glDrawBuffer(This->draw_buffers[0]);
+            checkGLcall("glDrawBuffer()");
         }
     } else {
         GL_EXTCALL(glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0));


More information about the wine-patches mailing list