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