[PATCH 5/5] wined3d: Only invalidate STATE_STREAMSRC for bound buffers.
Henri Verbeet
hverbeet at codeweavers.com
Wed Jun 22 17:02:37 CDT 2011
---
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
{
--
1.7.3.4
More information about the wine-patches
mailing list