ddraw: Add / improve TRACEs.

This commit is contained in:
Henri Verbeet 2010-08-19 18:57:50 +02:00 committed by Alexandre Julliard
parent 4378d4b31e
commit 20a42b4c98
12 changed files with 807 additions and 566 deletions

View File

@ -49,6 +49,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
static HRESULT WINAPI IDirectDrawClipperImpl_QueryInterface( static HRESULT WINAPI IDirectDrawClipperImpl_QueryInterface(
LPDIRECTDRAWCLIPPER iface, REFIID riid, LPVOID* ppvObj LPDIRECTDRAWCLIPPER iface, REFIID riid, LPVOID* ppvObj
) { ) {
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), ppvObj);
if (IsEqualGUID(&IID_IUnknown, riid) if (IsEqualGUID(&IID_IUnknown, riid)
|| IsEqualGUID(&IID_IDirectDrawClipper, riid)) || IsEqualGUID(&IID_IDirectDrawClipper, riid))
{ {
@ -73,7 +76,7 @@ static ULONG WINAPI IDirectDrawClipperImpl_AddRef( LPDIRECTDRAWCLIPPER iface )
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -89,7 +92,7 @@ static ULONG WINAPI IDirectDrawClipperImpl_Release(IDirectDrawClipper *iface) {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
{ {
@ -122,7 +125,8 @@ static HRESULT WINAPI IDirectDrawClipperImpl_SetHwnd(
) { ) {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%08x,%p)\n", This, dwFlags, hWnd);
TRACE("iface %p, flags %#x, window %p.\n", iface, dwFlags, hWnd);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DClipper_SetHWnd(This->wineD3DClipper, hr = IWineD3DClipper_SetHWnd(This->wineD3DClipper,
@ -160,7 +164,9 @@ static HRESULT WINAPI IDirectDrawClipperImpl_GetClipList(
{ {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p,%p,%p,%p)\n", This, lpRect, lpClipList, lpdwSize);
TRACE("iface %p, rect %s, clip_list %p, clip_list_size %p.\n",
iface, wine_dbgstr_rect(lpRect), lpClipList, lpdwSize);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DClipper_GetClipList(This->wineD3DClipper, hr = IWineD3DClipper_GetClipList(This->wineD3DClipper,
@ -191,6 +197,8 @@ static HRESULT WINAPI IDirectDrawClipperImpl_SetClipList(
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("iface %p, clip_list %p, flags %#x.\n", iface, lprgn, dwFlag);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DClipper_SetClipList(This->wineD3DClipper, hr = IWineD3DClipper_SetClipList(This->wineD3DClipper,
lprgn, lprgn,
@ -215,7 +223,8 @@ static HRESULT WINAPI IDirectDrawClipperImpl_GetHWnd(
) { ) {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p)\n", This, hWndPtr);
TRACE("iface %p, window %p.\n", iface, hWndPtr);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DClipper_GetHWnd(This->wineD3DClipper, hr = IWineD3DClipper_GetHWnd(This->wineD3DClipper,
@ -242,7 +251,8 @@ static HRESULT WINAPI IDirectDrawClipperImpl_Initialize(
LPDIRECTDRAWCLIPPER iface, LPDIRECTDRAW lpDD, DWORD dwFlags LPDIRECTDRAWCLIPPER iface, LPDIRECTDRAW lpDD, DWORD dwFlags
) { ) {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface;
TRACE("(%p)->(%p,0x%08x)\n", This, lpDD, dwFlags);
TRACE("iface %p, ddraw %p, flags %#x.\n", iface, lpDD, dwFlags);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (This->initialized) if (This->initialized)
@ -271,8 +281,7 @@ static HRESULT WINAPI IDirectDrawClipperImpl_Initialize(
static HRESULT WINAPI IDirectDrawClipperImpl_IsClipListChanged( static HRESULT WINAPI IDirectDrawClipperImpl_IsClipListChanged(
LPDIRECTDRAWCLIPPER iface, BOOL* lpbChanged LPDIRECTDRAWCLIPPER iface, BOOL* lpbChanged
) { ) {
IDirectDrawClipperImpl *This = (IDirectDrawClipperImpl *)iface; FIXME("iface %p, changed %p stub!\n", iface, lpbChanged);
FIXME("(%p)->(%p),stub!\n",This,lpbChanged);
/* XXX What is safest? */ /* XXX What is safest? */
*lpbChanged = FALSE; *lpbChanged = FALSE;

View File

@ -94,7 +94,7 @@ static HRESULT WINAPI ddraw7_QueryInterface(IDirectDraw7 *iface, REFIID refiid,
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(refiid), obj); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(refiid), obj);
/* Can change surface impl type */ /* Can change surface impl type */
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
@ -293,7 +293,7 @@ static ULONG WINAPI ddraw7_AddRef(IDirectDraw7 *iface)
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref7); ULONG ref = InterlockedIncrement(&This->ref7);
TRACE("(%p) : incrementing IDirectDraw7 refcount from %u.\n", This, ref -1); TRACE("%p increasing refcount to %u.\n", This, ref);
if(ref == 1) InterlockedIncrement(&This->numIfaces); if(ref == 1) InterlockedIncrement(&This->numIfaces);
@ -423,7 +423,7 @@ static ULONG WINAPI ddraw7_Release(IDirectDraw7 *iface)
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref7); ULONG ref = InterlockedDecrement(&This->ref7);
TRACE("(%p)->() decrementing IDirectDraw7 refcount from %u.\n", This, ref +1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (!ref && !InterlockedDecrement(&This->numIfaces)) if (!ref && !InterlockedDecrement(&This->numIfaces))
ddraw_destroy(This); ddraw_destroy(This);
@ -564,7 +564,7 @@ static HRESULT WINAPI ddraw7_SetCooperativeLevel(IDirectDraw7 *iface, HWND hwnd,
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
HWND window; HWND window;
TRACE("(%p)->(%p,%08x)\n",This,hwnd,cooplevel); TRACE("iface %p, window %p, flags %#x.\n", iface, hwnd, cooplevel);
DDRAW_dump_cooperativelevel(cooplevel); DDRAW_dump_cooperativelevel(cooplevel);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
@ -783,12 +783,14 @@ static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD He
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
WINED3DDISPLAYMODE Mode; WINED3DDISPLAYMODE Mode;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d,%d,%d,%d,%x): Relay!\n", This, Width, Height, BPP, RefreshRate, Flags);
TRACE("iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
iface, Width, Height, BPP, RefreshRate, Flags);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if( !Width || !Height ) if( !Width || !Height )
{ {
ERR("Width=%d, Height=%d, what to do?\n", Width, Height); ERR("Width %u, Height %u, what to do?\n", Width, Height);
/* It looks like Need for Speed Porsche Unleashed expects DD_OK here */ /* It looks like Need for Speed Porsche Unleashed expects DD_OK here */
LeaveCriticalSection(&ddraw_cs); LeaveCriticalSection(&ddraw_cs);
return DD_OK; return DD_OK;
@ -857,9 +859,13 @@ static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD He
static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD Width, DWORD Height, static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD Width, DWORD Height,
DWORD BPP, DWORD RefreshRate, DWORD Flags) DWORD BPP, DWORD RefreshRate, DWORD Flags)
{ {
TRACE("iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
iface, Width, Height, BPP, RefreshRate, Flags);
if (force_refresh_rate != 0) if (force_refresh_rate != 0)
{ {
TRACE("ForceRefreshRate overriding passed-in refresh rate (%d Hz) to %d Hz\n", RefreshRate, force_refresh_rate); TRACE("ForceRefreshRate overriding passed-in refresh rate (%u Hz) to %u Hz\n",
RefreshRate, force_refresh_rate);
RefreshRate = force_refresh_rate; RefreshRate = force_refresh_rate;
} }
@ -927,7 +933,8 @@ static HRESULT WINAPI ddraw1_SetDisplayMode(IDirectDraw *iface, DWORD width, DWO
static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface) static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)\n", This);
TRACE("iface %p.\n", iface);
return ddraw_set_display_mode(iface, This->orig_width, This->orig_height, This->orig_bpp, 0, 0); return ddraw_set_display_mode(iface, This->orig_width, This->orig_height, This->orig_bpp, 0, 0);
} }
@ -982,7 +989,8 @@ static HRESULT WINAPI ddraw7_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DD
WINED3DCAPS winecaps; WINED3DCAPS winecaps;
HRESULT hr; HRESULT hr;
DDSCAPS2 ddscaps = {0, 0, 0, 0}; DDSCAPS2 ddscaps = {0, 0, 0, 0};
TRACE("(%p)->(%p,%p)\n", This, DriverCaps, HELCaps);
TRACE("iface %p, driver_caps %p, hel_caps %p.\n", iface, DriverCaps, HELCaps);
/* One structure must be != NULL */ /* One structure must be != NULL */
if( (!DriverCaps) && (!HELCaps) ) if( (!DriverCaps) && (!HELCaps) )
@ -1099,8 +1107,7 @@ static HRESULT WINAPI ddraw1_GetCaps(IDirectDraw *iface, DDCAPS *driver_caps, DD
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_Compact(IDirectDraw7 *iface) static HRESULT WINAPI ddraw7_Compact(IDirectDraw7 *iface)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("iface %p.\n", iface);
TRACE("(%p)\n", This);
return DD_OK; return DD_OK;
} }
@ -1153,7 +1160,8 @@ static HRESULT WINAPI ddraw7_GetDisplayMode(IDirectDraw7 *iface, DDSURFACEDESC2
HRESULT hr; HRESULT hr;
WINED3DDISPLAYMODE Mode; WINED3DDISPLAYMODE Mode;
DWORD Size; DWORD Size;
TRACE("(%p)->(%p): Relay\n", This, DDSD);
TRACE("iface %p, surface_desc %p.\n", iface, DDSD);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
/* This seems sane */ /* This seems sane */
@ -1256,7 +1264,8 @@ static HRESULT WINAPI ddraw7_GetFourCCCodes(IDirectDraw7 *iface, DWORD *NumCodes
HRESULT hr; HRESULT hr;
WINED3DDISPLAYMODE d3ddm; WINED3DDISPLAYMODE d3ddm;
WINED3DSURFTYPE type = This->ImplType; WINED3DSURFTYPE type = This->ImplType;
TRACE("(%p)->(%p, %p)\n", This, NumCodes, Codes);
TRACE("iface %p, codes_count %p, codes %p.\n", iface, NumCodes, Codes);
IWineD3DDevice_GetDisplayMode(This->wineD3DDevice, IWineD3DDevice_GetDisplayMode(This->wineD3DDevice,
0 /* swapchain 0 */, 0 /* swapchain 0 */,
@ -1334,8 +1343,7 @@ static HRESULT WINAPI ddraw1_GetFourCCCodes(IDirectDraw *iface, DWORD *codes_cou
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_GetMonitorFrequency(IDirectDraw7 *iface, DWORD *Freq) static HRESULT WINAPI ddraw7_GetMonitorFrequency(IDirectDraw7 *iface, DWORD *Freq)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("iface %p, frequency %p stub!\n", iface, Freq);
TRACE("(%p)->(%p)\n", This, Freq);
/* Ideally this should be in WineD3D, as it concerns the screen setup, /* Ideally this should be in WineD3D, as it concerns the screen setup,
* but for now this should make the games happy * but for now this should make the games happy
@ -1389,7 +1397,8 @@ static HRESULT WINAPI ddraw1_GetMonitorFrequency(IDirectDraw *iface, DWORD *freq
static HRESULT WINAPI ddraw7_GetVerticalBlankStatus(IDirectDraw7 *iface, BOOL *status) static HRESULT WINAPI ddraw7_GetVerticalBlankStatus(IDirectDraw7 *iface, BOOL *status)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p)\n", This, status);
TRACE("iface %p, status %p.\n", iface, status);
/* This looks sane, the MSDN suggests it too */ /* This looks sane, the MSDN suggests it too */
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
@ -1451,7 +1460,8 @@ static HRESULT WINAPI ddraw1_GetVerticalBlankStatus(IDirectDraw *iface, BOOL *st
static HRESULT WINAPI ddraw7_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *Caps, DWORD *total, DWORD *free) static HRESULT WINAPI ddraw7_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *Caps, DWORD *total, DWORD *free)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p, %p, %p)\n", This, Caps, total, free);
TRACE("iface %p, caps %p, total %p, free %p.\n", iface, Caps, total, free);
if(TRACE_ON(ddraw)) if(TRACE_ON(ddraw))
{ {
@ -1525,7 +1535,8 @@ static HRESULT WINAPI ddraw2_GetAvailableVidMem(IDirectDraw2 *iface,
static HRESULT WINAPI ddraw7_Initialize(IDirectDraw7 *iface, GUID *Guid) static HRESULT WINAPI ddraw7_Initialize(IDirectDraw7 *iface, GUID *Guid)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%s): No-op\n", This, debugstr_guid(Guid));
TRACE("iface %p, guid %s.\n", iface, debugstr_guid(Guid));
if(This->initialized) if(This->initialized)
{ {
@ -1587,8 +1598,7 @@ static HRESULT WINAPI d3d1_Initialize(IDirect3D *iface, REFIID riid)
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_FlipToGDISurface(IDirectDraw7 *iface) static HRESULT WINAPI ddraw7_FlipToGDISurface(IDirectDraw7 *iface)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("iface %p stub!\n", iface);
TRACE("(%p)\n", This);
return DD_OK; return DD_OK;
} }
@ -1638,15 +1648,16 @@ static HRESULT WINAPI ddraw1_FlipToGDISurface(IDirectDraw *iface)
* Always returns DD_OK * Always returns DD_OK
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_WaitForVerticalBlank(IDirectDraw7 *iface, DWORD Flags, HANDLE h) static HRESULT WINAPI ddraw7_WaitForVerticalBlank(IDirectDraw7 *iface, DWORD Flags, HANDLE event)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; static BOOL hide;
static BOOL hide = FALSE;
TRACE("iface %p, flags %#x, event %p.\n", iface, Flags, event);
/* This function is called often, so print the fixme only once */ /* This function is called often, so print the fixme only once */
if(!hide) if(!hide)
{ {
FIXME("(%p)->(%x,%p): Stub\n", This, Flags, h); FIXME("iface %p, flags %#x, event %p stub!\n", iface, Flags, event);
hide = TRUE; hide = TRUE;
} }
@ -1703,11 +1714,13 @@ static HRESULT WINAPI ddraw7_GetScanLine(IDirectDraw7 *iface, DWORD *Scanline)
static BOOL hide = FALSE; static BOOL hide = FALSE;
WINED3DDISPLAYMODE Mode; WINED3DDISPLAYMODE Mode;
TRACE("iface %p, line %p.\n", iface, Scanline);
/* This function is called often, so print the fixme only once */ /* This function is called often, so print the fixme only once */
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(!hide) if(!hide)
{ {
FIXME("(%p)->(%p): Semi-Stub\n", This, Scanline); FIXME("iface %p, line %p partial stub!\n", iface, Scanline);
hide = TRUE; hide = TRUE;
} }
@ -1801,7 +1814,8 @@ static HRESULT WINAPI ddraw7_GetGDISurface(IDirectDraw7 *iface, IDirectDrawSurfa
IDirectDrawSurface7 *ddsurf; IDirectDrawSurface7 *ddsurf;
HRESULT hr; HRESULT hr;
DDSCAPS2 ddsCaps; DDSCAPS2 ddsCaps;
TRACE("(%p)->(%p)\n", This, GDISurface);
TRACE("iface %p, surface %p.\n", iface, GDISurface);
/* Get the back buffer from the wineD3DDevice and search its /* Get the back buffer from the wineD3DDevice and search its
* attached surfaces for the front buffer * attached surfaces for the front buffer
@ -1941,7 +1955,8 @@ static HRESULT WINAPI ddraw7_EnumDisplayModes(IDirectDraw7 *iface, DWORD Flags,
WINED3DFMT_P8_UINT, WINED3DFMT_P8_UINT,
}; };
TRACE("(%p)->(%p,%p,%p): Relay\n", This, DDSD, Context, cb); TRACE("iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
iface, Flags, DDSD, Context, cb);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
/* This looks sane */ /* This looks sane */
@ -2146,8 +2161,7 @@ static HRESULT WINAPI ddraw1_EnumDisplayModes(IDirectDraw *iface, DWORD flags,
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_EvaluateMode(IDirectDraw7 *iface, DWORD Flags, DWORD *Timeout) static HRESULT WINAPI ddraw7_EvaluateMode(IDirectDraw7 *iface, DWORD Flags, DWORD *Timeout)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("iface %p, flags %#x, timeout %p stub!\n", iface, Flags, Timeout);
FIXME("(%p)->(%d,%p): Stub!\n", This, Flags, Timeout);
/* When implementing this, implement it in WineD3D */ /* When implementing this, implement it in WineD3D */
@ -2172,8 +2186,7 @@ static HRESULT WINAPI ddraw7_EvaluateMode(IDirectDraw7 *iface, DWORD Flags, DWOR
static HRESULT WINAPI ddraw7_GetDeviceIdentifier(IDirectDraw7 *iface, static HRESULT WINAPI ddraw7_GetDeviceIdentifier(IDirectDraw7 *iface,
DDDEVICEIDENTIFIER2 *DDDI, DWORD Flags) DDDEVICEIDENTIFIER2 *DDDI, DWORD Flags)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("iface %p, device_identifier %p, flags %#x.\n", iface, DDDI, Flags);
TRACE("(%p)->(%p,%08x)\n", This, DDDI, Flags);
if(!DDDI) if(!DDDI)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -2276,8 +2289,7 @@ static HRESULT WINAPI ddraw3_GetSurfaceFromDC(IDirectDraw3 *iface, HDC dc, IDire
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_RestoreAllSurfaces(IDirectDraw7 *iface) static HRESULT WINAPI ddraw7_RestoreAllSurfaces(IDirectDraw7 *iface)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("iface %p stub!\n", iface);
FIXME("(%p): Stub\n", This);
/* This isn't hard to implement: Enumerate all WineD3D surfaces, /* This isn't hard to implement: Enumerate all WineD3D surfaces,
* get their parent and call their restore method. Do not implement * get their parent and call their restore method. Do not implement
@ -2318,8 +2330,8 @@ static HRESULT WINAPI ddraw4_RestoreAllSurfaces(IDirectDraw4 *iface)
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw7_StartModeTest(IDirectDraw7 *iface, SIZE *Modes, DWORD NumModes, DWORD Flags) static HRESULT WINAPI ddraw7_StartModeTest(IDirectDraw7 *iface, SIZE *Modes, DWORD NumModes, DWORD Flags)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("iface %p, modes %p, mode_count %u, flags %#x partial stub!\n",
WARN("(%p)->(%p, %d, %x): Semi-Stub, most likely harmless\n", This, Modes, NumModes, Flags); iface, Modes, NumModes, Flags);
/* This looks sane */ /* This looks sane */
if( (!Modes) || (NumModes == 0) ) return DDERR_INVALIDPARAMS; if( (!Modes) || (NumModes == 0) ) return DDERR_INVALIDPARAMS;
@ -2362,7 +2374,8 @@ HRESULT WINAPI ddraw_recreate_surfaces_cb(IDirectDrawSurface7 *surf, DDSURFACEDE
UINT Width; UINT Width;
UINT Height; UINT Height;
TRACE("(%p): Enumerated Surface %p\n", This, surfImpl); TRACE("surface %p, surface_desc %p, context %p.\n",
surf, desc, Context);
/* For the enumeration */ /* For the enumeration */
IDirectDrawSurface7_Release(surf); IDirectDrawSurface7_Release(surf);
@ -2463,7 +2476,8 @@ static HRESULT ddraw_recreate_surfaces(IDirectDrawImpl *This)
ULONG WINAPI D3D7CB_DestroySwapChain(IWineD3DSwapChain *pSwapChain) { ULONG WINAPI D3D7CB_DestroySwapChain(IWineD3DSwapChain *pSwapChain) {
IUnknown* swapChainParent; IUnknown* swapChainParent;
TRACE("(%p) call back\n", pSwapChain);
TRACE("swapchain %p.\n", pSwapChain);
IWineD3DSwapChain_GetParent(pSwapChain, &swapChainParent); IWineD3DSwapChain_GetParent(pSwapChain, &swapChainParent);
IUnknown_Release(swapChainParent); IUnknown_Release(swapChainParent);
@ -2490,6 +2504,9 @@ static HRESULT ddraw_create_surface(IDirectDrawImpl *This, DDSURFACEDESC2 *pDDSD
WINED3DSURFTYPE ImplType = This->ImplType; WINED3DSURFTYPE ImplType = This->ImplType;
HRESULT hr; HRESULT hr;
TRACE("ddraw %p, surface_desc %p, surface %p, level %u.\n",
This, pDDSD, ppSurf, level);
if (TRACE_ON(ddraw)) if (TRACE_ON(ddraw))
{ {
TRACE(" (%p) Requesting surface desc :\n", This); TRACE(" (%p) Requesting surface desc :\n", This);
@ -2880,7 +2897,8 @@ static HRESULT WINAPI ddraw7_CreateSurface(IDirectDraw7 *iface,
WINED3DDISPLAYMODE Mode; WINED3DDISPLAYMODE Mode;
const DWORD sysvidmem = DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY; const DWORD sysvidmem = DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY;
TRACE("(%p)->(%p,%p,%p)\n", This, DDSD, Surf, UnkOuter); TRACE("iface %p, surface_desc %p, surface %p, outer_unknown %p.\n",
iface, DDSD, Surf, UnkOuter);
/* Some checks before we start */ /* Some checks before we start */
if (TRACE_ON(ddraw)) if (TRACE_ON(ddraw))
@ -3562,10 +3580,12 @@ static HRESULT WINAPI ddraw7_EnumSurfaces(IDirectDraw7 *iface, DWORD Flags,
DDSURFACEDESC2 desc; DDSURFACEDESC2 desc;
struct list *entry, *entry2; struct list *entry, *entry2;
TRACE("iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
iface, Flags, DDSD, Context, Callback);
all = Flags & DDENUMSURFACES_ALL; all = Flags & DDENUMSURFACES_ALL;
nomatch = Flags & DDENUMSURFACES_NOMATCH; nomatch = Flags & DDENUMSURFACES_NOMATCH;
TRACE("(%p)->(%x,%p,%p,%p)\n", This, Flags, DDSD, Context, Callback);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(!Callback) if(!Callback)
@ -3671,7 +3691,8 @@ DirectDrawCreateClipper(DWORD Flags,
IDirectDrawClipperImpl* object; IDirectDrawClipperImpl* object;
HRESULT hr; HRESULT hr;
TRACE("(%08x,%p,%p)\n", Flags, Clipper, UnkOuter); TRACE("flags %#x, clipper %p, outer_unknown %p.\n",
Flags, Clipper, UnkOuter);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (UnkOuter != NULL) if (UnkOuter != NULL)
@ -3718,8 +3739,9 @@ DirectDrawCreateClipper(DWORD Flags,
static HRESULT WINAPI ddraw7_CreateClipper(IDirectDraw7 *iface, DWORD Flags, static HRESULT WINAPI ddraw7_CreateClipper(IDirectDraw7 *iface, DWORD Flags,
IDirectDrawClipper **Clipper, IUnknown *UnkOuter) IDirectDrawClipper **Clipper, IUnknown *UnkOuter)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("iface %p, flags %#x, clipper %p, outer_unknown %p.\n",
TRACE("(%p)->(%x,%p,%p)\n", This, Flags, Clipper, UnkOuter); iface, Flags, Clipper, UnkOuter);
return DirectDrawCreateClipper(Flags, Clipper, UnkOuter); return DirectDrawCreateClipper(Flags, Clipper, UnkOuter);
} }
@ -3783,7 +3805,8 @@ static HRESULT WINAPI ddraw7_CreatePalette(IDirectDraw7 *iface, DWORD Flags,
IDirectDrawPaletteImpl *object; IDirectDrawPaletteImpl *object;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x,%p,%p,%p)\n", This, Flags, ColorTable, Palette, pUnkOuter); TRACE("iface %p, flags %#x, color_table %p, palette %p, outer_unknown %p.\n",
iface, Flags, ColorTable, Palette, pUnkOuter);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(pUnkOuter != NULL) if(pUnkOuter != NULL)
@ -3925,10 +3948,9 @@ static HRESULT WINAPI ddraw1_CreatePalette(IDirectDraw *iface, DWORD flags,
static HRESULT WINAPI ddraw7_DuplicateSurface(IDirectDraw7 *iface, static HRESULT WINAPI ddraw7_DuplicateSurface(IDirectDraw7 *iface,
IDirectDrawSurface7 *Src, IDirectDrawSurface7 **Dest) IDirectDrawSurface7 *Src, IDirectDrawSurface7 **Dest)
{ {
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Src; IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Src;
FIXME("(%p)->(%p,%p)\n", This, Surf, Dest); FIXME("iface %p, src %p, dst %p partial stub!\n", iface, Src, Dest);
/* For now, simply create a new, independent surface */ /* For now, simply create a new, independent surface */
return IDirectDraw7_CreateSurface(iface, return IDirectDraw7_CreateSurface(iface,

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
#include "ddraw_private.h" #include "ddraw_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
/***************************************************************************** /*****************************************************************************
* _dump_executedata * _dump_executedata
@ -88,7 +88,7 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
viewport_activate(lpViewport, FALSE); viewport_activate(lpViewport, FALSE);
TRACE("ExecuteData :\n"); TRACE("ExecuteData :\n");
if (TRACE_ON(d3d7)) if (TRACE_ON(ddraw))
_dump_executedata(&(This->data)); _dump_executedata(&(This->data));
while (1) { while (1) {
@ -124,27 +124,28 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
LPD3DTRIANGLE ci = (LPD3DTRIANGLE) instr; LPD3DTRIANGLE ci = (LPD3DTRIANGLE) instr;
TRACE_(d3d7)(" v1: %d v2: %d v3: %d\n",ci->u1.v1, ci->u2.v2, ci->u3.v3); TRACE(" v1: %d v2: %d v3: %d\n",ci->u1.v1, ci->u2.v2, ci->u3.v3);
TRACE_(d3d7)(" Flags : "); TRACE(" Flags : ");
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
/* Wireframe */ {
if (ci->wFlags & D3DTRIFLAG_EDGEENABLE1) /* Wireframe */
TRACE_(d3d7)("EDGEENABLE1 "); if (ci->wFlags & D3DTRIFLAG_EDGEENABLE1)
if (ci->wFlags & D3DTRIFLAG_EDGEENABLE2) TRACE("EDGEENABLE1 ");
TRACE_(d3d7)("EDGEENABLE2 "); if (ci->wFlags & D3DTRIFLAG_EDGEENABLE2)
if (ci->wFlags & D3DTRIFLAG_EDGEENABLE1) TRACE("EDGEENABLE2 ");
TRACE_(d3d7)("EDGEENABLE3 "); if (ci->wFlags & D3DTRIFLAG_EDGEENABLE1)
/* Strips / Fans */ TRACE("EDGEENABLE3 ");
if (ci->wFlags == D3DTRIFLAG_EVEN) /* Strips / Fans */
TRACE_(d3d7)("EVEN "); if (ci->wFlags == D3DTRIFLAG_EVEN)
if (ci->wFlags == D3DTRIFLAG_ODD) TRACE("EVEN ");
TRACE_(d3d7)("ODD "); if (ci->wFlags == D3DTRIFLAG_ODD)
if (ci->wFlags == D3DTRIFLAG_START) TRACE("ODD ");
TRACE_(d3d7)("START "); if (ci->wFlags == D3DTRIFLAG_START)
if ((ci->wFlags > 0) && (ci->wFlags < 30)) TRACE("START ");
TRACE_(d3d7)("STARTFLAT(%d) ", ci->wFlags); if ((ci->wFlags > 0) && (ci->wFlags < 30))
TRACE_(d3d7)("\n"); TRACE("STARTFLAT(%u) ", ci->wFlags);
} TRACE("\n");
}
This->indices[(i * 3) ] = ci->u1.v1; This->indices[(i * 3) ] = ci->u1.v1;
This->indices[(i * 3) + 1] = ci->u2.v2; This->indices[(i * 3) + 1] = ci->u2.v2;
This->indices[(i * 3) + 2] = ci->u3.v3; This->indices[(i * 3) + 2] = ci->u3.v3;
@ -334,7 +335,8 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
TRACE(" Start : %d Dest : %d Count : %d\n", TRACE(" Start : %d Dest : %d Count : %d\n",
ci->wStart, ci->wDest, ci->dwCount); ci->wStart, ci->wDest, ci->dwCount);
TRACE(" Flags : "); TRACE(" Flags : ");
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
if (ci->dwFlags & D3DPROCESSVERTICES_COPY) if (ci->dwFlags & D3DPROCESSVERTICES_COPY)
TRACE("COPY "); TRACE("COPY ");
if (ci->dwFlags & D3DPROCESSVERTICES_NOCOLOR) if (ci->dwFlags & D3DPROCESSVERTICES_NOCOLOR)
@ -384,7 +386,8 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
D3DMATRIX mat; D3DMATRIX mat;
D3DVIEWPORT* Viewport = &lpViewport->viewports.vp1; D3DVIEWPORT* Viewport = &lpViewport->viewports.vp1;
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE(" Projection Matrix : (%p)\n", &proj_mat); TRACE(" Projection Matrix : (%p)\n", &proj_mat);
dump_D3DMATRIX(&proj_mat); dump_D3DMATRIX(&proj_mat);
TRACE(" View Matrix : (%p)\n", &view_mat); TRACE(" View Matrix : (%p)\n", &view_mat);
@ -428,7 +431,8 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
D3DMATRIX mat; D3DMATRIX mat;
D3DVIEWPORT* Viewport = &lpViewport->viewports.vp1; D3DVIEWPORT* Viewport = &lpViewport->viewports.vp1;
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE(" Projection Matrix : (%p)\n", &proj_mat); TRACE(" Projection Matrix : (%p)\n", &proj_mat);
dump_D3DMATRIX(&proj_mat); dump_D3DMATRIX(&proj_mat);
TRACE(" View Matrix : (%p)\n",&view_mat); TRACE(" View Matrix : (%p)\n",&view_mat);
@ -571,7 +575,7 @@ IDirect3DExecuteBufferImpl_QueryInterface(IDirect3DExecuteBuffer *iface,
REFIID riid, REFIID riid,
void **obj) void **obj)
{ {
TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(riid), obj); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
*obj = NULL; *obj = NULL;
@ -607,7 +611,7 @@ IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface)
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
FIXME("(%p)->()incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -627,7 +631,7 @@ IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *iface)
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->()decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (!ref) { if (!ref) {
if (This->need_free) if (This->need_free)
@ -651,13 +655,11 @@ IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *iface)
* D3D_OK * D3D_OK
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuffer *iface,
IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuffer *iface, IDirect3DDevice *device, D3DEXECUTEBUFFERDESC *desc)
IDirect3DDevice *lpDirect3DDevice,
D3DEXECUTEBUFFERDESC *lpDesc)
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("iface %p, device %p, desc %p.\n", iface, device, desc);
TRACE("(%p)->(%p,%p) no-op....\n", This, lpDirect3DDevice, lpDesc);
return D3D_OK; return D3D_OK;
} }
@ -680,12 +682,14 @@ IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface,
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD dwSize; DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpDesc);
TRACE("iface %p, desc %p.\n", iface, lpDesc);
dwSize = lpDesc->dwSize; dwSize = lpDesc->dwSize;
memcpy(lpDesc, &This->desc, dwSize); memcpy(lpDesc, &This->desc, dwSize);
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE(" Returning description :\n"); TRACE(" Returning description :\n");
_dump_D3DEXECUTEBUFFERDESC(lpDesc); _dump_D3DEXECUTEBUFFERDESC(lpDesc);
} }
@ -701,11 +705,10 @@ IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface,
* This implementation always returns D3D_OK * This implementation always returns D3D_OK
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *iface)
IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *iface)
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("iface %p.\n", iface);
TRACE("(%p)->() no-op...\n", This);
return D3D_OK; return D3D_OK;
} }
@ -729,7 +732,8 @@ IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecuteBuffer *iface,
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD nbvert; DWORD nbvert;
TRACE("(%p)->(%p)\n", This, lpData);
TRACE("iface %p, data %p.\n", iface, lpData);
memcpy(&This->data, lpData, lpData->dwSize); memcpy(&This->data, lpData, lpData->dwSize);
@ -740,9 +744,8 @@ IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecuteBuffer *iface,
HeapFree(GetProcessHeap(), 0, This->vertex_data); HeapFree(GetProcessHeap(), 0, This->vertex_data);
This->vertex_data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nbvert * sizeof(D3DTLVERTEX)); This->vertex_data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nbvert * sizeof(D3DTLVERTEX));
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
_dump_executedata(lpData); _dump_executedata(lpData);
}
return D3D_OK; return D3D_OK;
} }
@ -765,12 +768,14 @@ IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecuteBuffer *iface,
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD dwSize; DWORD dwSize;
TRACE("(%p)->(%p): stub!\n", This, lpData);
TRACE("iface %p, data %p.\n", iface, lpData);
dwSize = lpData->dwSize; dwSize = lpData->dwSize;
memcpy(lpData, &This->data, dwSize); memcpy(lpData, &This->data, dwSize);
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE("Returning data :\n"); TRACE("Returning data :\n");
_dump_executedata(lpData); _dump_executedata(lpData);
} }
@ -791,15 +796,14 @@ IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecuteBuffer *iface,
* DDERR_UNSUPPORTED, because it's not implemented in Windows. * DDERR_UNSUPPORTED, because it's not implemented in Windows.
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface,
IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface, DWORD *offset, LPD3DVALIDATECALLBACK callback, void *context, DWORD reserved)
DWORD *Offset,
LPD3DVALIDATECALLBACK Func,
void *UserArg,
DWORD Reserved)
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("iface %p, offset %p, callback %p, context %p, reserved %#x.\n",
TRACE("(%p)->(%p,%p,%p,%08x): Unimplemented!\n", This, Offset, Func, UserArg, Reserved); iface, offset, callback, context, reserved);
WARN("Not implemented.\n");
return DDERR_UNSUPPORTED; /* Unchecked */ return DDERR_UNSUPPORTED; /* Unchecked */
} }
@ -816,12 +820,12 @@ IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface,
* DDERR_UNSUPPORTED, because it's not implemented in Windows. * DDERR_UNSUPPORTED, because it's not implemented in Windows.
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer *iface, DWORD reserved)
IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer *iface,
DWORD Dummy)
{ {
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("iface %p, reserved %#x.\n", iface, reserved);
TRACE("(%p)->(%08x): Unimplemented\n", This, Dummy);
WARN("Not implemented.\n");
return DDERR_UNSUPPORTED; /* Unchecked */ return DDERR_UNSUPPORTED; /* Unchecked */
} }

View File

@ -24,7 +24,7 @@
#include "ddraw_private.h" #include "ddraw_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
/***************************************************************************** /*****************************************************************************
* light_update * light_update
@ -108,14 +108,11 @@ void light_deactivate(IDirect3DLightImpl *light)
* Returns: * Returns:
* E_NOINTERFACE, because it's a stub * E_NOINTERFACE, because it's a stub
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface, REFIID riid, void **object)
IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface,
REFIID riid,
void **obp)
{ {
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; FIXME("iface %p, riid %s, object %p stub!\n", iface, debugstr_guid(riid), object);
FIXME("(%p)->(%s,%p): stub!\n", This, debugstr_guid(riid), obp);
*obp = NULL; *object = NULL;
return E_NOINTERFACE; return E_NOINTERFACE;
} }
@ -134,7 +131,7 @@ IDirect3DLightImpl_AddRef(IDirect3DLight *iface)
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -155,7 +152,7 @@ IDirect3DLightImpl_Release(IDirect3DLight *iface)
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (!ref) { if (!ref) {
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, This);
@ -181,13 +178,10 @@ IDirect3DLightImpl_Release(IDirect3DLight *iface)
* D3D_OK * D3D_OK
* *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirect3DLightImpl_Initialize(IDirect3DLight *iface, IDirect3D *d3d)
IDirect3DLightImpl_Initialize(IDirect3DLight *iface,
IDirect3D *lpDirect3D)
{ {
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; TRACE("iface %p, d3d %p.\n", iface, d3d);
IDirectDrawImpl *d3d = lpDirect3D ? ddraw_from_d3d1(lpDirect3D) : NULL;
TRACE("(%p)->(%p) no-op...\n", This, d3d);
return D3D_OK; return D3D_OK;
} }
@ -219,8 +213,11 @@ IDirect3DLightImpl_SetLight(IDirect3DLight *iface,
{ {
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
LPD3DLIGHT7 light7 = &(This->light7); LPD3DLIGHT7 light7 = &(This->light7);
TRACE("(%p)->(%p)\n", This, lpLight);
if (TRACE_ON(d3d7)) { TRACE("iface %p, light %p.\n", iface, lpLight);
if (TRACE_ON(ddraw))
{
TRACE(" Light definition :\n"); TRACE(" Light definition :\n");
dump_light((LPD3DLIGHT2) lpLight); dump_light((LPD3DLIGHT2) lpLight);
} }
@ -274,8 +271,11 @@ IDirect3DLightImpl_GetLight(IDirect3DLight *iface,
D3DLIGHT *lpLight) D3DLIGHT *lpLight)
{ {
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
TRACE("(%p/%p)->(%p)\n", This, iface, lpLight);
if (TRACE_ON(d3d7)) { TRACE("iface %p, light %p.\n", iface, lpLight);
if (TRACE_ON(ddraw))
{
TRACE(" Returning light definition :\n"); TRACE(" Returning light definition :\n");
dump_light(&This->light); dump_light(&This->light);
} }

View File

@ -225,7 +225,8 @@ DDRAW_Create(const GUID *guid,
IDirectDrawImpl *This; IDirectDrawImpl *This;
HRESULT hr; HRESULT hr;
TRACE("(%s,%p,%p)\n", debugstr_guid(guid), DD, UnkOuter); TRACE("driver_guid %s, ddraw %p, outer_unknown %p, interface_iid %s.\n",
debugstr_guid(guid), DD, UnkOuter, debugstr_guid(iid));
*DD = NULL; *DD = NULL;
@ -292,7 +293,9 @@ DirectDrawCreate(GUID *GUID,
IUnknown *UnkOuter) IUnknown *UnkOuter)
{ {
HRESULT hr; HRESULT hr;
TRACE("(%s,%p,%p)\n", debugstr_guid(GUID), DD, UnkOuter);
TRACE("driver_guid %s, ddraw %p, outer_unknown %p.\n",
debugstr_guid(GUID), DD, UnkOuter);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = DDRAW_Create(GUID, (void **) DD, UnkOuter, &IID_IDirectDraw); hr = DDRAW_Create(GUID, (void **) DD, UnkOuter, &IID_IDirectDraw);
@ -316,7 +319,9 @@ DirectDrawCreateEx(GUID *GUID,
IUnknown *UnkOuter) IUnknown *UnkOuter)
{ {
HRESULT hr; HRESULT hr;
TRACE("(%s,%p,%s,%p)\n", debugstr_guid(GUID), DD, debugstr_guid(iid), UnkOuter);
TRACE("driver_guid %s, ddraw %p, interface_iid %s, outer_unknown %p.\n",
debugstr_guid(GUID), DD, debugstr_guid(iid), UnkOuter);
if (!IsEqualGUID(iid, &IID_IDirectDraw7)) if (!IsEqualGUID(iid, &IID_IDirectDraw7))
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -347,11 +352,9 @@ DirectDrawCreateEx(GUID *GUID,
* *
* *
***********************************************************************/ ***********************************************************************/
HRESULT WINAPI HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA Callback, void *Context)
DirectDrawEnumerateA(LPDDENUMCALLBACKA Callback,
LPVOID Context)
{ {
TRACE("(%p, %p)\n", Callback, Context); TRACE("callback %p, context %p.\n", Callback, Context);
TRACE(" Enumerating default DirectDraw HAL interface\n"); TRACE(" Enumerating default DirectDraw HAL interface\n");
/* We only have one driver */ /* We only have one driver */
@ -381,12 +384,9 @@ DirectDrawEnumerateA(LPDDENUMCALLBACKA Callback,
* The Flag member is not supported right now. * The Flag member is not supported right now.
* *
***********************************************************************/ ***********************************************************************/
HRESULT WINAPI HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA Callback, void *Context, DWORD Flags)
DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA Callback,
LPVOID Context,
DWORD Flags)
{ {
TRACE("(%p, %p, 0x%08x)\n", Callback, Context, Flags); TRACE("callback %p, context %p, flags %#x.\n", Callback, Context, Flags);
if (Flags & ~(DDENUM_ATTACHEDSECONDARYDEVICES | if (Flags & ~(DDENUM_ATTACHEDSECONDARYDEVICES |
DDENUM_DETACHEDSECONDARYDEVICES | DDENUM_DETACHEDSECONDARYDEVICES |
@ -424,13 +424,11 @@ DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA Callback,
* This function is not implemented on Windows. * This function is not implemented on Windows.
* *
***********************************************************************/ ***********************************************************************/
HRESULT WINAPI HRESULT WINAPI DirectDrawEnumerateW(LPDDENUMCALLBACKW callback, void *context)
DirectDrawEnumerateW(LPDDENUMCALLBACKW Callback,
LPVOID Context)
{ {
TRACE("(%p, %p)\n", Callback, Context); TRACE("callback %p, context %p.\n", callback, context);
if (!Callback) if (!callback)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
else else
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
@ -443,12 +441,9 @@ DirectDrawEnumerateW(LPDDENUMCALLBACKW Callback,
* This function is not implemented on Windows. * This function is not implemented on Windows.
* *
***********************************************************************/ ***********************************************************************/
HRESULT WINAPI HRESULT WINAPI DirectDrawEnumerateExW(LPDDENUMCALLBACKEXW callback, void *context, DWORD flags)
DirectDrawEnumerateExW(LPDDENUMCALLBACKEXW Callback,
LPVOID Context,
DWORD Flags)
{ {
TRACE("(%p, %p, 0x%x)\n", Callback, Context, Flags); TRACE("callback %p, context %p, flags %#x.\n", callback, context, flags);
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
} }
@ -477,7 +472,7 @@ CF_CreateDirectDraw(IUnknown* UnkOuter, REFIID iid,
{ {
HRESULT hr; HRESULT hr;
TRACE("(%p,%s,%p)\n", UnkOuter, debugstr_guid(iid), obj); TRACE("outer_unknown %p, riid %s, object %p.\n", UnkOuter, debugstr_guid(iid), obj);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = DDRAW_Create(NULL, obj, UnkOuter, iid); hr = DDRAW_Create(NULL, obj, UnkOuter, iid);
@ -506,6 +501,8 @@ CF_CreateDirectDrawClipper(IUnknown* UnkOuter, REFIID riid,
HRESULT hr; HRESULT hr;
IDirectDrawClipper *Clip; IDirectDrawClipper *Clip;
TRACE("outer_unknown %p, riid %s, object %p.\n", UnkOuter, debugstr_guid(riid), obj);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = DirectDrawCreateClipper(0, &Clip, UnkOuter); hr = DirectDrawCreateClipper(0, &Clip, UnkOuter);
if (hr != DD_OK) if (hr != DD_OK)
@ -549,7 +546,7 @@ IDirectDrawClassFactoryImpl_QueryInterface(IClassFactory *iface,
{ {
IClassFactoryImpl *This = (IClassFactoryImpl *)iface; IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
if (IsEqualGUID(riid, &IID_IUnknown) if (IsEqualGUID(riid, &IID_IUnknown)
|| IsEqualGUID(riid, &IID_IClassFactory)) || IsEqualGUID(riid, &IID_IClassFactory))
@ -578,7 +575,7 @@ IDirectDrawClassFactoryImpl_AddRef(IClassFactory *iface)
IClassFactoryImpl *This = (IClassFactoryImpl *)iface; IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %d.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -598,7 +595,8 @@ IDirectDrawClassFactoryImpl_Release(IClassFactory *iface)
{ {
IClassFactoryImpl *This = (IClassFactoryImpl *)iface; IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %d.\n", This, ref+1);
TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, This);
@ -627,7 +625,8 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface,
{ {
IClassFactoryImpl *This = (IClassFactoryImpl *)iface; IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
TRACE("(%p)->(%p,%s,%p)\n",This,UnkOuter,debugstr_guid(riid),obj); TRACE("iface %p, outer_unknown %p, riid %s, object %p.\n",
iface, UnkOuter, debugstr_guid(riid), obj);
return This->pfnCreateInstance(UnkOuter, riid, obj); return This->pfnCreateInstance(UnkOuter, riid, obj);
} }
@ -644,11 +643,10 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface,
* S_OK, because it's a stub * S_OK, because it's a stub
* *
*******************************************************************************/ *******************************************************************************/
static HRESULT WINAPI static HRESULT WINAPI IDirectDrawClassFactoryImpl_LockServer(IClassFactory *iface, BOOL dolock)
IDirectDrawClassFactoryImpl_LockServer(IClassFactory *iface,BOOL dolock)
{ {
IClassFactoryImpl *This = (IClassFactoryImpl *)iface; FIXME("iface %p, dolock %#x stub!\n", iface, dolock);
FIXME("(%p)->(%d),stub!\n",This,dolock);
return S_OK; return S_OK;
} }
@ -686,7 +684,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
unsigned int i; unsigned int i;
IClassFactoryImpl *factory; IClassFactoryImpl *factory;
TRACE("(%s,%s,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); TRACE("rclsid %s, riid %s, object %p.\n",
debugstr_guid(rclsid), debugstr_guid(riid), ppv);
if ( !IsEqualGUID( &IID_IClassFactory, riid ) if ( !IsEqualGUID( &IID_IClassFactory, riid )
&& ! IsEqualGUID( &IID_IUnknown, riid) ) && ! IsEqualGUID( &IID_IUnknown, riid) )
@ -726,6 +725,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
*/ */
HRESULT WINAPI DllCanUnloadNow(void) HRESULT WINAPI DllCanUnloadNow(void)
{ {
TRACE("\n");
return S_FALSE; return S_FALSE;
} }

View File

@ -24,8 +24,7 @@
#include "ddraw_private.h" #include "ddraw_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk);
static void dump_material(const D3DMATERIAL *mat) static void dump_material(const D3DMATERIAL *mat)
{ {
@ -67,7 +66,8 @@ IDirect3DMaterialImpl_QueryInterface(IDirect3DMaterial3 *iface,
LPVOID* obp) LPVOID* obp)
{ {
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obp);
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obp);
*obp = NULL; *obp = NULL;
@ -114,7 +114,7 @@ IDirect3DMaterialImpl_AddRef(IDirect3DMaterial3 *iface)
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -135,7 +135,7 @@ IDirect3DMaterialImpl_Release(IDirect3DMaterial3 *iface)
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (!ref) if (!ref)
{ {
@ -172,9 +172,7 @@ static HRESULT WINAPI
IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface, IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface,
IDirect3D *Direct3D) IDirect3D *Direct3D)
{ {
IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("iface %p, d3d %p.\n", iface, Direct3D);
TRACE("(%p)->(%p) no-op...!\n", This, Direct3D);
return D3D_OK; return D3D_OK;
} }
@ -192,8 +190,7 @@ IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface,
static HRESULT WINAPI static HRESULT WINAPI
IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface) IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface)
{ {
IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("iface %p.\n", iface);
TRACE("(%p)->() not implemented\n", This);
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
} }
@ -210,8 +207,7 @@ IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface)
static HRESULT WINAPI static HRESULT WINAPI
IDirect3DMaterialImpl_Unreserve(IDirect3DMaterial *iface) IDirect3DMaterialImpl_Unreserve(IDirect3DMaterial *iface)
{ {
IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("iface %p.\n", iface);
TRACE("(%p)->() not implemented.\n", This);
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
} }
@ -234,8 +230,9 @@ IDirect3DMaterialImpl_SetMaterial(IDirect3DMaterial3 *iface,
D3DMATERIAL *lpMat) D3DMATERIAL *lpMat)
{ {
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
TRACE("(%p)->(%p)\n", This, lpMat);
if (TRACE_ON(d3d7)) TRACE("iface %p, material %p.\n", iface, lpMat);
if (TRACE_ON(ddraw))
dump_material(lpMat); dump_material(lpMat);
/* Stores the material */ /* Stores the material */
@ -266,8 +263,10 @@ IDirect3DMaterialImpl_GetMaterial(IDirect3DMaterial3 *iface,
{ {
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
DWORD dwSize; DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpMat);
if (TRACE_ON(d3d7)) { TRACE("iface %p, material %p.\n", iface, lpMat);
if (TRACE_ON(ddraw))
{
TRACE(" Returning material : "); TRACE(" Returning material : ");
dump_material(&This->mat); dump_material(&This->mat);
} }
@ -303,7 +302,8 @@ IDirect3DMaterialImpl_GetHandle(IDirect3DMaterial3 *iface,
{ {
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
IDirect3DDeviceImpl *device = device_from_device3(lpDirect3DDevice3); IDirect3DDeviceImpl *device = device_from_device3(lpDirect3DDevice3);
TRACE("(%p/%p)->(%p,%p)\n", This, iface, device, lpHandle);
TRACE("iface %p, device %p, handle %p.\n", iface, lpDirect3DDevice3, lpHandle);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
This->active_device = device; This->active_device = device;
@ -331,7 +331,8 @@ Thunk_IDirect3DMaterialImpl_2_GetHandle(LPDIRECT3DMATERIAL2 iface,
LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPDIRECT3DDEVICE2 lpDirect3DDevice2,
LPD3DMATERIALHANDLE lpHandle) LPD3DMATERIALHANDLE lpHandle)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpDirect3DDevice2, lpHandle); TRACE("iface %p, device %p, handle %p.\n", iface, lpDirect3DDevice2, lpHandle);
return IDirect3DMaterial3_GetHandle((IDirect3DMaterial3 *)material_from_material2(iface), lpDirect3DDevice2 ? return IDirect3DMaterial3_GetHandle((IDirect3DMaterial3 *)material_from_material2(iface), lpDirect3DDevice2 ?
(IDirect3DDevice3 *)&device_from_device2(lpDirect3DDevice2)->IDirect3DDevice3_vtbl : NULL, lpHandle); (IDirect3DDevice3 *)&device_from_device2(lpDirect3DDevice2)->IDirect3DDevice3_vtbl : NULL, lpHandle);
} }
@ -341,7 +342,8 @@ Thunk_IDirect3DMaterialImpl_1_GetHandle(LPDIRECT3DMATERIAL iface,
LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECT3DDEVICE lpDirect3DDevice,
LPD3DMATERIALHANDLE lpHandle) LPD3DMATERIALHANDLE lpHandle)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpDirect3DDevice, lpHandle); TRACE("iface %p, device %p, handle %p.\n", iface, lpDirect3DDevice, lpHandle);
return IDirect3DMaterial3_GetHandle((IDirect3DMaterial3 *)material_from_material1(iface), lpDirect3DDevice ? return IDirect3DMaterial3_GetHandle((IDirect3DMaterial3 *)material_from_material1(iface), lpDirect3DDevice ?
(IDirect3DDevice3 *)&device_from_device1(lpDirect3DDevice)->IDirect3DDevice3_vtbl : NULL, lpHandle); (IDirect3DDevice3 *)&device_from_device1(lpDirect3DDevice)->IDirect3DDevice3_vtbl : NULL, lpHandle);
} }
@ -351,7 +353,8 @@ Thunk_IDirect3DMaterialImpl_2_QueryInterface(LPDIRECT3DMATERIAL2 iface,
REFIID riid, REFIID riid,
LPVOID* obp) LPVOID* obp)
{ {
TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DMaterial3 interface.\n", iface, debugstr_guid(riid), obp); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obp);
return IDirect3DMaterial3_QueryInterface((IDirect3DMaterial3 *)material_from_material2(iface), riid, obp); return IDirect3DMaterial3_QueryInterface((IDirect3DMaterial3 *)material_from_material2(iface), riid, obp);
} }
@ -360,35 +363,40 @@ Thunk_IDirect3DMaterialImpl_1_QueryInterface(LPDIRECT3DMATERIAL iface,
REFIID riid, REFIID riid,
LPVOID* obp) LPVOID* obp)
{ {
TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DMaterial3 interface.\n", iface, debugstr_guid(riid), obp); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obp);
return IDirect3DMaterial3_QueryInterface((IDirect3DMaterial3 *)material_from_material1(iface), riid, obp); return IDirect3DMaterial3_QueryInterface((IDirect3DMaterial3 *)material_from_material1(iface), riid, obp);
} }
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DMaterialImpl_2_AddRef(LPDIRECT3DMATERIAL2 iface) Thunk_IDirect3DMaterialImpl_2_AddRef(LPDIRECT3DMATERIAL2 iface)
{ {
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DMaterial3 interface.\n", iface); TRACE("iface %p.\n", iface);
return IDirect3DMaterial3_AddRef((IDirect3DMaterial3 *)material_from_material2(iface)); return IDirect3DMaterial3_AddRef((IDirect3DMaterial3 *)material_from_material2(iface));
} }
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DMaterialImpl_1_AddRef(LPDIRECT3DMATERIAL iface) Thunk_IDirect3DMaterialImpl_1_AddRef(LPDIRECT3DMATERIAL iface)
{ {
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DMaterial3 interface.\n", iface); TRACE("iface %p.\n", iface);
return IDirect3DMaterial3_AddRef((IDirect3DMaterial3 *)material_from_material1(iface)); return IDirect3DMaterial3_AddRef((IDirect3DMaterial3 *)material_from_material1(iface));
} }
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DMaterialImpl_2_Release(LPDIRECT3DMATERIAL2 iface) Thunk_IDirect3DMaterialImpl_2_Release(LPDIRECT3DMATERIAL2 iface)
{ {
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DMaterial3 interface.\n", iface); TRACE("iface %p.\n", iface);
return IDirect3DMaterial3_Release((IDirect3DMaterial3 *)material_from_material2(iface)); return IDirect3DMaterial3_Release((IDirect3DMaterial3 *)material_from_material2(iface));
} }
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DMaterialImpl_1_Release(LPDIRECT3DMATERIAL iface) Thunk_IDirect3DMaterialImpl_1_Release(LPDIRECT3DMATERIAL iface)
{ {
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DMaterial3 interface.\n", iface); TRACE("iface %p.\n", iface);
return IDirect3DMaterial3_Release((IDirect3DMaterial3 *)material_from_material1(iface)); return IDirect3DMaterial3_Release((IDirect3DMaterial3 *)material_from_material1(iface));
} }
@ -396,7 +404,8 @@ static HRESULT WINAPI
Thunk_IDirect3DMaterialImpl_2_SetMaterial(LPDIRECT3DMATERIAL2 iface, Thunk_IDirect3DMaterialImpl_2_SetMaterial(LPDIRECT3DMATERIAL2 iface,
LPD3DMATERIAL lpMat) LPD3DMATERIAL lpMat)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpMat); TRACE("iface %p, material %p.\n", iface, lpMat);
return IDirect3DMaterial3_SetMaterial((IDirect3DMaterial3 *)material_from_material2(iface), lpMat); return IDirect3DMaterial3_SetMaterial((IDirect3DMaterial3 *)material_from_material2(iface), lpMat);
} }
@ -404,7 +413,8 @@ static HRESULT WINAPI
Thunk_IDirect3DMaterialImpl_1_SetMaterial(LPDIRECT3DMATERIAL iface, Thunk_IDirect3DMaterialImpl_1_SetMaterial(LPDIRECT3DMATERIAL iface,
LPD3DMATERIAL lpMat) LPD3DMATERIAL lpMat)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpMat); TRACE("iface %p, material %p.\n", iface, lpMat);
return IDirect3DMaterial3_SetMaterial((IDirect3DMaterial3 *)material_from_material1(iface), lpMat); return IDirect3DMaterial3_SetMaterial((IDirect3DMaterial3 *)material_from_material1(iface), lpMat);
} }
@ -412,7 +422,8 @@ static HRESULT WINAPI
Thunk_IDirect3DMaterialImpl_2_GetMaterial(LPDIRECT3DMATERIAL2 iface, Thunk_IDirect3DMaterialImpl_2_GetMaterial(LPDIRECT3DMATERIAL2 iface,
LPD3DMATERIAL lpMat) LPD3DMATERIAL lpMat)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpMat); TRACE("iface %p, material %p.\n", iface, lpMat);
return IDirect3DMaterial3_GetMaterial((IDirect3DMaterial3 *)material_from_material2(iface), lpMat); return IDirect3DMaterial3_GetMaterial((IDirect3DMaterial3 *)material_from_material2(iface), lpMat);
} }
@ -420,7 +431,8 @@ static HRESULT WINAPI
Thunk_IDirect3DMaterialImpl_1_GetMaterial(LPDIRECT3DMATERIAL iface, Thunk_IDirect3DMaterialImpl_1_GetMaterial(LPDIRECT3DMATERIAL iface,
LPD3DMATERIAL lpMat) LPD3DMATERIAL lpMat)
{ {
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DMaterial3 interface.\n", iface, lpMat); TRACE("iface %p, material %p.\n", iface, lpMat);
return IDirect3DMaterial3_GetMaterial((IDirect3DMaterial3 *)material_from_material1(iface), lpMat); return IDirect3DMaterial3_GetMaterial((IDirect3DMaterial3 *)material_from_material1(iface), lpMat);
} }

View File

@ -43,8 +43,7 @@ IDirectDrawPaletteImpl_QueryInterface(IDirectDrawPalette *iface,
REFIID refiid, REFIID refiid,
void **obj) void **obj)
{ {
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(refiid), obj);
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(refiid),obj);
if (IsEqualGUID(refiid, &IID_IUnknown) if (IsEqualGUID(refiid, &IID_IUnknown)
|| IsEqualGUID(refiid, &IID_IDirectDrawPalette)) || IsEqualGUID(refiid, &IID_IDirectDrawPalette))
@ -75,7 +74,7 @@ IDirectDrawPaletteImpl_AddRef(IDirectDrawPalette *iface)
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -95,7 +94,7 @@ IDirectDrawPaletteImpl_Release(IDirectDrawPalette *iface)
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
{ {
@ -133,7 +132,9 @@ IDirectDrawPaletteImpl_Initialize(IDirectDrawPalette *iface,
DWORD Flags, DWORD Flags,
PALETTEENTRY *ColorTable) PALETTEENTRY *ColorTable)
{ {
TRACE("(%p)->(%p,%x,%p)\n", iface, DD, Flags, ColorTable); TRACE("iface %p, ddraw %p, flags %#x, entries %p.\n",
iface, DD, Flags, ColorTable);
return DDERR_ALREADYINITIALIZED; return DDERR_ALREADYINITIALIZED;
} }
@ -157,7 +158,8 @@ IDirectDrawPaletteImpl_GetCaps(IDirectDrawPalette *iface,
{ {
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, Caps);
TRACE("iface %p, caps %p.\n", iface, Caps);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DPalette_GetCaps(This->wineD3DPalette, Caps); hr = IWineD3DPalette_GetCaps(This->wineD3DPalette, Caps);
@ -192,7 +194,9 @@ IDirectDrawPaletteImpl_SetEntries(IDirectDrawPalette *iface,
{ {
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt);
TRACE("iface %p, flags %#x, start %u, count %u, entries %p.\n",
iface, Flags, Start, Count, PalEnt);
if(!PalEnt) if(!PalEnt)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -229,7 +233,9 @@ IDirectDrawPaletteImpl_GetEntries(IDirectDrawPalette *iface,
{ {
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt);
TRACE("iface %p, flags %#x, start %u, count %u, entries %p.\n",
iface, Flags, Start, Count, PalEnt);
if(!PalEnt) if(!PalEnt)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;

View File

@ -51,7 +51,7 @@ IParentImpl_QueryInterface(IParent *iface,
REFIID riid, REFIID riid,
void **obj) void **obj)
{ {
TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(riid), obj); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
*obj = NULL; *obj = NULL;
if ( IsEqualGUID( &IID_IUnknown, riid ) || if ( IsEqualGUID( &IID_IUnknown, riid ) ||
@ -81,7 +81,7 @@ IParentImpl_AddRef(IParent *iface)
IParentImpl *This = (IParentImpl *)iface; IParentImpl *This = (IParentImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p) : AddRef from %d\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -105,7 +105,7 @@ static ULONG WINAPI IParentImpl_Release(IParent *iface)
IParentImpl *This = (IParentImpl *)iface; IParentImpl *This = (IParentImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) : ReleaseRef to %d\n", This, ref); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
{ {

View File

@ -62,13 +62,14 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
/* According to COM docs, if the QueryInterface fails, obj should be set to NULL */ /* According to COM docs, if the QueryInterface fails, obj should be set to NULL */
*obj = NULL; *obj = NULL;
if(!riid) if(!riid)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),obj);
if (IsEqualGUID(riid, &IID_IUnknown) if (IsEqualGUID(riid, &IID_IUnknown)
|| IsEqualGUID(riid, &IID_IDirectDrawSurface7) || IsEqualGUID(riid, &IID_IDirectDrawSurface7)
|| IsEqualGUID(riid, &IID_IDirectDrawSurface4) ) || IsEqualGUID(riid, &IID_IDirectDrawSurface4) )
@ -176,6 +177,8 @@ static ULONG WINAPI ddraw_surface7_AddRef(IDirectDrawSurface7 *iface)
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
ULONG refCount = InterlockedIncrement(&This->ref); ULONG refCount = InterlockedIncrement(&This->ref);
TRACE("%p increasing refcount to %u.\n", This, refCount);
if (refCount == 1 && This->WineD3DSurface) if (refCount == 1 && This->WineD3DSurface)
{ {
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
@ -183,7 +186,6 @@ static ULONG WINAPI ddraw_surface7_AddRef(IDirectDrawSurface7 *iface)
LeaveCriticalSection(&ddraw_cs); LeaveCriticalSection(&ddraw_cs);
} }
TRACE("(%p) : AddRef increasing from %d\n", This, refCount - 1);
return refCount; return refCount;
} }
@ -229,7 +231,7 @@ static ULONG WINAPI d3d_texture1_AddRef(IDirect3DTexture *iface)
*****************************************************************************/ *****************************************************************************/
void ddraw_surface_destroy(IDirectDrawSurfaceImpl *This) void ddraw_surface_destroy(IDirectDrawSurfaceImpl *This)
{ {
TRACE("(%p)\n", This); TRACE("surface %p.\n", This);
/* Check the refcount and give a warning */ /* Check the refcount and give a warning */
if(This->ref > 1) if(This->ref > 1)
@ -322,9 +324,9 @@ void ddraw_surface_destroy(IDirectDrawSurfaceImpl *This)
static ULONG WINAPI ddraw_surface7_Release(IDirectDrawSurface7 *iface) static ULONG WINAPI ddraw_surface7_Release(IDirectDrawSurface7 *iface)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
ULONG ref; ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) : Releasing from %d\n", This, This->ref);
ref = InterlockedDecrement(&This->ref); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
{ {
@ -506,7 +508,8 @@ static HRESULT WINAPI ddraw_surface7_GetAttachedSurface(IDirectDrawSurface7 *ifa
DDSCAPS2 our_caps; DDSCAPS2 our_caps;
int i; int i;
TRACE("(%p)->(%p,%p)\n", This, Caps, Surface); TRACE("iface %p, caps %p, attachment %p.\n", iface, Caps, Surface);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(This->version < 7) if(This->version < 7)
@ -634,7 +637,9 @@ static HRESULT WINAPI ddraw_surface7_Lock(IDirectDrawSurface7 *iface,
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
WINED3DLOCKED_RECT LockedRect; WINED3DLOCKED_RECT LockedRect;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%p,%x,%p)\n", This, Rect, DDSD, Flags, h);
TRACE("iface %p, rect %s, surface_desc %p, flags %#x, h %p.\n",
iface, wine_dbgstr_rect(Rect), DDSD, Flags, h);
if(!DDSD) if(!DDSD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -735,7 +740,8 @@ static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pR
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p)\n", This, pRect);
TRACE("iface %p, rect %s.\n", iface, wine_dbgstr_rect(pRect));
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_UnlockRect(This->WineD3DSurface); hr = IWineD3DSurface_UnlockRect(This->WineD3DSurface);
@ -780,7 +786,8 @@ static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDra
IDirectDrawSurfaceImpl *Override = (IDirectDrawSurfaceImpl *)DestOverride; IDirectDrawSurfaceImpl *Override = (IDirectDrawSurfaceImpl *)DestOverride;
IDirectDrawSurface7 *Override7; IDirectDrawSurface7 *Override7;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%x)\n", This, DestOverride, Flags);
TRACE("iface %p, dst %p, flags %#x.\n", iface, DestOverride, Flags);
/* Flip has to be called from a front buffer /* Flip has to be called from a front buffer
* What about overlay surfaces, AFAIK they can flip too? * What about overlay surfaces, AFAIK they can flip too?
@ -848,7 +855,9 @@ static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestR
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Src = (IDirectDrawSurfaceImpl *)SrcSurface; IDirectDrawSurfaceImpl *Src = (IDirectDrawSurfaceImpl *)SrcSurface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%p,%p,%x,%p)\n", This, DestRect, Src, SrcRect, Flags, DDBltFx);
TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %p, flags %#x, fx %p.\n",
iface, wine_dbgstr_rect(DestRect), SrcSurface, wine_dbgstr_rect(SrcRect), Flags, DDBltFx);
/* Check for validity of the flags here. WineD3D Has the software-opengl selection path and would have /* Check for validity of the flags here. WineD3D Has the software-opengl selection path and would have
* to check at 2 places, and sometimes do double checks. This also saves the call to wined3d :-) * to check at 2 places, and sometimes do double checks. This also saves the call to wined3d :-)
@ -971,7 +980,7 @@ static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_r
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface_attach_surface(IDirectDrawSurfaceImpl *This, IDirectDrawSurfaceImpl *Surf) static HRESULT WINAPI ddraw_surface_attach_surface(IDirectDrawSurfaceImpl *This, IDirectDrawSurfaceImpl *Surf)
{ {
TRACE("(%p)->(%p)\n", This, Surf); TRACE("surface %p, attachment %p.\n", This, Surf);
if(Surf == This) if(Surf == This)
return DDERR_CANNOTATTACHSURFACE; /* unchecked */ return DDERR_CANNOTATTACHSURFACE; /* unchecked */
@ -1011,6 +1020,8 @@ static HRESULT WINAPI ddraw_surface7_AddAttachedSurface(IDirectDrawSurface7 *ifa
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Attach; IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Attach;
TRACE("iface %p, attachment %p.\n", iface, Attach);
/* Version 7 of this interface seems to refuse everything except z buffers, as per msdn */ /* Version 7 of this interface seems to refuse everything except z buffers, as per msdn */
if(!(Surf->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER)) if(!(Surf->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER))
{ {
@ -1082,7 +1093,8 @@ static HRESULT WINAPI ddraw_surface7_DeleteAttachedSurface(IDirectDrawSurface7 *
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Attach; IDirectDrawSurfaceImpl *Surf = (IDirectDrawSurfaceImpl *)Attach;
IDirectDrawSurfaceImpl *Prev = This; IDirectDrawSurfaceImpl *Prev = This;
TRACE("(%p)->(%08x,%p)\n", This, Flags, Surf);
TRACE("iface %p, flags %#x, attachment %p.\n", iface, Flags, Attach);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (!Surf || (Surf->first_attached != This) || (Surf == This) ) if (!Surf || (Surf->first_attached != This) || (Surf == This) )
@ -1149,16 +1161,8 @@ static HRESULT WINAPI ddraw_surface3_DeleteAttachedSurface(IDirectDrawSurface3 *
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface7_AddOverlayDirtyRect(IDirectDrawSurface7 *iface, RECT *Rect) static HRESULT WINAPI ddraw_surface7_AddOverlayDirtyRect(IDirectDrawSurface7 *iface, RECT *Rect)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("iface %p, rect %s.\n", iface, wine_dbgstr_rect(Rect));
TRACE("(%p)->(%p)\n",This,Rect);
/* MSDN says it's not implemented. I could forward it to WineD3D,
* then we'd implement it, but I don't think that's a good idea
* (Stefan Dösinger)
*/
#if 0
return IWineD3DSurface_AddOverlayDirtyRect(This->WineD3DSurface, pRect);
#endif
return DDERR_UNSUPPORTED; /* unchecked */ return DDERR_UNSUPPORTED; /* unchecked */
} }
@ -1187,7 +1191,8 @@ static HRESULT WINAPI ddraw_surface7_GetDC(IDirectDrawSurface7 *iface, HDC *hdc)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, hdc);
TRACE("iface %p, dc %p.\n", iface, hdc);
if(!hdc) if(!hdc)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1233,7 +1238,8 @@ static HRESULT WINAPI ddraw_surface7_ReleaseDC(IDirectDrawSurface7 *iface, HDC h
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, hdc);
TRACE("iface %p, dc %p.\n", iface, hdc);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_ReleaseDC(This->WineD3DSurface, hdc); hr = IWineD3DSurface_ReleaseDC(This->WineD3DSurface, hdc);
@ -1264,7 +1270,8 @@ static HRESULT WINAPI ddraw_surface3_ReleaseDC(IDirectDrawSurface3 *iface, HDC d
static HRESULT WINAPI ddraw_surface7_GetCaps(IDirectDrawSurface7 *iface, DDSCAPS2 *Caps) static HRESULT WINAPI ddraw_surface7_GetCaps(IDirectDrawSurface7 *iface, DDSCAPS2 *Caps)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,Caps);
TRACE("iface %p, caps %p.\n", iface, Caps);
if(!Caps) if(!Caps)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1304,7 +1311,8 @@ static HRESULT WINAPI ddraw_surface7_SetPriority(IDirectDrawSurface7 *iface, DWO
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d): Relay!\n",This,Priority);
TRACE("iface %p, priority %u.\n", iface, Priority);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_SetPriority(This->WineD3DSurface, Priority); hr = IWineD3DSurface_SetPriority(This->WineD3DSurface, Priority);
@ -1329,7 +1337,8 @@ static HRESULT WINAPI ddraw_surface7_SetPriority(IDirectDrawSurface7 *iface, DWO
static HRESULT WINAPI ddraw_surface7_GetPriority(IDirectDrawSurface7 *iface, DWORD *Priority) static HRESULT WINAPI ddraw_surface7_GetPriority(IDirectDrawSurface7 *iface, DWORD *Priority)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p): Relay\n",This,Priority);
TRACE("iface %p, priority %p.\n", iface, Priority);
if(!Priority) if(!Priority)
{ {
@ -1364,7 +1373,9 @@ static HRESULT WINAPI ddraw_surface7_SetPrivateData(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%s,%p,%d,%x): Relay\n", This, debugstr_guid(tag), Data, Size, Flags);
TRACE("iface %p, tag %s, data %p, data_size %u, flags %#x.\n",
iface, debugstr_guid(tag), Data, Size, Flags);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_SetPrivateData(This->WineD3DSurface, hr = IWineD3DSurface_SetPrivateData(This->WineD3DSurface,
@ -1400,7 +1411,9 @@ static HRESULT WINAPI ddraw_surface7_GetPrivateData(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%s,%p,%p): Relay\n", This, debugstr_guid(tag), Data, Size);
TRACE("iface %p, tag %s, data %p, data_size %p.\n",
iface, debugstr_guid(tag), Data, Size);
if(!Data) if(!Data)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1431,7 +1444,8 @@ static HRESULT WINAPI ddraw_surface7_FreePrivateData(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%s): Relay\n", This, debugstr_guid(tag));
TRACE("iface %p, tag %s.\n", iface, debugstr_guid(tag));
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_FreePrivateData(This->WineD3DSurface, tag); hr = IWineD3DSurface_FreePrivateData(This->WineD3DSurface, tag);
@ -1453,7 +1467,7 @@ static HRESULT WINAPI ddraw_surface7_FreePrivateData(IDirectDrawSurface7 *iface,
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface7_PageLock(IDirectDrawSurface7 *iface, DWORD Flags) static HRESULT WINAPI ddraw_surface7_PageLock(IDirectDrawSurface7 *iface, DWORD Flags)
{ {
TRACE("(%p)->(%x)\n", iface, Flags); TRACE("iface %p, flags %#x.\n", iface, Flags);
/* This is Windows memory management related - we don't need this */ /* This is Windows memory management related - we don't need this */
return DD_OK; return DD_OK;
@ -1480,7 +1494,7 @@ static HRESULT WINAPI ddraw_surface3_PageLock(IDirectDrawSurface3 *iface, DWORD
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface7_PageUnlock(IDirectDrawSurface7 *iface, DWORD Flags) static HRESULT WINAPI ddraw_surface7_PageUnlock(IDirectDrawSurface7 *iface, DWORD Flags)
{ {
TRACE("(%p)->(%x)\n", iface, Flags); TRACE("iface %p, flags %#x.\n", iface, Flags);
return DD_OK; return DD_OK;
} }
@ -1506,7 +1520,7 @@ static HRESULT WINAPI ddraw_surface3_PageUnlock(IDirectDrawSurface3 *iface, DWOR
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags) static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags)
{ {
TRACE("(%p)->(%p,%d,%08x)\n",iface,Batch,Count,Flags); TRACE("iface %p, batch %p, count %u, flags %#x.\n", iface, Batch, Count, Flags);
/* MSDN: "not currently implemented" */ /* MSDN: "not currently implemented" */
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
@ -1542,7 +1556,7 @@ static HRESULT WINAPI ddraw_surface7_EnumAttachedSurfaces(IDirectDrawSurface7 *i
int i; int i;
/* Attached surfaces aren't handled in WineD3D */ /* Attached surfaces aren't handled in WineD3D */
TRACE("(%p)->(%p,%p)\n",This,context,cb); TRACE("iface %p, context %p, callback %p.\n", iface, context, cb);
if(!cb) if(!cb)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1626,7 +1640,7 @@ static HRESULT WINAPI ddraw_surface3_EnumAttachedSurfaces(IDirectDrawSurface3 *i
static HRESULT WINAPI ddraw_surface7_EnumOverlayZOrders(IDirectDrawSurface7 *iface, static HRESULT WINAPI ddraw_surface7_EnumOverlayZOrders(IDirectDrawSurface7 *iface,
DWORD Flags, void *context, LPDDENUMSURFACESCALLBACK7 cb) DWORD Flags, void *context, LPDDENUMSURFACESCALLBACK7 cb)
{ {
FIXME("(%p)->(%x,%p,%p): Stub!\n", iface, Flags, context, cb); FIXME("iface %p, flags %#x, context %p, callback %p stub!\n", iface, Flags, context, cb);
return DD_OK; return DD_OK;
} }
@ -1661,7 +1675,8 @@ static HRESULT WINAPI ddraw_surface7_GetBltStatus(IDirectDrawSurface7 *iface, DW
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x): Relay\n", This, Flags);
TRACE("iface %p, flags %#x.\n", iface, Flags);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_GetBltStatus(This->WineD3DSurface, Flags); hr = IWineD3DSurface_GetBltStatus(This->WineD3DSurface, Flags);
@ -1697,7 +1712,8 @@ static HRESULT WINAPI ddraw_surface3_GetBltStatus(IDirectDrawSurface3 *iface, DW
static HRESULT WINAPI ddraw_surface7_GetColorKey(IDirectDrawSurface7 *iface, DWORD Flags, DDCOLORKEY *CKey) static HRESULT WINAPI ddraw_surface7_GetColorKey(IDirectDrawSurface7 *iface, DWORD Flags, DDCOLORKEY *CKey)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%08x,%p)\n", This, Flags, CKey);
TRACE("iface %p, flags %#x, color_key %p.\n", iface, Flags, CKey);
if(!CKey) if(!CKey)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1774,7 +1790,8 @@ static HRESULT WINAPI ddraw_surface7_GetFlipStatus(IDirectDrawSurface7 *iface, D
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x): Relay\n", This, Flags);
TRACE("iface %p, flags %#x.\n", iface, Flags);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_GetFlipStatus(This->WineD3DSurface, Flags); hr = IWineD3DSurface_GetFlipStatus(This->WineD3DSurface, Flags);
@ -1809,7 +1826,8 @@ static HRESULT WINAPI ddraw_surface7_GetOverlayPosition(IDirectDrawSurface7 *ifa
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%p): Relay\n", This, X, Y);
TRACE("iface %p, x %p, y %p.\n", iface, X, Y);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_GetOverlayPosition(This->WineD3DSurface, hr = IWineD3DSurface_GetOverlayPosition(This->WineD3DSurface,
@ -1844,7 +1862,8 @@ static HRESULT WINAPI ddraw_surface7_GetPixelFormat(IDirectDrawSurface7 *iface,
{ {
/* What is DDERR_INVALIDSURFACETYPE for here? */ /* What is DDERR_INVALIDSURFACETYPE for here? */
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,PixelFormat);
TRACE("iface %p, pixel_format %p.\n", iface, PixelFormat);
if(!PixelFormat) if(!PixelFormat)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1881,7 +1900,7 @@ static HRESULT WINAPI ddraw_surface7_GetSurfaceDesc(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,DDSD); TRACE("iface %p, surface_desc %p.\n", iface, DDSD);
if(!DDSD) if(!DDSD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -1993,7 +2012,8 @@ static HRESULT WINAPI ddraw_surface7_IsLost(IDirectDrawSurface7 *iface)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)\n", This);
TRACE("iface %p.\n", iface);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
/* We lose the surface if the implementation was changed */ /* We lose the surface if the implementation was changed */
@ -2042,7 +2062,8 @@ static HRESULT WINAPI ddraw_surface7_Restore(IDirectDrawSurface7 *iface)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)\n", This);
TRACE("iface %p.\n", iface);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(This->ImplType != This->ddraw->ImplType) if(This->ImplType != This->ddraw->ImplType)
@ -2079,7 +2100,8 @@ static HRESULT WINAPI ddraw_surface7_SetOverlayPosition(IDirectDrawSurface7 *ifa
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d,%d): Relay\n", This, X, Y);
TRACE("iface %p, x %d, y %d.\n", iface, X, Y);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_SetOverlayPosition(This->WineD3DSurface, hr = IWineD3DSurface_SetOverlayPosition(This->WineD3DSurface,
@ -2117,7 +2139,9 @@ static HRESULT WINAPI ddraw_surface7_UpdateOverlay(IDirectDrawSurface7 *iface, R
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Dst = (IDirectDrawSurfaceImpl *)DstSurface; IDirectDrawSurfaceImpl *Dst = (IDirectDrawSurfaceImpl *)DstSurface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%p,%p,%x,%p): Relay\n", This, SrcRect, Dst, DstRect, Flags, FX);
TRACE("iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#x, fx %p.\n",
iface, wine_dbgstr_rect(SrcRect), DstSurface, wine_dbgstr_rect(DstRect), Flags, FX);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_UpdateOverlay(This->WineD3DSurface, hr = IWineD3DSurface_UpdateOverlay(This->WineD3DSurface,
@ -2159,8 +2183,8 @@ static HRESULT WINAPI ddraw_surface3_UpdateOverlay(IDirectDrawSurface3 *iface, R
*****************************************************************************/ *****************************************************************************/
static HRESULT WINAPI ddraw_surface7_UpdateOverlayDisplay(IDirectDrawSurface7 *iface, DWORD Flags) static HRESULT WINAPI ddraw_surface7_UpdateOverlayDisplay(IDirectDrawSurface7 *iface, DWORD Flags)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("iface %p, flags %#x.\n", iface, Flags);
TRACE("(%p)->(%x)\n", This, Flags);
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
} }
@ -2191,7 +2215,8 @@ static HRESULT WINAPI ddraw_surface7_UpdateOverlayZOrder(IDirectDrawSurface7 *if
IDirectDrawSurfaceImpl *Ref = (IDirectDrawSurfaceImpl *)DDSRef; IDirectDrawSurfaceImpl *Ref = (IDirectDrawSurfaceImpl *)DDSRef;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%x,%p): Relay\n", This, Flags, Ref); TRACE("iface %p, flags %#x, reference %p.\n", iface, Flags, DDSRef);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DSurface_UpdateOverlayZOrder(This->WineD3DSurface, hr = IWineD3DSurface_UpdateOverlayZOrder(This->WineD3DSurface,
Flags, Flags,
@ -2227,7 +2252,7 @@ static HRESULT WINAPI ddraw_surface7_GetDDInterface(IDirectDrawSurface7 *iface,
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,DD); TRACE("iface %p, ddraw %p.\n", iface, DD);
if(!DD) if(!DD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -2269,7 +2294,8 @@ static HRESULT WINAPI ddraw_surface7_ChangeUniquenessValue(IDirectDrawSurface7 *
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
volatile IDirectDrawSurfaceImpl* vThis = This; volatile IDirectDrawSurfaceImpl* vThis = This;
TRACE("(%p)\n",This); TRACE("iface %p.\n", iface);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
/* A uniqueness value of 0 is apparently special. /* A uniqueness value of 0 is apparently special.
* This needs to be checked. * This needs to be checked.
@ -2297,7 +2323,8 @@ static HRESULT WINAPI ddraw_surface7_GetUniquenessValue(IDirectDrawSurface7 *ifa
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,pValue); TRACE("iface %p, value %p.\n", iface, pValue);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
*pValue = This->uniqueness_value; *pValue = This->uniqueness_value;
LeaveCriticalSection(&ddraw_cs); LeaveCriticalSection(&ddraw_cs);
@ -2321,7 +2348,8 @@ static HRESULT WINAPI ddraw_surface7_SetLOD(IDirectDrawSurface7 *iface, DWORD Ma
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d)\n", This, MaxLOD);
TRACE("iface %p, lod %u.\n", iface, MaxLOD);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (!(This->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_TEXTUREMANAGE)) if (!(This->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_TEXTUREMANAGE))
@ -2360,7 +2388,8 @@ static HRESULT WINAPI ddraw_surface7_SetLOD(IDirectDrawSurface7 *iface, DWORD Ma
static HRESULT WINAPI ddraw_surface7_GetLOD(IDirectDrawSurface7 *iface, DWORD *MaxLOD) static HRESULT WINAPI ddraw_surface7_GetLOD(IDirectDrawSurface7 *iface, DWORD *MaxLOD)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n", This, MaxLOD);
TRACE("iface %p, lod %p.\n", iface, MaxLOD);
if(!MaxLOD) if(!MaxLOD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -2401,7 +2430,9 @@ static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD d
IDirectDrawSurfaceImpl *src = (IDirectDrawSurfaceImpl *)Source; IDirectDrawSurfaceImpl *src = (IDirectDrawSurfaceImpl *)Source;
DWORD src_w, src_h, dst_w, dst_h; DWORD src_w, src_h, dst_w, dst_h;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d,%d,%p,%p,%d): Relay\n", This, dstx, dsty, Source, rsrc, trans);
TRACE("iface %p, dst_x %u, dst_y %u, src_surface %p, src_rect %s, flags %#x.\n",
iface, dstx, dsty, Source, wine_dbgstr_rect(rsrc), trans);
dst_w = This->surface_desc.dwWidth; dst_w = This->surface_desc.dwWidth;
dst_h = This->surface_desc.dwHeight; dst_h = This->surface_desc.dwHeight;
@ -2478,7 +2509,8 @@ static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD d
static HRESULT WINAPI ddraw_surface7_GetClipper(IDirectDrawSurface7 *iface, IDirectDrawClipper **Clipper) static HRESULT WINAPI ddraw_surface7_GetClipper(IDirectDrawSurface7 *iface, IDirectDrawClipper **Clipper)
{ {
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n", This, Clipper);
TRACE("iface %p, clipper %p.\n", iface, Clipper);
if(!Clipper) if(!Clipper)
{ {
@ -2524,7 +2556,8 @@ static HRESULT WINAPI ddraw_surface7_SetClipper(IDirectDrawSurface7 *iface, IDir
IDirectDrawClipperImpl *oldClipper = This->clipper; IDirectDrawClipperImpl *oldClipper = This->clipper;
HWND clipWindow; HWND clipWindow;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p)\n",This,Clipper);
TRACE("iface %p, clipper %p.\n", iface, Clipper);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if ((IDirectDrawClipperImpl *)Clipper == This->clipper) if ((IDirectDrawClipperImpl *)Clipper == This->clipper)
@ -2589,7 +2622,8 @@ static HRESULT WINAPI ddraw_surface7_SetSurfaceDesc(IDirectDrawSurface7 *iface,
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
WINED3DFORMAT newFormat = WINED3DFMT_UNKNOWN; WINED3DFORMAT newFormat = WINED3DFMT_UNKNOWN;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p,%x)\n", This, DDSD, Flags);
TRACE("iface %p, surface_desc %p, flags %#x.\n", iface, DDSD, Flags);
if(!DDSD) if(!DDSD)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -2691,7 +2725,8 @@ static HRESULT WINAPI ddraw_surface7_GetPalette(IDirectDrawSurface7 *iface, IDir
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IWineD3DPalette *wPal; IWineD3DPalette *wPal;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, Pal);
TRACE("iface %p, palette %p.\n", iface, Pal);
if(!Pal) if(!Pal)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -2784,7 +2819,8 @@ static HRESULT WINAPI ddraw_surface7_SetColorKey(IDirectDrawSurface7 *iface, DWO
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
DDCOLORKEY FixedCKey; DDCOLORKEY FixedCKey;
struct SCKContext ctx = { DD_OK, (WINEDDCOLORKEY *) (CKey ? &FixedCKey : NULL), Flags }; struct SCKContext ctx = { DD_OK, (WINEDDCOLORKEY *) (CKey ? &FixedCKey : NULL), Flags };
TRACE("(%p)->(%x,%p)\n", This, Flags, CKey);
TRACE("iface %p, flags %#x, color_key %p.\n", iface, Flags, CKey);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (CKey) if (CKey)
@ -2882,7 +2918,8 @@ static HRESULT WINAPI ddraw_surface7_SetPalette(IDirectDrawSurface7 *iface, IDir
IDirectDrawSurfaceImpl *surf; IDirectDrawSurfaceImpl *surf;
IDirectDrawPaletteImpl *PalImpl = (IDirectDrawPaletteImpl *)Pal; IDirectDrawPaletteImpl *PalImpl = (IDirectDrawPaletteImpl *)Pal;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p)\n", This, Pal);
TRACE("iface %p, palette %p.\n", iface, Pal);
if (!(This->surface_desc.u4.ddpfPixelFormat.dwFlags & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 | if (!(This->surface_desc.u4.ddpfPixelFormat.dwFlags & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 |
DDPF_PALETTEINDEXED4 | DDPF_PALETTEINDEXED8 | DDPF_PALETTEINDEXEDTO8))) { DDPF_PALETTEINDEXED4 | DDPF_PALETTEINDEXED8 | DDPF_PALETTEINDEXEDTO8))) {

View File

@ -24,8 +24,7 @@
#include "ddraw_private.h" #include "ddraw_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk);
/***************************************************************************** /*****************************************************************************
* IUnknown Methods * IUnknown Methods
@ -52,7 +51,8 @@ IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBuffer7 *iface,
void **obj) void **obj)
{ {
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj);
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
/* By default, set the object pointer to NULL */ /* By default, set the object pointer to NULL */
*obj = NULL; *obj = NULL;
@ -87,10 +87,9 @@ Thunk_IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface,
REFIID riid, REFIID riid,
void **obj) void **obj)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, debugstr_guid(riid), obj);
return IDirect3DVertexBuffer7_QueryInterface((IDirect3DVertexBuffer7 *)This, riid, obj); return IDirect3DVertexBuffer7_QueryInterface((IDirect3DVertexBuffer7 *)vb_from_vb1(iface), riid, obj);
} }
/***************************************************************************** /*****************************************************************************
@ -108,7 +107,7 @@ IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface)
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p/%p)->() incrementing from %u.\n", This, iface, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -116,10 +115,9 @@ IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface)
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p.\n", iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)This); return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)vb_from_vb1(iface));
} }
@ -138,7 +136,7 @@ IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface)
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (ref == 0) if (ref == 0)
{ {
@ -181,10 +179,9 @@ IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface)
static ULONG WINAPI static ULONG WINAPI
Thunk_IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *iface) Thunk_IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *iface)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p.\n", iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_Release((IDirect3DVertexBuffer7 *)This); return IDirect3DVertexBuffer7_Release((IDirect3DVertexBuffer7 *)vb_from_vb1(iface));
} }
/***************************************************************************** /*****************************************************************************
@ -220,7 +217,8 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface,
WINED3DBUFFER_DESC Desc; WINED3DBUFFER_DESC Desc;
HRESULT hr; HRESULT hr;
DWORD wined3d_flags = 0; DWORD wined3d_flags = 0;
TRACE("(%p)->(%08x,%p,%p)\n", This, Flags, Data, Size);
TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, Flags, Data, Size);
/* Writeonly: Pointless. Event: Unsupported by native according to the sdk /* Writeonly: Pointless. Event: Unsupported by native according to the sdk
* nosyslock: Not applicable * nosyslock: Not applicable
@ -256,10 +254,9 @@ Thunk_IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface,
void **Data, void **Data,
DWORD *Size) DWORD *Size)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, Flags, Data, Size);
TRACE_(ddraw_thunk)("(%p)->(%08x,%p,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Flags, Data, Size);
return IDirect3DVertexBuffer7_Lock((IDirect3DVertexBuffer7 *)This, Flags, Data, Size); return IDirect3DVertexBuffer7_Lock((IDirect3DVertexBuffer7 *)vb_from_vb1(iface), Flags, Data, Size);
} }
/***************************************************************************** /*****************************************************************************
@ -276,7 +273,8 @@ IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
{ {
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
HRESULT hr; HRESULT hr;
TRACE("(%p)->()\n", This);
TRACE("iface %p.\n", iface);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
hr = IWineD3DBuffer_Unmap(This->wineD3DVertexBuffer); hr = IWineD3DBuffer_Unmap(This->wineD3DVertexBuffer);
@ -288,10 +286,9 @@ IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
static HRESULT WINAPI static HRESULT WINAPI
Thunk_IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *iface) Thunk_IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *iface)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p.\n", iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_Unlock((IDirect3DVertexBuffer7 *)This); return IDirect3DVertexBuffer7_Unlock((IDirect3DVertexBuffer7 *)vb_from_vb1(iface));
} }
@ -333,7 +330,8 @@ IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexBuffer7 *iface,
BOOL oldClip, doClip; BOOL oldClip, doClip;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%08x,%d,%d,%p,%d,%p,%08x)\n", This, VertexOp, DestIndex, Count, Src, SrcIndex, D3D, Flags); TRACE("iface %p, vertex_op %#x, dst_idx %u, count %u, src_buffer %p, src_idx %u, device %p, flags %#x.\n",
iface, VertexOp, DestIndex, Count, SrcBuffer, SrcIndex, D3DDevice, Flags);
/* Vertex operations: /* Vertex operations:
* D3DVOP_CLIP: Clips vertices outside the viewing frustrum. Needs clipping information * D3DVOP_CLIP: Clips vertices outside the viewing frustrum. Needs clipping information
@ -398,14 +396,14 @@ Thunk_IDirect3DVertexBufferImpl_1_ProcessVertices(IDirect3DVertexBuffer *iface,
IDirect3DDevice3 *D3DDevice, IDirect3DDevice3 *D3DDevice,
DWORD Flags) DWORD Flags)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
IDirect3DVertexBufferImpl *Src = SrcBuffer ? vb_from_vb1(SrcBuffer) : NULL; IDirect3DVertexBufferImpl *Src = SrcBuffer ? vb_from_vb1(SrcBuffer) : NULL;
IDirect3DDeviceImpl *D3D = D3DDevice ? device_from_device3(D3DDevice) : NULL; IDirect3DDeviceImpl *D3D = D3DDevice ? device_from_device3(D3DDevice) : NULL;
TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%08x,%p,%08x,%p,%08x) thunking to IDirect3DVertexBuffer7 interface.\n", This, VertexOp, DestIndex, Count, Src, SrcIndex, D3D, Flags); TRACE("iface %p, vertex_op %#x, dst_idx %u, count %u, src_buffer %p, src_idx %u, device %p, flags %#x.\n",
iface, VertexOp, DestIndex, Count, SrcBuffer, SrcIndex, D3DDevice, Flags);
return IDirect3DVertexBuffer7_ProcessVertices((IDirect3DVertexBuffer7 *)This, VertexOp, DestIndex, return IDirect3DVertexBuffer7_ProcessVertices((IDirect3DVertexBuffer7 *)vb_from_vb1(iface), VertexOp,
Count, (IDirect3DVertexBuffer7 *)Src, SrcIndex, (IDirect3DDevice7 *)D3D, Flags); DestIndex, Count, (IDirect3DVertexBuffer7 *)Src, SrcIndex, (IDirect3DDevice7 *)D3D, Flags);
} }
/***************************************************************************** /*****************************************************************************
@ -428,7 +426,8 @@ IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface,
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
WINED3DBUFFER_DESC WDesc; WINED3DBUFFER_DESC WDesc;
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%p)\n", This, Desc);
TRACE("iface %p, desc %p.\n", iface, Desc);
if(!Desc) return DDERR_INVALIDPARAMS; if(!Desc) return DDERR_INVALIDPARAMS;
@ -454,10 +453,9 @@ static HRESULT WINAPI
Thunk_IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface, Thunk_IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface,
D3DVERTEXBUFFERDESC *Desc) D3DVERTEXBUFFERDESC *Desc)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE("iface %p, desc %p.\n", iface, Desc);
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Desc);
return IDirect3DVertexBuffer7_GetVertexBufferDesc((IDirect3DVertexBuffer7 *)This, Desc); return IDirect3DVertexBuffer7_GetVertexBufferDesc((IDirect3DVertexBuffer7 *)vb_from_vb1(iface), Desc);
} }
@ -480,12 +478,13 @@ IDirect3DVertexBufferImpl_Optimize(IDirect3DVertexBuffer7 *iface,
DWORD Flags) DWORD Flags)
{ {
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
IDirect3DDeviceImpl *D3D = (IDirect3DDeviceImpl *)D3DDevice;
static BOOL hide = FALSE; static BOOL hide = FALSE;
TRACE("iface %p, device %p, flags %#x.\n", iface, D3DDevice, Flags);
if (!hide) if (!hide)
{ {
FIXME("(%p)->(%p,%08x): stub!\n", This, D3D, Flags); FIXME("iface %p, device %p, flags %#x stub!\n", iface, D3DDevice, Flags);
hide = TRUE; hide = TRUE;
} }
@ -504,11 +503,12 @@ Thunk_IDirect3DVertexBufferImpl_1_Optimize(IDirect3DVertexBuffer *iface,
IDirect3DDevice3 *D3DDevice, IDirect3DDevice3 *D3DDevice,
DWORD Flags) DWORD Flags)
{ {
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
IDirect3DDeviceImpl *D3D = D3DDevice ? device_from_device3(D3DDevice) : NULL; IDirect3DDeviceImpl *D3D = D3DDevice ? device_from_device3(D3DDevice) : NULL;
TRACE_(ddraw_thunk)("(%p)->(%p,%08x) thunking to IDirect3DVertexBuffer7 interface.\n", This, D3D, Flags);
return IDirect3DVertexBuffer7_Optimize((IDirect3DVertexBuffer7 *)This, (IDirect3DDevice7 *)D3D, Flags); TRACE("iface %p, device %p, flags %#x.\n", iface, D3DDevice, Flags);
return IDirect3DVertexBuffer7_Optimize((IDirect3DVertexBuffer7 *)vb_from_vb1(iface),
(IDirect3DDevice7 *)D3D, Flags);
} }
/***************************************************************************** /*****************************************************************************
@ -543,9 +543,9 @@ IDirect3DVertexBufferImpl_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface,
IDirect3DDevice7 *D3DDevice, IDirect3DDevice7 *D3DDevice,
DWORD Flags) DWORD Flags)
{ {
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; FIXME("iface %p, vertex_op %#x, dst_idx %u, count %u, data %p, vertex_type %#x, device %p, flags %#x stub!\n",
IDirect3DDeviceImpl *D3D = (IDirect3DDeviceImpl *)D3DDevice; iface, VertexOp, DestIndex, Count, StrideData, VertexTypeDesc, D3DDevice, Flags);
FIXME("(%p)->(%08x,%08x,%08x,%p,%08x,%p,%08x): stub!\n", This, VertexOp, DestIndex, Count, StrideData, VertexTypeDesc, D3D, Flags);
return DD_OK; return DD_OK;
} }

View File

@ -24,7 +24,7 @@
#include "ddraw_private.h" #include "ddraw_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
/***************************************************************************** /*****************************************************************************
* Helper functions * Helper functions
@ -131,7 +131,7 @@ IDirect3DViewportImpl_QueryInterface(IDirect3DViewport3 *iface,
REFIID riid, REFIID riid,
void **obp) void **obp)
{ {
TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(riid), obp); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obp);
*obp = NULL; *obp = NULL;
@ -163,7 +163,7 @@ IDirect3DViewportImpl_AddRef(IDirect3DViewport3 *iface)
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); TRACE("%p increasing refcount to %u.\n", This, ref);
return ref; return ref;
} }
@ -183,7 +183,7 @@ IDirect3DViewportImpl_Release(IDirect3DViewport3 *iface)
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); TRACE("%p decreasing refcount to %u.\n", This, ref);
if (!ref) { if (!ref) {
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, This);
@ -212,7 +212,8 @@ static HRESULT WINAPI
IDirect3DViewportImpl_Initialize(IDirect3DViewport3 *iface, IDirect3DViewportImpl_Initialize(IDirect3DViewport3 *iface,
IDirect3D *Direct3D) IDirect3D *Direct3D)
{ {
TRACE("(%p)->(%p) no-op...\n", iface, Direct3D); TRACE("iface %p, d3d %p.\n", iface, Direct3D);
return DDERR_ALREADYINITIALIZED; return DDERR_ALREADYINITIALIZED;
} }
@ -235,7 +236,8 @@ IDirect3DViewportImpl_GetViewport(IDirect3DViewport3 *iface,
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
DWORD dwSize; DWORD dwSize;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
TRACE("iface %p, data %p.\n", iface, lpData);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
dwSize = lpData->dwSize; dwSize = lpData->dwSize;
@ -258,7 +260,8 @@ IDirect3DViewportImpl_GetViewport(IDirect3DViewport3 *iface,
memcpy(lpData, &vp1, dwSize); memcpy(lpData, &vp1, dwSize);
} }
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE(" returning D3DVIEWPORT :\n"); TRACE(" returning D3DVIEWPORT :\n");
_dump_D3DVIEWPORT(lpData); _dump_D3DVIEWPORT(lpData);
} }
@ -286,9 +289,11 @@ IDirect3DViewportImpl_SetViewport(IDirect3DViewport3 *iface,
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
LPDIRECT3DVIEWPORT3 current_viewport; LPDIRECT3DVIEWPORT3 current_viewport;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
if (TRACE_ON(d3d7)) { TRACE("iface %p, data %p.\n", iface, lpData);
if (TRACE_ON(ddraw))
{
TRACE(" getting D3DVIEWPORT :\n"); TRACE(" getting D3DVIEWPORT :\n");
_dump_D3DVIEWPORT(lpData); _dump_D3DVIEWPORT(lpData);
} }
@ -360,7 +365,9 @@ IDirect3DViewportImpl_TransformVertices(IDirect3DViewport3 *iface,
unsigned int i; unsigned int i;
D3DVIEWPORT vp = This->viewports.vp1; D3DVIEWPORT vp = This->viewports.vp1;
D3DHVERTEX *outH; D3DHVERTEX *outH;
TRACE("(%p)->(%08x,%p,%08x,%p)\n", This, dwVertexCount, lpData, dwFlags, lpOffScreen);
TRACE("iface %p, vertex_count %u, vertex_data %p, flags %#x, clip_plane %p.\n",
iface, dwVertexCount, lpData, dwFlags, lpOffScreen);
/* Tests on windows show that Windows crashes when this occurs, /* Tests on windows show that Windows crashes when this occurs,
* so don't return the (intuitive) return value * so don't return the (intuitive) return value
@ -491,8 +498,8 @@ IDirect3DViewportImpl_LightElements(IDirect3DViewport3 *iface,
DWORD dwElementCount, DWORD dwElementCount,
LPD3DLIGHTDATA lpData) LPD3DLIGHTDATA lpData)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; TRACE("iface %p, element_count %u, data %p.\n", iface, dwElementCount, lpData);
TRACE("(%p)->(%08x,%p): Unimplemented!\n", This, dwElementCount, lpData);
return DDERR_UNSUPPORTED; return DDERR_UNSUPPORTED;
} }
@ -515,7 +522,7 @@ IDirect3DViewportImpl_SetBackground(IDirect3DViewport3 *iface,
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
IDirect3DMaterialImpl *m; IDirect3DMaterialImpl *m;
TRACE("(%p)->(%d)\n", This, hMat); TRACE("iface %p, material %#x.\n", iface, hMat);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
@ -563,7 +570,8 @@ IDirect3DViewportImpl_GetBackground(IDirect3DViewport3 *iface,
BOOL *lpValid) BOOL *lpValid)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
TRACE("(%p)->(%p,%p)\n", This, lphMat, lpValid);
TRACE("iface %p, material %p, valid %p.\n", iface, lphMat, lpValid);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if(lpValid) if(lpValid)
@ -602,8 +610,8 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetBackgroundDepth(IDirect3DViewport3 *iface, IDirect3DViewportImpl_SetBackgroundDepth(IDirect3DViewport3 *iface,
IDirectDrawSurface *lpDDSurface) IDirectDrawSurface *lpDDSurface)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("iface %p, surface %p stub!\n", iface, lpDDSurface);
FIXME("(%p)->(%p): stub!\n", This, lpDDSurface);
return D3D_OK; return D3D_OK;
} }
@ -626,8 +634,8 @@ IDirect3DViewportImpl_GetBackgroundDepth(IDirect3DViewport3 *iface,
IDirectDrawSurface **lplpDDSurface, IDirectDrawSurface **lplpDDSurface,
LPBOOL lpValid) LPBOOL lpValid)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("iface %p, surface %p, valid %p stub!\n", iface, lplpDDSurface, lpValid);
FIXME("(%p)->(%p,%p): stub!\n", This, lplpDDSurface, lpValid);
return DD_OK; return DD_OK;
} }
@ -657,7 +665,8 @@ static HRESULT WINAPI IDirect3DViewportImpl_Clear(IDirect3DViewport3 *iface,
LPDIRECT3DVIEWPORT3 current_viewport; LPDIRECT3DVIEWPORT3 current_viewport;
IDirect3DDevice3 *d3d_device3; IDirect3DDevice3 *d3d_device3;
TRACE("(%p/%p)->(%08x,%p,%08x)\n", This, iface, dwCount, lpRects, dwFlags); TRACE("iface %p, rect_count %u, rects %p, flags %#x.\n", iface, dwCount, lpRects, dwFlags);
if (This->active_device == NULL) { if (This->active_device == NULL) {
ERR(" Trying to clear a viewport not attached to a device !\n"); ERR(" Trying to clear a viewport not attached to a device !\n");
return D3DERR_VIEWPORTHASNODEVICE; return D3DERR_VIEWPORTHASNODEVICE;
@ -719,7 +728,7 @@ IDirect3DViewportImpl_AddLight(IDirect3DViewport3 *iface,
DWORD i = 0; DWORD i = 0;
DWORD map = This->map_lights; DWORD map = This->map_lights;
TRACE("(%p)->(%p)\n", This, lpDirect3DLight); TRACE("iface %p, light %p.\n", iface, lpDirect3DLight);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (This->num_lights >= 8) if (This->num_lights >= 8)
@ -774,7 +783,7 @@ IDirect3DViewportImpl_DeleteLight(IDirect3DViewport3 *iface,
IDirect3DLightImpl *lpDirect3DLightImpl = (IDirect3DLightImpl *)lpDirect3DLight; IDirect3DLightImpl *lpDirect3DLightImpl = (IDirect3DLightImpl *)lpDirect3DLight;
IDirect3DLightImpl *cur_light, *prev_light = NULL; IDirect3DLightImpl *cur_light, *prev_light = NULL;
TRACE("(%p)->(%p)\n", This, lpDirect3DLight); TRACE("iface %p, light %p.\n", iface, lpDirect3DLight);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
cur_light = This->lights; cur_light = This->lights;
@ -822,7 +831,8 @@ IDirect3DViewportImpl_NextLight(IDirect3DViewport3 *iface,
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
IDirect3DLightImpl *cur_light, *prev_light = NULL; IDirect3DLightImpl *cur_light, *prev_light = NULL;
TRACE("(%p)->(%p,%p,%08x)\n", This, lpDirect3DLight, lplpDirect3DLight, dwFlags); TRACE("iface %p, light %p, next_light %p, flags %#x.\n",
iface, lpDirect3DLight, lplpDirect3DLight, dwFlags);
if (!lplpDirect3DLight) if (!lplpDirect3DLight)
return DDERR_INVALIDPARAMS; return DDERR_INVALIDPARAMS;
@ -896,7 +906,8 @@ IDirect3DViewportImpl_GetViewport2(IDirect3DViewport3 *iface,
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
DWORD dwSize; DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpData);
TRACE("iface %p, data %p.\n", iface, lpData);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
dwSize = lpData->dwSize; dwSize = lpData->dwSize;
@ -919,7 +930,8 @@ IDirect3DViewportImpl_GetViewport2(IDirect3DViewport3 *iface,
memcpy(lpData, &vp2, dwSize); memcpy(lpData, &vp2, dwSize);
} }
if (TRACE_ON(d3d7)) { if (TRACE_ON(ddraw))
{
TRACE(" returning D3DVIEWPORT2 :\n"); TRACE(" returning D3DVIEWPORT2 :\n");
_dump_D3DVIEWPORT2(lpData); _dump_D3DVIEWPORT2(lpData);
} }
@ -946,9 +958,11 @@ IDirect3DViewportImpl_SetViewport2(IDirect3DViewport3 *iface,
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
LPDIRECT3DVIEWPORT3 current_viewport; LPDIRECT3DVIEWPORT3 current_viewport;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
if (TRACE_ON(d3d7)) { TRACE("iface %p, data %p.\n", iface, lpData);
if (TRACE_ON(ddraw))
{
TRACE(" getting D3DVIEWPORT2 :\n"); TRACE(" getting D3DVIEWPORT2 :\n");
_dump_D3DVIEWPORT2(lpData); _dump_D3DVIEWPORT2(lpData);
} }
@ -992,8 +1006,8 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetBackgroundDepth2(IDirect3DViewport3 *iface, IDirect3DViewportImpl_SetBackgroundDepth2(IDirect3DViewport3 *iface,
IDirectDrawSurface4 *lpDDS) IDirectDrawSurface4 *lpDDS)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("iface %p, surface %p stub!\n", iface, lpDDS);
FIXME("(%p)->(%p): stub!\n", This, lpDDS);
return D3D_OK; return D3D_OK;
} }
@ -1015,8 +1029,8 @@ IDirect3DViewportImpl_GetBackgroundDepth2(IDirect3DViewport3 *iface,
IDirectDrawSurface4 **lplpDDS, IDirectDrawSurface4 **lplpDDS,
BOOL *lpValid) BOOL *lpValid)
{ {
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("iface %p, surface %p, valid %p stub!\n", iface, lplpDDS, lpValid);
FIXME("(%p/%p)->(%p,%p): stub!\n", This, iface, lplpDDS, lpValid);
return D3D_OK; return D3D_OK;
} }
@ -1049,7 +1063,9 @@ IDirect3DViewportImpl_Clear2(IDirect3DViewport3 *iface,
HRESULT hr; HRESULT hr;
LPDIRECT3DVIEWPORT3 current_viewport; LPDIRECT3DVIEWPORT3 current_viewport;
IDirect3DDevice3 *d3d_device3; IDirect3DDevice3 *d3d_device3;
TRACE("(%p)->(%08x,%p,%08x,%08x,%f,%08x)\n", This, dwCount, lpRects, dwFlags, dwColor, dvZ, dwStencil);
TRACE("iface %p, rect_count %u, rects %p, flags %#x, color 0x%08x, depth %.8e, stencil %u.\n",
iface, dwCount, lpRects, dwFlags, dwColor, dvZ, dwStencil);
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
if (This->active_device == NULL) { if (This->active_device == NULL) {