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