Henri Verbeet : wined3d: Only set draw buffers that are explicitly specified in context_apply_draw_buffers ().

Alexandre Julliard julliard at winehq.org
Mon Apr 11 13:29:27 CDT 2011


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Apr  8 20:22:50 2011 +0200

wined3d: Only set draw buffers that are explicitly specified in context_apply_draw_buffers().

Anything that isn't explicitly specified is set to GL_NONE by
glDrawBuffersARB().

---

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

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 64380c8..d1a3189 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1937,9 +1937,9 @@ static void context_apply_draw_buffers(struct wined3d_context *context, UINT rt_
             const struct wined3d_gl_info *gl_info = context->gl_info;
             unsigned int i;
 
-            for (i = 0; i < gl_info->limits.buffers; ++i)
+            for (i = 0; i < rt_count; ++i)
             {
-                if (i < rt_count && rts[i] && rts[i]->resource.format->id != WINED3DFMT_NULL)
+                if (rts[i] && rts[i]->resource.format->id != WINED3DFMT_NULL)
                     context->draw_buffers[i] = GL_COLOR_ATTACHMENT0 + i;
                 else
                     context->draw_buffers[i] = GL_NONE;
@@ -1947,7 +1947,7 @@ static void context_apply_draw_buffers(struct wined3d_context *context, UINT rt_
 
             if (gl_info->supported[ARB_DRAW_BUFFERS])
             {
-                GL_EXTCALL(glDrawBuffersARB(gl_info->limits.buffers, context->draw_buffers));
+                GL_EXTCALL(glDrawBuffersARB(rt_count, context->draw_buffers));
                 checkGLcall("glDrawBuffers()");
             }
             else




More information about the wine-cvs mailing list