Henri Verbeet : wined3d: Get rid of stateblock_copy().

Alexandre Julliard julliard at winehq.org
Wed Sep 30 10:56:09 CDT 2009


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Sep 30 10:49:12 2009 +0200

wined3d: Get rid of stateblock_copy().

---

 dlls/wined3d/stateblock.c |   34 +++++++++++-----------------------
 1 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index c637de0..eb2780a 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -228,23 +228,6 @@ static void stateblock_copy_values(IWineD3DStateBlockImpl *dst, const IWineD3DSt
     memcpy(dst->pixelShaderConstantF,  src->pixelShaderConstantF,  sizeof(float) * gl_info->max_pshader_constantsF * 4);
 }
 
-static void stateblock_copy(IWineD3DStateBlockImpl *dst, const IWineD3DStateBlockImpl *src)
-{
-    const struct wined3d_gl_info *gl_info = &src->wineD3DDevice->adapter->gl_info;
-
-    dst->lpVtbl = src->lpVtbl;
-    dst->ref = src->ref;
-    dst->parent = src->parent;
-    dst->wineD3DDevice = src->wineD3DDevice;
-    dst->blockType = src->blockType;
-
-    /* Saved states */
-    stateblock_savedstates_copy(&dst->changed, &src->changed, gl_info);
-
-    /* Saved values */
-    stateblock_copy_values(dst, src, gl_info);
-}
-
 /**********************************************************
  * IWineD3DStateBlockImpl IUnknown parts follows
  **********************************************************/
@@ -1387,13 +1370,18 @@ HRESULT stateblock_init(IWineD3DStateBlockImpl *stateblock, IWineD3DDeviceImpl *
     if (type == WINED3DSBT_INIT || type == WINED3DSBT_RECORDED) return WINED3D_OK;
 
     /* Otherwise, might as well set the whole state block to the appropriate values  */
-    if (device->stateBlock) stateblock_copy(stateblock, device->stateBlock);
-    else memset(stateblock->streamFreq, 1, sizeof(stateblock->streamFreq));
+    if (device->stateBlock)
+    {
+        /* Saved states */
+        stateblock_savedstates_copy(&stateblock->changed, &device->stateBlock->changed, gl_info);
 
-    /* Reset the ref and type after kludging it. */
-    stateblock->wineD3DDevice = device;
-    stateblock->ref = 1;
-    stateblock->blockType = type;
+        /* Saved values */
+        stateblock_copy_values(stateblock, device->stateBlock, gl_info);
+    }
+    else
+    {
+        memset(stateblock->streamFreq, 1, sizeof(stateblock->streamFreq));
+    }
 
     TRACE("Updating changed flags appropriate for type %#x.\n", type);
 




More information about the wine-cvs mailing list