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

Henri Verbeet hverbeet at codeweavers.com
Thu Jul 28 15:27:51 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 9b20d87..ae04138 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1136,12 +1136,13 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
         const struct wined3d_gl_info *gl_info;
         struct wined3d_context *context;
 
-        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