From 4005eb2a18e93d61b1bb3ea3d258e58078921f2c Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 30 Aug 2010 20:29:47 +0200 Subject: [PATCH] wined3d: Get rid of WINED3DRECT. --- dlls/d3d8/device.c | 3 +-- dlls/d3d9/device.c | 5 ++--- dlls/ddraw/device.c | 3 +-- dlls/wined3d/device.c | 25 ++++++++++++------------- dlls/wined3d/surface.c | 2 +- include/wine/wined3d.idl | 12 ++---------- 6 files changed, 19 insertions(+), 31 deletions(-) diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index f8895648082..cafe27d50be 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -1069,9 +1069,8 @@ static HRESULT WINAPI IDirect3DDevice8Impl_Clear(LPDIRECT3DDEVICE8 iface, DWORD TRACE("iface %p, rect_count %u, rects %p, flags %#x, color 0x%08x, z %.8e, stencil %u.\n", iface, Count, pRects, Flags, Color, Z, Stencil); - /* Note: D3DRECT is compatible with WINED3DRECT */ wined3d_mutex_lock(); - hr = IWineD3DDevice_Clear(This->WineD3DDevice, Count, (CONST WINED3DRECT*) pRects, Flags, Color, Z, Stencil); + hr = IWineD3DDevice_Clear(This->WineD3DDevice, Count, (const RECT *)pRects, Flags, Color, Z, Stencil); wined3d_mutex_unlock(); return hr; diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index f5bcbaa704c..6b66bb25c47 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -1044,8 +1044,7 @@ static HRESULT WINAPI IDirect3DDevice9Impl_ColorFill(IDirect3DDevice9Ex *iface, } /* Colorfill can only be used on rendertarget surfaces, or offscreen plain surfaces in D3DPOOL_DEFAULT */ - /* Note: D3DRECT is compatible with WINED3DRECT */ - hr = IWineD3DDevice_ColorFill(This->WineD3DDevice, surface->wineD3DSurface, (const WINED3DRECT *)pRect, &c); + hr = IWineD3DDevice_ColorFill(This->WineD3DDevice, surface->wineD3DSurface, pRect, &c); wined3d_mutex_unlock(); @@ -1214,7 +1213,7 @@ static HRESULT WINAPI IDirect3DDevice9Impl_Clear(LPDIRECT3DDEVICE9EX iface, DW /* Note: D3DRECT is compatible with WINED3DRECT */ wined3d_mutex_lock(); - hr = IWineD3DDevice_Clear(This->WineD3DDevice, Count, (CONST WINED3DRECT*) pRects, Flags, Color, Z, Stencil); + hr = IWineD3DDevice_Clear(This->WineD3DDevice, Count, (const RECT *)pRects, Flags, Color, Z, Stencil); wined3d_mutex_unlock(); return hr; diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 4677f6ed96e..7837dcd568c 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -5220,9 +5220,8 @@ IDirect3DDeviceImpl_7_Clear(IDirect3DDevice7 *iface, TRACE("iface %p, count %u, rects %p, flags %#x, color 0x%08x, z %.8e, stencil %#x.\n", iface, Count, Rects, Flags, Color, Z, Stencil); - /* Note; D3DRECT is compatible with WINED3DRECT */ EnterCriticalSection(&ddraw_cs); - hr = IWineD3DDevice_Clear(This->wineD3DDevice, Count, (WINED3DRECT*) Rects, Flags, Color, Z, Stencil); + hr = IWineD3DDevice_Clear(This->wineD3DDevice, Count, (RECT *)Rects, Flags, Color, Z, Stencil); LeaveCriticalSection(&ddraw_cs); return hr; } diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index a90ad80a8e2..9b4965d106a 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -4576,28 +4576,27 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Present(IWineD3DDevice *iface, return WINED3D_OK; } -static HRESULT WINAPI IWineD3DDeviceImpl_Clear(IWineD3DDevice *iface, DWORD Count, - const WINED3DRECT *pRects, DWORD Flags, WINED3DCOLOR color, float Z, DWORD Stencil) +static HRESULT WINAPI IWineD3DDeviceImpl_Clear(IWineD3DDevice *iface, DWORD rect_count, + const RECT *rects, DWORD flags, WINED3DCOLOR color, float depth, DWORD stencil) { const WINED3DCOLORVALUE c = {D3DCOLOR_R(color), D3DCOLOR_G(color), D3DCOLOR_B(color), D3DCOLOR_A(color)}; - IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; + IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *)iface; RECT draw_rect; - TRACE("(%p) Count (%d), pRects (%p), Flags (%x), color (0x%08x), Z (%f), Stencil (%d)\n", This, - Count, pRects, Flags, color, Z, Stencil); + TRACE("iface %p, rect_count %u, rects %p, flags %#x, color 0x%08x, depth %.8e, stencil %u.\n", + iface, rect_count, rects, flags, color, depth, stencil); - if (Flags & (WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL) && !This->depth_stencil) + if (flags & (WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL) && !device->depth_stencil) { WARN("Clearing depth and/or stencil without a depth stencil buffer attached, returning WINED3DERR_INVALIDCALL\n"); /* TODO: What about depth stencil buffers without stencil bits? */ return WINED3DERR_INVALIDCALL; } - device_get_draw_rect(This, &draw_rect); + device_get_draw_rect(device, &draw_rect); - return device_clear_render_targets(This, This->adapter->gl_info.limits.buffers, - This->render_targets, Count, (const RECT *)pRects, &draw_rect, Flags, - &c, Z, Stencil); + return device_clear_render_targets(device, device->adapter->gl_info.limits.buffers, + device->render_targets, rect_count, rects, &draw_rect, flags, &c, depth, stencil); } /***** @@ -5497,12 +5496,12 @@ static HRESULT WINAPI IWineD3DDeviceImpl_DeletePatch(IWineD3DDevice *iface, UINT } static HRESULT WINAPI IWineD3DDeviceImpl_ColorFill(IWineD3DDevice *iface, - IWineD3DSurface *surface, const WINED3DRECT *pRect, const WINED3DCOLORVALUE *color) + IWineD3DSurface *surface, const RECT *rect, const WINED3DCOLORVALUE *color) { IWineD3DSurfaceImpl *s = (IWineD3DSurfaceImpl *)surface; TRACE("iface %p, surface %p, rect %s, color {%.8e, %.8e, %.8e, %.8e}.\n", - iface, surface, wine_dbgstr_rect((const RECT *)pRect), + iface, surface, wine_dbgstr_rect(rect), color->r, color->g, color->b, color->a); if (s->resource.pool != WINED3DPOOL_DEFAULT && s->resource.pool != WINED3DPOOL_SYSTEMMEM) @@ -5511,7 +5510,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_ColorFill(IWineD3DDevice *iface, return WINED3DERR_INVALIDCALL; } - return surface_color_fill(s, (const RECT *)pRect, color); + return surface_color_fill(s, rect, color); } static void WINAPI IWineD3DDeviceImpl_ClearRendertargetView(IWineD3DDevice *iface, diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 0731fb8adaa..1cc5dbd098b 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -3790,7 +3790,7 @@ static HRESULT IWineD3DSurfaceImpl_BltZ(IWineD3DSurfaceImpl *This, const RECT *D ERR("Unexpected format for depth fill: %s.\n", debug_d3dformat(This->resource.format_desc->id)); } - return IWineD3DDevice_Clear((IWineD3DDevice *)device, DestRect ? 1 : 0, (const WINED3DRECT *)DestRect, + return IWineD3DDevice_Clear((IWineD3DDevice *)device, DestRect ? 1 : 0, DestRect, WINED3DCLEAR_ZBUFFER, 0x00000000, depth, 0x00000000); } diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl index 62810db041b..7f88b3a1fbe 100644 --- a/include/wine/wined3d.idl +++ b/include/wine/wined3d.idl @@ -1573,14 +1573,6 @@ typedef struct _WINED3DMATRIX } DUMMYUNIONNAME; } WINED3DMATRIX; -typedef struct _WINED3DRECT -{ - LONG x1; - LONG y1; - LONG x2; - LONG y2; -} WINED3DRECT; - typedef struct _WINED3DLIGHT { WINED3DLIGHTTYPE Type; @@ -3305,7 +3297,7 @@ interface IWineD3DDevice : IWineD3DBase ); HRESULT Clear( [in] DWORD rect_count, - [in] const WINED3DRECT *rects, + [in] const RECT *rects, [in] DWORD flags, [in] WINED3DCOLOR color, [in] float z, @@ -3367,7 +3359,7 @@ interface IWineD3DDevice : IWineD3DBase ); HRESULT ColorFill( [in] IWineD3DSurface *surface, - [in] const WINED3DRECT *rect, + [in] const RECT *rect, [in] const WINED3DCOLORVALUE *color ); HRESULT UpdateTexture(