[PATCH 5/5] wined3d: Only invalidate state for the current context in wined3d_buffer_map().

Henri Verbeet hverbeet at codeweavers.com
Wed Jul 27 14:13:37 CDT 2011


---
 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])
-- 
1.7.3.4




More information about the wine-patches mailing list