Henri Verbeet : wined3d: Only invalidate state for the current context in wined3d_buffer_map().

Alexandre Julliard julliard at winehq.org
Thu Jul 28 13:55:40 CDT 2011


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Jul 27 21:13:37 2011 +0200

wined3d: Only invalidate state for the current context in wined3d_buffer_map().

---

 dlls/wined3d/buffer.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 807579e..9b20d87 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1016,12 +1016,13 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
                 struct wined3d_context *context;
                 const struct wined3d_gl_info *gl_info;
 
-                if (buffer->buffer_type_hint == GL_ELEMENT_ARRAY_BUFFER_ARB)
-                    device_invalidate_state(device, STATE_INDEXBUFFER);
-
                 context = context_acquire(device, NULL);
                 gl_info = context->gl_info;
+
                 ENTER_GL();
+
+                if (buffer->buffer_type_hint == GL_ELEMENT_ARRAY_BUFFER_ARB)
+                    context_invalidate_state(context, STATE_INDEXBUFFER);
                 GL_EXTCALL(glBindBufferARB(buffer->buffer_type_hint, buffer->buffer_object));
 
                 if (gl_info->supported[ARB_MAP_BUFFER_RANGE])




More information about the wine-cvs mailing list