Henri Verbeet : wined3d: Just restore state-> user_stream in wined3d_device_draw_indexed_primitive_strided().

Alexandre Julliard julliard at winehq.org
Fri Jan 4 12:26:02 CST 2013


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Jan  4 12:03:01 2013 +0100

wined3d: Just restore state->user_stream in wined3d_device_draw_indexed_primitive_strided().

---

 dlls/wined3d/device.c |   14 +-------------
 1 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 57eb0d2..78997f0 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4067,13 +4067,6 @@ HRESULT CDECL wined3d_device_draw_primitive(struct wined3d_device *device, UINT
         return WINED3DERR_INVALIDCALL;
     }
 
-    /* The index buffer is not needed here, but restore it, otherwise it is hell to keep track of */
-    if (device->stateBlock->state.user_stream)
-    {
-        device_invalidate_state(device, STATE_INDEXBUFFER);
-        device->stateBlock->state.user_stream = FALSE;
-    }
-
     if (device->stateBlock->state.load_base_vertex_index)
     {
         device->stateBlock->state.load_base_vertex_index = 0;
@@ -4108,12 +4101,6 @@ HRESULT CDECL wined3d_device_draw_indexed_primitive(struct wined3d_device *devic
         return WINED3DERR_INVALIDCALL;
     }
 
-    if (device->stateBlock->state.user_stream)
-    {
-        device_invalidate_state(device, STATE_INDEXBUFFER);
-        device->stateBlock->state.user_stream = FALSE;
-    }
-
     if (!gl_info->supported[ARB_DRAW_ELEMENTS_BASE_VERTEX] &&
         device->stateBlock->state.load_base_vertex_index != device->stateBlock->state.base_vertex_index)
     {
@@ -4180,6 +4167,7 @@ HRESULT CDECL wined3d_device_draw_indexed_primitive_strided(struct wined3d_devic
     device->up_strided = strided_data;
     draw_primitive(device, 0, index_count, 0, 0, TRUE, index_data);
     device->up_strided = NULL;
+    device->stateBlock->state.user_stream = FALSE;
     device->stateBlock->state.index_format = prev_idx_format;
 
     device_invalidate_state(device, STATE_VDECL);




More information about the wine-cvs mailing list