[PATCH 3/5] wined3d: Add a separate function for copying stateblock values.
Henri Verbeet
hverbeet at codeweavers.com
Wed Sep 30 03:49:11 CDT 2009
---
dlls/wined3d/stateblock.c | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index e568ec6..c637de0 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -164,20 +164,11 @@ static void stateblock_savedstates_set(SAVEDSTATES *states, BOOL value, const st
memset(states->vertexShaderConstantsF, value, sizeof(BOOL) * gl_info->max_vshader_constantsF);
}
-static void stateblock_copy(IWineD3DStateBlockImpl *dst, const IWineD3DStateBlockImpl *src)
+static void stateblock_copy_values(IWineD3DStateBlockImpl *dst, const IWineD3DStateBlockImpl *src,
+ const struct wined3d_gl_info *gl_info)
{
- const struct wined3d_gl_info *gl_info = &src->wineD3DDevice->adapter->gl_info;
unsigned int l;
- 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);
-
/* Single items */
dst->gl_primitive_type = src->gl_primitive_type;
dst->vertexDecl = src->vertexDecl;
@@ -237,6 +228,23 @@ static void stateblock_copy(IWineD3DStateBlockImpl *dst, const IWineD3DStateBloc
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
**********************************************************/
--
1.6.0.6
More information about the wine-patches
mailing list