Commit 345b3292 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Add a separate function for copying stateblock values.

parent 844dda20
......@@ -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
**********************************************************/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment