Module: wine Branch: master Commit: 19c105c79c17f739b1252a3cc061fd2acd12a07b URL: http://source.winehq.org/git/wine.git/?a=commit;h=19c105c79c17f739b1252a3cc0...
Author: Andrew Talbot andrew.talbot@talbotville.com Date: Thu Mar 20 22:25:13 2008 +0000
wined3d: Assign to structs instead of using memcpy.
---
dlls/wined3d/device.c | 20 ++++++++++---------- dlls/wined3d/stateblock.c | 19 +++++++++---------- dlls/wined3d/surface_base.c | 4 ++-- 3 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 158791f..7d208dc 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1709,7 +1709,7 @@ static unsigned int ConvertFvfToDeclaration(IWineD3DDeviceImpl *This, /* For the if (!elements) return 0;
- memcpy(&elements[size-1], &end_element, sizeof(WINED3DVERTEXELEMENT)); + elements[size-1] = end_element; idx = 0; if (has_pos) { if (!has_blend && (fvf & WINED3DFVF_XYZRHW)) { @@ -2549,7 +2549,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetTransform(IWineD3DDevice *iface, W if (This->isRecordingState) { TRACE("Recording... not performing anything\n"); This->updateStateBlock->changed.transform[d3dts] = TRUE; - memcpy(&This->updateStateBlock->transforms[d3dts], lpmatrix, sizeof(WINED3DMATRIX)); + This->updateStateBlock->transforms[d3dts] = *lpmatrix; return WINED3D_OK; }
@@ -2589,7 +2589,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetTransform(IWineD3DDevice *iface, W static HRESULT WINAPI IWineD3DDeviceImpl_GetTransform(IWineD3DDevice *iface, WINED3DTRANSFORMSTATETYPE State, WINED3DMATRIX* pMatrix) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; TRACE("(%p) : for Transform State %s\n", This, debug_d3dtstype(State)); - memcpy(pMatrix, &This->stateBlock->transforms[State], sizeof(WINED3DMATRIX)); + *pMatrix = This->stateBlock->transforms[State]; return WINED3D_OK; }
@@ -2696,7 +2696,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetLight(IWineD3DDevice *iface, DWORD I TRACE("... Range(%f), Falloff(%f), Theta(%f), Phi(%f)\n", pLight->Range, pLight->Falloff, pLight->Theta, pLight->Phi);
/* Save away the information */ - memcpy(&object->OriginalParms, pLight, sizeof(WINED3DLIGHT)); + object->OriginalParms = *pLight;
switch (pLight->Type) { case WINED3DLIGHT_POINT: @@ -2788,7 +2788,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_GetLight(IWineD3DDevice *iface, DWORD I return WINED3DERR_INVALIDCALL; }
- memcpy(pLight, &lightInfo->OriginalParms, sizeof(WINED3DLIGHT)); + *pLight = lightInfo->OriginalParms; return WINED3D_OK; }
@@ -2993,7 +2993,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetMaterial(IWineD3DDevice *iface, CONS IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
This->updateStateBlock->changed.material = TRUE; - memcpy(&This->updateStateBlock->material, pMaterial, sizeof(WINED3DMATERIAL)); + This->updateStateBlock->material = *pMaterial;
/* Handle recording of state blocks */ if (This->isRecordingState) { @@ -3007,7 +3007,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetMaterial(IWineD3DDevice *iface, CONS
static HRESULT WINAPI IWineD3DDeviceImpl_GetMaterial(IWineD3DDevice *iface, WINED3DMATERIAL* pMaterial) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; - memcpy(pMaterial, &This->updateStateBlock->material, sizeof (WINED3DMATERIAL)); + *pMaterial = This->updateStateBlock->material; TRACE("(%p) : Diffuse (%f,%f,%f,%f)\n", This, pMaterial->Diffuse.r, pMaterial->Diffuse.g, pMaterial->Diffuse.b, pMaterial->Diffuse.a); TRACE("(%p) : Ambient (%f,%f,%f,%f)\n", This, pMaterial->Ambient.r, pMaterial->Ambient.g, @@ -3107,7 +3107,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetViewport(IWineD3DDevice *iface, CONS
TRACE("(%p)\n", This); This->updateStateBlock->changed.viewport = TRUE; - memcpy(&This->updateStateBlock->viewport, pViewport, sizeof(WINED3DVIEWPORT)); + This->updateStateBlock->viewport = *pViewport;
/* Handle recording of state blocks */ if (This->isRecordingState) { @@ -3126,7 +3126,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetViewport(IWineD3DDevice *iface, CONS static HRESULT WINAPI IWineD3DDeviceImpl_GetViewport(IWineD3DDevice *iface, WINED3DVIEWPORT* pViewport) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; TRACE("(%p)\n", This); - memcpy(pViewport, &This->stateBlock->viewport, sizeof(WINED3DVIEWPORT)); + *pViewport = This->stateBlock->viewport; return WINED3D_OK; }
@@ -5806,7 +5806,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_DrawRectPatch(IWineD3DDevice *iface, UI TRACE("Tesselation density or patch info changed, retesselating\n");
if(pRectPatchInfo) { - memcpy(&patch->RectPatchInfo, pRectPatchInfo, sizeof(*pRectPatchInfo)); + patch->RectPatchInfo = *pRectPatchInfo; } patch->numSegs[0] = pNumSegs[0]; patch->numSegs[1] = pNumSegs[1]; diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 0c7edad..e81a8ed 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -170,7 +170,7 @@ void stateblock_copy( Dest->material = This->material; Dest->pixelShader = This->pixelShader; Dest->glsl_program = This->glsl_program; - memcpy(&Dest->scissorRect, &This->scissorRect, sizeof(Dest->scissorRect)); + Dest->scissorRect = This->scissorRect;
/* Lights */ memset(This->activeLights, 0, sizeof(This->activeLights)); @@ -185,7 +185,7 @@ void stateblock_copy( LIST_FOR_EACH(e1, &This->lightMap[l]) { PLIGHTINFOEL *light = LIST_ENTRY(e1, PLIGHTINFOEL, entry), *light2; light2 = HeapAlloc(GetProcessHeap(), 0, sizeof(*light)); - memcpy(light2, light, sizeof(*light)); + *light2 = *light; list_add_tail(&Dest->lightMap[l], &light2->entry); if(light2->glIndex != -1) Dest->activeLights[light2->glIndex] = light2; } @@ -342,7 +342,7 @@ static inline void record_lights(IWineD3DStateBlockImpl *This, IWineD3DStateBloc realLight = LIST_ENTRY(f, PLIGHTINFOEL, entry); if(realLight->OriginalIndex == src->OriginalIndex) { if(src->changed) { - memcpy(&src->OriginalParms, &realLight->OriginalParms, sizeof(src->OriginalParms)); + src->OriginalParms = realLight->OriginalParms; } if(src->enabledChanged) { /* Need to double check because enabledChanged does not catch enabled -> disabled -> enabled @@ -367,7 +367,7 @@ static inline void record_lights(IWineD3DStateBlockImpl *This, IWineD3DStateBloc continue; } else if(src->changed) { /* Otherwise assign defaul params */ - memcpy(&src->OriginalParms, &WINED3D_default_light, sizeof(src->OriginalParms)); + src->OriginalParms = WINED3D_default_light; } else { /* Not enabled by default */ src->glIndex = -1; @@ -477,9 +477,8 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_Capture(IWineD3DStateBlock *iface) /* Others + Render & Texture */ for (i = 0; i < This->num_contained_transform_states; i++) { TRACE("Updating transform %d\n", i); - memcpy(&This->transforms[This->contained_transform_states[i]], - &targetStateBlock->transforms[This->contained_transform_states[i]], - sizeof(WINED3DMATRIX)); + This->transforms[This->contained_transform_states[i]] = + targetStateBlock->transforms[This->contained_transform_states[i]]; }
if (This->changed.indices && ((This->pIndexData != targetStateBlock->pIndexData) @@ -506,14 +505,14 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_Capture(IWineD3DStateBlock *iface) &This->material, sizeof(WINED3DMATERIAL)) != 0) { TRACE("Updating material\n"); - memcpy(&This->material, &targetStateBlock->material, sizeof(WINED3DMATERIAL)); + This->material = targetStateBlock->material; }
if (This->changed.viewport && memcmp(&targetStateBlock->viewport, &This->viewport, sizeof(WINED3DVIEWPORT)) != 0) { TRACE("Updating viewport\n"); - memcpy(&This->viewport, &targetStateBlock->viewport, sizeof(WINED3DVIEWPORT)); + This->viewport = targetStateBlock->viewport; }
if(This->changed.scissorRect && memcmp(&targetStateBlock->scissorRect, @@ -521,7 +520,7 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_Capture(IWineD3DStateBlock *iface) sizeof(targetStateBlock->scissorRect))) { TRACE("Updating scissor rect\n"); - memcpy(&targetStateBlock->scissorRect, &This->scissorRect, sizeof(targetStateBlock->scissorRect)); + targetStateBlock->scissorRect = This->scissorRect; }
for (i = 0; i < MAX_STREAMS; i++) { diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c index 14de5a5..00efa6c 100644 --- a/dlls/wined3d/surface_base.c +++ b/dlls/wined3d/surface_base.c @@ -849,7 +849,7 @@ IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface,
if (DestRect) { - memcpy(&xdst,DestRect,sizeof(xdst)); + xdst = *DestRect; } else { @@ -861,7 +861,7 @@ IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface,
if (SrcRect) { - memcpy(&xsrc,SrcRect,sizeof(xsrc)); + xsrc = *SrcRect; } else {