Henri Verbeet : wined3d: Only invalidate STATE_STREAMSRC for bound buffers.

Alexandre Julliard julliard at winehq.org
Thu Jun 23 04:10:08 CDT 2011


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Jun 23 00:02:37 2011 +0200

wined3d: Only invalidate STATE_STREAMSRC for bound buffers.

---

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

diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 1199d3c..ea94c7e 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -843,7 +843,8 @@ void CDECL wined3d_buffer_preload(struct wined3d_buffer *buffer)
                 FIXME("Too many full buffer conversions, stopping converting.\n");
                 buffer_unload(&buffer->resource);
                 buffer->flags &= ~WINED3D_BUFFER_CREATEBO;
-                device_invalidate_state(device, STATE_STREAMSRC);
+                if (buffer->bind_count)
+                    device_invalidate_state(device, STATE_STREAMSRC);
                 return;
             }
         }
@@ -1070,7 +1071,8 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
                         TRACE("Dynamic buffer, dropping VBO\n");
                         buffer_unload(&buffer->resource);
                         buffer->flags &= ~WINED3D_BUFFER_CREATEBO;
-                        device_invalidate_state(device, STATE_STREAMSRC);
+                        if (buffer->bind_count)
+                            device_invalidate_state(device, STATE_STREAMSRC);
                     }
                     else
                     {




More information about the wine-cvs mailing list