From cd159e3a746780743cad2f74b370b3030e5d9a3a Mon Sep 17 00:00:00 2001 From: Oliver Stieber Date: Tue, 23 Aug 2005 09:34:57 +0000 Subject: [PATCH] Tidy up d3d9 and finalize passing d3d9 calls to wined3d for now. --- dlls/d3d9/cubetexture.c | 3 + dlls/d3d9/d3d9.spec | 4 +- dlls/d3d9/d3d9_main.c | 13 +- dlls/d3d9/d3d9_private.h | 457 +++-------------------------------- dlls/d3d9/device.c | 8 +- dlls/d3d9/directx.c | 10 +- dlls/d3d9/indexbuffer.c | 3 + dlls/d3d9/pixelshader.c | 20 +- dlls/d3d9/stateblock.c | 4 +- dlls/d3d9/surface.c | 5 +- dlls/d3d9/swapchain.c | 7 +- dlls/d3d9/texture.c | 5 +- dlls/d3d9/vertexbuffer.c | 3 + dlls/d3d9/vertexshader.c | 4 +- dlls/d3d9/volume.c | 4 +- dlls/d3d9/volumetexture.c | 6 +- include/wine/wined3d_types.h | 4 +- 17 files changed, 102 insertions(+), 458 deletions(-) diff --git a/dlls/d3d9/cubetexture.c b/dlls/d3d9/cubetexture.c index 8eae428ee1a..690dbe86264 100644 --- a/dlls/d3d9/cubetexture.c +++ b/dlls/d3d9/cubetexture.c @@ -209,9 +209,11 @@ HRESULT WINAPI IDirect3DCubeTexture9Impl_AddDirtyRect(LPDIRECT3DCUBETEXTURE9 if const IDirect3DCubeTexture9Vtbl Direct3DCubeTexture9_Vtbl = { + /* IUnknown */ IDirect3DCubeTexture9Impl_QueryInterface, IDirect3DCubeTexture9Impl_AddRef, IDirect3DCubeTexture9Impl_Release, + /* IDirect3DResource9 */ IDirect3DCubeTexture9Impl_GetDevice, IDirect3DCubeTexture9Impl_SetPrivateData, IDirect3DCubeTexture9Impl_GetPrivateData, @@ -220,6 +222,7 @@ const IDirect3DCubeTexture9Vtbl Direct3DCubeTexture9_Vtbl = IDirect3DCubeTexture9Impl_GetPriority, IDirect3DCubeTexture9Impl_PreLoad, IDirect3DCubeTexture9Impl_GetType, + /* IDirect3DBaseTexture9 */ IDirect3DCubeTexture9Impl_SetLOD, IDirect3DCubeTexture9Impl_GetLOD, IDirect3DCubeTexture9Impl_GetLevelCount, diff --git a/dlls/d3d9/d3d9.spec b/dlls/d3d9/d3d9.spec index c72b3802e8f..77dd8823812 100644 --- a/dlls/d3d9/d3d9.spec +++ b/dlls/d3d9/d3d9.spec @@ -1,5 +1,5 @@ @ stdcall D3D9GetSWInfo() @ stdcall DebugSetMute() @ stdcall Direct3DCreate9(long) -@ stdcall ValidatePixelShader(ptr ptr) -@ stdcall ValidateVertexShader(ptr ptr) +@ stdcall ValidatePixelShader(ptr long long ptr) +@ stdcall ValidateVertexShader(ptr long long ptr) diff --git a/dlls/d3d9/d3d9_main.c b/dlls/d3d9/d3d9_main.c index 0e4f7fe0cbe..3bbc9336e83 100644 --- a/dlls/d3d9/d3d9_main.c +++ b/dlls/d3d9/d3d9_main.c @@ -2,7 +2,8 @@ * Direct3D 9 * * Copyright 2002-2003 Jason Edmeades - * Raphael Junqueira + * Copyright 2002-2003 Raphael Junqueira + * Copyright 2005 Oliver Stieber * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,7 +25,7 @@ #include "initguid.h" #include "d3d9_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(d3d); +WINE_DEFAULT_DEBUG_CHANNEL(d3d9); void (*wine_tsx11_lock_ptr)(void) = NULL; void (*wine_tsx11_unlock_ptr)(void) = NULL; @@ -72,15 +73,15 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) { /*********************************************************************** * ValidateVertexShader (D3D9.@) */ -BOOL WINAPI ValidateVertexShader(LPVOID what, LPVOID toto) { - FIXME("(void): stub: %p %p\n", what, toto); +BOOL WINAPI ValidateVertexShader(LPVOID pFunction, int param1, int param2, LPVOID toto/* result? */) { + FIXME("(void): stub: %p %d %d %p\n", pFunction, param1, param2, toto); return TRUE; } /*********************************************************************** * ValidatePixelShader (D3D9.@) */ -BOOL WINAPI ValidatePixelShader(LPVOID what, LPVOID toto) { - FIXME("(void): stub: %p %p\n", what, toto); +BOOL WINAPI ValidatePixelShader(LPVOID pFunction, int param1, int param2, LPVOID toto/* result?*/) { + FIXME("(void): stub: %p %d %d %p\n", pFunction, param1, param2, toto); return TRUE; } diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h index 8d84949bc4f..b6648347e5a 100644 --- a/dlls/d3d9/d3d9_private.h +++ b/dlls/d3d9/d3d9_private.h @@ -27,7 +27,6 @@ # error You must include config.h to use this header #endif -/* THIS FILE MUST NOT CONTAIN X11 or MESA DEFINES */ #include #define NONAMELESSUNION @@ -35,19 +34,10 @@ #define COBJMACROS #include "windef.h" #include "winbase.h" -#include "wingdi.h" #include "winuser.h" #include "wine/debug.h" #include "wine/unicode.h" -#define XMD_H -#include -#include -#ifdef HAVE_GL_GLEXT_H -# include -#endif -#undef XMD_H - #undef APIENTRY #undef CALLBACK #undef WINAPI @@ -57,41 +47,11 @@ #define WINAPI __stdcall #define APIENTRY WINAPI +#include "gdi.h" #include "d3d9.h" #include "d3d9_private.h" #include "wine/wined3d_interface.h" -/* X11 locking */ - -extern void (*wine_tsx11_lock_ptr)(void); -extern void (*wine_tsx11_unlock_ptr)(void); - -/* As GLX relies on X, this is needed */ -#define ENTER_GL() wine_tsx11_lock_ptr() -#define LEAVE_GL() wine_tsx11_unlock_ptr() - -#include - -#include "windef.h" -#include "winbase.h" -#include "d3d9.h" - -/* Device caps */ -#define MAX_PALETTES 256 -#define MAX_STREAMS 16 -#define MAX_ACTIVE_LIGHTS 8 -#define MAX_CLIPPLANES D3DMAXUSERCLIPPLANES -#define MAX_LEVELS 256 - -/* Other useful values */ -#define HIGHEST_RENDER_STATE D3DRS_BLENDOPALPHA -#define HIGHEST_TEXTURE_STATE 29 -#define HIGHEST_TRANSFORMSTATE 512 -#define D3DSBT_RECORDED 0xfffffffe - -#define D3D_VSHADER_MAX_CONSTANTS 96 -#define D3D_PSHADER_MAX_CONSTANTS 32 - /* =========================================================================== Macros =========================================================================== */ @@ -174,60 +134,8 @@ extern void (*wine_tsx11_unlock_ptr)(void); _pWineCaps->MaxVertexShader30InstructionSlots = &_pD3D9Caps->MaxVertexShader30InstructionSlots; \ _pWineCaps->MaxPixelShader30InstructionSlots = &_pD3D9Caps->MaxPixelShader30InstructionSlots; -/* Direct3D9 Interfaces: */ -typedef struct IDirect3D9Impl IDirect3D9Impl; -typedef struct IDirect3DDevice9Impl IDirect3DDevice9Impl; -typedef struct IDirect3DBaseTexture9Impl IDirect3DBaseTexture9Impl; -typedef struct IDirect3DTexture9Impl IDirect3DTexture9Impl; -typedef struct IDirect3DVolumeTexture9Impl IDirect3DVolumeTexture9Impl; -typedef struct IDirect3DCubeTexture9Impl IDirect3DCubeTexture9Impl; -typedef struct IDirect3DVertexBuffer9Impl IDirect3DVertexBuffer9Impl; -typedef struct IDirect3DIndexBuffer9Impl IDirect3DIndexBuffer9Impl; -typedef struct IDirect3DSurface9Impl IDirect3DSurface9Impl; -typedef struct IDirect3DResource9Impl IDirect3DResource9Impl; -typedef struct IDirect3DVolume9Impl IDirect3DVolume9Impl; -typedef struct IDirect3DVertexDeclaration9Impl IDirect3DVertexDeclaration9Impl; - - -#define D3DCOLOR_R(dw) (((float) (((dw) >> 16) & 0xFF)) / 255.0f) -#define D3DCOLOR_G(dw) (((float) (((dw) >> 8) & 0xFF)) / 255.0f) -#define D3DCOLOR_B(dw) (((float) (((dw) >> 0) & 0xFF)) / 255.0f) -#define D3DCOLOR_A(dw) (((float) (((dw) >> 24) & 0xFF)) / 255.0f) - -#define D3DCOLORTOCOLORVALUE(dw, col) \ - (col).r = D3DCOLOR_R(dw); \ - (col).g = D3DCOLOR_G(dw); \ - (col).b = D3DCOLOR_B(dw); \ - (col).a = D3DCOLOR_A(dw); - -#define D3DCOLORTOVECTOR4(dw, vec) \ - (vec).x = D3DCOLOR_R(dw); \ - (vec).y = D3DCOLOR_G(dw); \ - (vec).z = D3DCOLOR_B(dw); \ - (vec).w = D3DCOLOR_A(dw); - -#define D3DCOLORTOGLFLOAT4(dw, vec) \ - (vec)[0] = D3DCOLOR_R(dw); \ - (vec)[1] = D3DCOLOR_G(dw); \ - (vec)[2] = D3DCOLOR_B(dw); \ - (vec)[3] = D3DCOLOR_A(dw); - -typedef struct D3DSHADERVECTORF { - float x; - float y; - float z; - float w; -} D3DSHADERVECTORF; - -typedef struct D3DSHADERVECTORI { - int x; - int y; - int z; - int w; -} D3DSHADERVECTORI; - /* =========================================================================== - The interfactes themselves + D3D9 interfactes =========================================================================== */ /* ---------- */ @@ -242,7 +150,7 @@ extern const IDirect3D9Vtbl Direct3D9_Vtbl; /***************************************************************************** * IDirect3D implementation structure */ -struct IDirect3D9Impl +typedef struct IDirect3D9Impl { /* IUnknown fields */ const IDirect3D9Vtbl *lpVtbl; @@ -251,29 +159,7 @@ struct IDirect3D9Impl /* The WineD3D device */ IWineD3D *WineD3D; - /* IDirect3D9 fields */ -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3D9Impl_QueryInterface(LPDIRECT3D9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3D9Impl_AddRef(LPDIRECT3D9 iface); -extern ULONG WINAPI IDirect3D9Impl_Release(LPDIRECT3D9 iface); - -/* IDirect3d9: */ -extern HRESULT WINAPI IDirect3D9Impl_RegisterSoftwareDevice(LPDIRECT3D9 iface, void* pInitializeFunction); -extern UINT WINAPI IDirect3D9Impl_GetAdapterCount(LPDIRECT3D9 iface); -extern HRESULT WINAPI IDirect3D9Impl_GetAdapterIdentifier(LPDIRECT3D9 iface, UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier); -extern UINT WINAPI IDirect3D9Impl_GetAdapterModeCount(LPDIRECT3D9 iface, UINT Adapter, D3DFORMAT Format); -extern HRESULT WINAPI IDirect3D9Impl_EnumAdapterModes(LPDIRECT3D9 iface, UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode); -extern HRESULT WINAPI IDirect3D9Impl_GetAdapterDisplayMode(LPDIRECT3D9 iface, UINT Adapter, D3DDISPLAYMODE* pMode); -extern HRESULT WINAPI IDirect3D9Impl_CheckDeviceType(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed); -extern HRESULT WINAPI IDirect3D9Impl_CheckDeviceFormat(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat); -extern HRESULT WINAPI IDirect3D9Impl_CheckDeviceMultiSampleType(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels); -extern HRESULT WINAPI IDirect3D9Impl_CheckDepthStencilMatch(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat); -extern HRESULT WINAPI IDirect3D9Impl_CheckDeviceFormatConversion(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat); -extern HRESULT WINAPI IDirect3D9Impl_GetDeviceCaps(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps); -extern HMONITOR WINAPI IDirect3D9Impl_GetAdapterMonitor(LPDIRECT3D9 iface, UINT Adapter); -extern HRESULT WINAPI IDirect3D9Impl_CreateDevice(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface); +} IDirect3D9Impl; /* ---------------- */ /* IDirect3DDevice9 */ @@ -287,7 +173,7 @@ extern const IDirect3DDevice9Vtbl Direct3DDevice9_Vtbl; /***************************************************************************** * IDirect3DDevice9 implementation structure */ -struct IDirect3DDevice9Impl +typedef struct IDirect3DDevice9Impl { /* IUnknown fields */ const IDirect3DDevice9Vtbl *lpVtbl; @@ -296,104 +182,22 @@ struct IDirect3DDevice9Impl /* IDirect3DDevice9 fields */ IWineD3DDevice *WineD3DDevice; - /* FIXME: To be sorted out during move */ - IDirect3DSurface9Impl *frontBuffer; - IDirect3DSurface9Impl *backBuffer; - IDirect3DSurface9Impl *depthStencilBuffer; +} IDirect3DDevice9Impl; - IDirect3DSurface9Impl *renderTarget; - IDirect3DSurface9Impl *stencilBufferTarget; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DDevice9Impl_QueryInterface(LPDIRECT3DDEVICE9 iface, REFIID refiid, LPVOID *obj); -extern ULONG WINAPI IDirect3DDevice9Impl_AddRef(LPDIRECT3DDEVICE9 iface); -extern ULONG WINAPI IDirect3DDevice9Impl_Release(LPDIRECT3DDEVICE9 iface); /* IDirect3DDevice9: */ -extern HRESULT WINAPI IDirect3DDevice9Impl_TestCooperativeLevel(LPDIRECT3DDEVICE9 iface); -extern UINT WINAPI IDirect3DDevice9Impl_GetAvailableTextureMem(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_EvictManagedRessources(LPDIRECT3DDEVICE9 iface); extern HRESULT WINAPI IDirect3DDevice9Impl_GetDirect3D(LPDIRECT3DDEVICE9 iface, IDirect3D9** ppD3D9); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetDeviceCaps(LPDIRECT3DDEVICE9 iface, D3DCAPS9* pCaps); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetDisplayMode(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, D3DDISPLAYMODE* pMode); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetCreationParameters(LPDIRECT3DDEVICE9 iface, D3DDEVICE_CREATION_PARAMETERS* pParameters); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetCursorProperties(LPDIRECT3DDEVICE9 iface, UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap); -extern void WINAPI IDirect3DDevice9Impl_SetCursorPosition(LPDIRECT3DDEVICE9 iface, int XScreenSpace, int YScreenSpace, DWORD Flags); -extern BOOL WINAPI IDirect3DDevice9Impl_ShowCursor(LPDIRECT3DDEVICE9 iface, BOOL bShow); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE9 iface, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain); extern HRESULT WINAPI IDirect3DDevice9Impl_GetSwapChain(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, IDirect3DSwapChain9** pSwapChain); extern UINT WINAPI IDirect3DDevice9Impl_GetNumberOfSwapChains(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_Reset(LPDIRECT3DDEVICE9 iface, D3DPRESENT_PARAMETERS* pPresentationParameters); -extern HRESULT WINAPI IDirect3DDevice9Impl_Present(LPDIRECT3DDEVICE9 iface, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetBackBuffer(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, UINT BackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetRasterStatus(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetDialogBoxMode(LPDIRECT3DDEVICE9 iface, BOOL bEnableDialogs); -extern void WINAPI IDirect3DDevice9Impl_SetGammaRamp(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp); -extern void WINAPI IDirect3DDevice9Impl_GetGammaRamp(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, D3DGAMMARAMP* pRamp); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateTexture(LPDIRECT3DDEVICE9 iface, UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateVolumeTexture(LPDIRECT3DDEVICE9 iface, UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateCubeTexture(LPDIRECT3DDEVICE9 iface, UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateVertexBuffer(LPDIRECT3DDEVICE9 iface, UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateIndexBuffer(LPDIRECT3DDEVICE9 iface, UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle); -extern HRESULT WINAPI IDirect3DDevice9Impl_CreateRenderTarget(LPDIRECT3DDEVICE9 iface, UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle); -extern HRESULT WINAPI IDirect3DDevice9Impl_CreateDepthStencilSurface(LPDIRECT3DDEVICE9 iface, UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle); -extern HRESULT WINAPI IDirect3DDevice9Impl_UpdateSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint); -extern HRESULT WINAPI IDirect3DDevice9Impl_UpdateTexture(LPDIRECT3DDEVICE9 iface, IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetRenderTargetData(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetFrontBufferData(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, IDirect3DSurface9* pDestSurface); -extern HRESULT WINAPI IDirect3DDevice9Impl_StretchRects(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter); -extern HRESULT WINAPI IDirect3DDevice9Impl_ColorFill(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color); -extern HRESULT WINAPI IDirect3DDevice9Impl_CreateOffscreenPlainSurface(LPDIRECT3DDEVICE9 iface, UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pNewZStencilSurface); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9** ppZStencilSurface); -extern HRESULT WINAPI IDirect3DDevice9Impl_BeginScene(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_EndScene(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_Clear(LPDIRECT3DDEVICE9 iface, DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix); -extern HRESULT WINAPI IDirect3DDevice9Impl_MultiplyTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetViewport(LPDIRECT3DDEVICE9 iface, CONST D3DVIEWPORT9* pViewport); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetViewport(LPDIRECT3DDEVICE9 iface, D3DVIEWPORT9* pViewport); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetMaterial(LPDIRECT3DDEVICE9 iface, CONST D3DMATERIAL9* pMaterial); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetMaterial(LPDIRECT3DDEVICE9 iface, D3DMATERIAL9* pMaterial); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST D3DLIGHT9* pLight); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, D3DLIGHT9* pLight); -extern HRESULT WINAPI IDirect3DDevice9Impl_LightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL Enable); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetLightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL* pEnable); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST float* pPlane); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, float* pPlane); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD Value); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD* pValue); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateStateBlock(LPDIRECT3DDEVICE9 iface, D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB); extern HRESULT WINAPI IDirect3DDevice9Impl_BeginStateBlock(LPDIRECT3DDEVICE9 iface); extern HRESULT WINAPI IDirect3DDevice9Impl_EndStateBlock(LPDIRECT3DDEVICE9 iface, IDirect3DStateBlock9** ppSB); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetClipStatus(LPDIRECT3DDEVICE9 iface, CONST D3DCLIPSTATUS9* pClipStatus); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetClipStatus(LPDIRECT3DDEVICE9 iface, D3DCLIPSTATUS9* pClipStatus); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9** ppTexture); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9* pTexture); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value); -extern HRESULT WINAPI IDirect3DDevice9Impl_ValidateDevice(LPDIRECT3DDEVICE9 iface, DWORD* pNumPasses); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, CONST PALETTEENTRY* pEntries); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, PALETTEENTRY* pEntries); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT *PaletteNumber); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetScissorRect(LPDIRECT3DDEVICE9 iface, CONST RECT* pRect); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetScissorRect(LPDIRECT3DDEVICE9 iface, RECT* pRect); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface, BOOL bSoftware); -extern BOOL WINAPI IDirect3DDevice9Impl_GetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetNPatchMode(LPDIRECT3DDEVICE9 iface, float nSegments); -extern float WINAPI IDirect3DDevice9Impl_GetNPatchMode(LPDIRECT3DDEVICE9 iface); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawIndexedPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride); -extern HRESULT WINAPI IDirect3DDevice9Impl_ProcessVertices(LPDIRECT3DDEVICE9 iface, UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateVertexDeclaration(LPDIRECT3DDEVICE9 iface, CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl); extern HRESULT WINAPI IDirect3DDevice9Impl_SetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9* pDecl); extern HRESULT WINAPI IDirect3DDevice9Impl_GetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9** ppDecl); @@ -410,10 +214,6 @@ extern HRESULT WINAPI IDirect3DDevice9Impl_SetVertexShaderConstantB(LPDIRECT3D extern HRESULT WINAPI IDirect3DDevice9Impl_GetVertexShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount); extern HRESULT WINAPI IDirect3DDevice9Impl_SetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride); extern HRESULT WINAPI IDirect3DDevice9Impl_GetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, UINT Divider); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, UINT* Divider); -extern HRESULT WINAPI IDirect3DDevice9Impl_SetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9* pIndexData); -extern HRESULT WINAPI IDirect3DDevice9Impl_GetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9** ppIndexData); extern HRESULT WINAPI IDirect3DDevice9Impl_CreatePixelShader(LPDIRECT3DDEVICE9 iface, CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader); extern HRESULT WINAPI IDirect3DDevice9Impl_SetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9* pShader); extern HRESULT WINAPI IDirect3DDevice9Impl_GetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9** ppShader); @@ -423,9 +223,6 @@ extern HRESULT WINAPI IDirect3DDevice9Impl_SetPixelShaderConstantI(LPDIRECT3DD extern HRESULT WINAPI IDirect3DDevice9Impl_GetPixelShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, int* pConstantData, UINT Vector4iCount); extern HRESULT WINAPI IDirect3DDevice9Impl_SetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount); extern HRESULT WINAPI IDirect3DDevice9Impl_GetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawRectPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo); -extern HRESULT WINAPI IDirect3DDevice9Impl_DrawTriPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo); -extern HRESULT WINAPI IDirect3DDevice9Impl_DeletePatch(LPDIRECT3DDEVICE9 iface, UINT Handle); extern HRESULT WINAPI IDirect3DDevice9Impl_CreateQuery(LPDIRECT3DDEVICE9 iface, D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery); @@ -441,7 +238,7 @@ extern const IDirect3DVolume9Vtbl Direct3DVolume9_Vtbl; /***************************************************************************** * IDirect3DVolume9 implementation structure */ -struct IDirect3DVolume9Impl +typedef struct IDirect3DVolume9Impl { /* IUnknown fields */ const IDirect3DVolume9Vtbl *lpVtbl; @@ -449,23 +246,8 @@ struct IDirect3DVolume9Impl /* IDirect3DVolume9 fields */ IWineD3DVolume *wineD3DVolume; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DVolume9Impl_QueryInterface(LPDIRECT3DVOLUME9 iface, REFIID refiid, LPVOID* obj); -extern ULONG WINAPI IDirect3DVolume9Impl_AddRef(LPDIRECT3DVOLUME9 iface); -extern ULONG WINAPI IDirect3DVolume9Impl_Release(LPDIRECT3DVOLUME9 iface); - -/* IDirect3DVolume9: */ -extern HRESULT WINAPI IDirect3DVolume9Impl_GetDevice(LPDIRECT3DVOLUME9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DVolume9Impl_SetPrivateData(LPDIRECT3DVOLUME9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DVolume9Impl_GetPrivateData(LPDIRECT3DVOLUME9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DVolume9Impl_FreePrivateData(LPDIRECT3DVOLUME9 iface, REFGUID refguid); -extern HRESULT WINAPI IDirect3DVolume9Impl_GetContainer(LPDIRECT3DVOLUME9 iface, REFIID riid, void** ppContainer); -extern HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(LPDIRECT3DVOLUME9 iface, D3DVOLUME_DESC* pDesc); -extern HRESULT WINAPI IDirect3DVolume9Impl_LockBox(LPDIRECT3DVOLUME9 iface, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags); -extern HRESULT WINAPI IDirect3DVolume9Impl_UnlockBox(LPDIRECT3DVOLUME9 iface); - + +} IDirect3DVolume9Impl; /* ------------------- */ /* IDirect3DSwapChain9 */ @@ -487,6 +269,7 @@ typedef struct IDirect3DSwapChain9Impl /* IDirect3DSwapChain9 fields */ IWineD3DSwapChain *wineD3DSwapChain; + } IDirect3DSwapChain9Impl; /* ------------------ */ @@ -501,7 +284,7 @@ extern const IDirect3DResource9Vtbl Direct3DResource9_Vtbl; /***************************************************************************** * IDirect3DResource9 implementation structure */ -struct IDirect3DResource9Impl +typedef struct IDirect3DResource9Impl { /* IUnknown fields */ const IDirect3DResource9Vtbl *lpVtbl; @@ -509,7 +292,7 @@ struct IDirect3DResource9Impl /* IDirect3DResource9 fields */ IWineD3DResource *wineD3DResource; -}; +} IDirect3DResource9Impl; /* IUnknown: */ extern HRESULT WINAPI IDirect3DResource9Impl_QueryInterface(LPDIRECT3DRESOURCE9 iface,REFIID refiid,LPVOID *obj); @@ -539,7 +322,7 @@ extern const IDirect3DSurface9Vtbl Direct3DSurface9_Vtbl; /***************************************************************************** * IDirect3DSurface9 implementation structure */ -struct IDirect3DSurface9Impl +typedef struct IDirect3DSurface9Impl { /* IUnknown fields */ const IDirect3DSurface9Vtbl *lpVtbl; @@ -548,31 +331,7 @@ struct IDirect3DSurface9Impl /* IDirect3DResource9 fields */ IWineD3DSurface *wineD3DSurface; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DSurface9Impl_QueryInterface(LPDIRECT3DSURFACE9 iface, REFIID refiid, LPVOID* obj); -extern ULONG WINAPI IDirect3DSurface9Impl_AddRef(LPDIRECT3DSURFACE9 iface); -extern ULONG WINAPI IDirect3DSurface9Impl_Release(LPDIRECT3DSURFACE9 iface); - -/* IDirect3DSurface9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DSurface9Impl_GetDevice(LPDIRECT3DSURFACE9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DSurface9Impl_SetPrivateData(LPDIRECT3DSURFACE9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DSurface9Impl_GetPrivateData(LPDIRECT3DSURFACE9 iface, REFGUID refguid, void* pData,DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DSurface9Impl_FreePrivateData(LPDIRECT3DSURFACE9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DSurface9Impl_SetPriority(LPDIRECT3DSURFACE9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DSurface9Impl_GetPriority(LPDIRECT3DSURFACE9 iface); -extern void WINAPI IDirect3DSurface9Impl_PreLoad(LPDIRECT3DSURFACE9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DSurface9Impl_GetType(LPDIRECT3DSURFACE9 iface); - -/* IDirect3DSurface9: */ -extern HRESULT WINAPI IDirect3DSurface9Impl_GetContainer(LPDIRECT3DSURFACE9 iface, REFIID riid, void** ppContainer); -extern HRESULT WINAPI IDirect3DSurface9Impl_GetDesc(LPDIRECT3DSURFACE9 iface, D3DSURFACE_DESC *pDesc); -extern HRESULT WINAPI IDirect3DSurface9Impl_LockRect(LPDIRECT3DSURFACE9 iface, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags); -extern HRESULT WINAPI IDirect3DSurface9Impl_UnlockRect(LPDIRECT3DSURFACE9 iface); -extern HRESULT WINAPI IDirect3DSurface9Impl_GetDC(LPDIRECT3DSURFACE9 iface, HDC* phdc); -extern HRESULT WINAPI IDirect3DSurface9Impl_ReleaseDC(LPDIRECT3DSURFACE9 iface, HDC hdc); - +} IDirect3DSurface9Impl; /* ---------------------- */ /* IDirect3DVertexBuffer9 */ @@ -586,7 +345,7 @@ extern const IDirect3DVertexBuffer9Vtbl Direct3DVertexBuffer9_Vtbl; /***************************************************************************** * IDirect3DVertexBuffer9 implementation structure */ -struct IDirect3DVertexBuffer9Impl +typedef struct IDirect3DVertexBuffer9Impl { /* IUnknown fields */ const IDirect3DVertexBuffer9Vtbl *lpVtbl; @@ -594,28 +353,7 @@ struct IDirect3DVertexBuffer9Impl /* IDirect3DResource9 fields */ IWineD3DVertexBuffer *wineD3DVertexBuffer; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_QueryInterface(LPDIRECT3DVERTEXBUFFER9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3DVertexBuffer9Impl_AddRef(LPDIRECT3DVERTEXBUFFER9 iface); -extern ULONG WINAPI IDirect3DVertexBuffer9Impl_Release(LPDIRECT3DVERTEXBUFFER9 iface); - -/* IDirect3DVertexBuffer9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_GetDevice(LPDIRECT3DVERTEXBUFFER9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_SetPrivateData(LPDIRECT3DVERTEXBUFFER9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_GetPrivateData(LPDIRECT3DVERTEXBUFFER9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_FreePrivateData(LPDIRECT3DVERTEXBUFFER9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DVertexBuffer9Impl_SetPriority(LPDIRECT3DVERTEXBUFFER9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DVertexBuffer9Impl_GetPriority(LPDIRECT3DVERTEXBUFFER9 iface); -extern void WINAPI IDirect3DVertexBuffer9Impl_PreLoad(LPDIRECT3DVERTEXBUFFER9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DVertexBuffer9Impl_GetType(LPDIRECT3DVERTEXBUFFER9 iface); - -/* IDirect3DVertexBuffer9: */ -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_Lock(LPDIRECT3DVERTEXBUFFER9 iface, UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags); -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_Unlock(LPDIRECT3DVERTEXBUFFER9 iface); -extern HRESULT WINAPI IDirect3DVertexBuffer9Impl_GetDesc(LPDIRECT3DVERTEXBUFFER9 iface, D3DVERTEXBUFFER_DESC *pDesc); - +} IDirect3DVertexBuffer9Impl; /* --------------------- */ /* IDirect3DIndexBuffer9 */ @@ -629,7 +367,7 @@ extern const IDirect3DIndexBuffer9Vtbl Direct3DIndexBuffer9_Vtbl; /***************************************************************************** * IDirect3DIndexBuffer9 implementation structure */ -struct IDirect3DIndexBuffer9Impl +typedef struct IDirect3DIndexBuffer9Impl { /* IUnknown fields */ const IDirect3DIndexBuffer9Vtbl *lpVtbl; @@ -637,28 +375,8 @@ struct IDirect3DIndexBuffer9Impl /* IDirect3DResource9 fields */ IWineD3DIndexBuffer *wineD3DIndexBuffer; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_QueryInterface(LPDIRECT3DINDEXBUFFER9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3DIndexBuffer9Impl_AddRef(LPDIRECT3DINDEXBUFFER9 iface); -extern ULONG WINAPI IDirect3DIndexBuffer9Impl_Release(LPDIRECT3DINDEXBUFFER9 iface); - -/* IDirect3DIndexBuffer9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_GetDevice(LPDIRECT3DINDEXBUFFER9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_SetPrivateData(LPDIRECT3DINDEXBUFFER9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_GetPrivateData(LPDIRECT3DINDEXBUFFER9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_FreePrivateData(LPDIRECT3DINDEXBUFFER9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DIndexBuffer9Impl_SetPriority(LPDIRECT3DINDEXBUFFER9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DIndexBuffer9Impl_GetPriority(LPDIRECT3DINDEXBUFFER9 iface); -extern void WINAPI IDirect3DIndexBuffer9Impl_PreLoad(LPDIRECT3DINDEXBUFFER9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DIndexBuffer9Impl_GetType(LPDIRECT3DINDEXBUFFER9 iface); - -/* IDirect3DIndexBuffer9: */ -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_Lock(LPDIRECT3DINDEXBUFFER9 iface, UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags); -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_Unlock(LPDIRECT3DINDEXBUFFER9 iface); -extern HRESULT WINAPI IDirect3DIndexBuffer9Impl_GetDesc(LPDIRECT3DINDEXBUFFER9 iface, D3DINDEXBUFFER_DESC *pDesc); +} IDirect3DIndexBuffer9Impl; /* --------------------- */ /* IDirect3DBaseTexture9 */ @@ -672,7 +390,7 @@ extern const IDirect3DBaseTexture9Vtbl Direct3DBaseTexture9_Vtbl; /***************************************************************************** * IDirect3DBaseTexture9 implementation structure */ -struct IDirect3DBaseTexture9Impl +typedef struct IDirect3DBaseTexture9Impl { /* IUnknown fields */ const IDirect3DBaseTexture9Vtbl *lpVtbl; @@ -680,7 +398,8 @@ struct IDirect3DBaseTexture9Impl /* IDirect3DResource9 fields */ IWineD3DBaseTexture *wineD3DBaseTexture; -}; + +} IDirect3DBaseTexture9Impl; /* IUnknown: */ extern HRESULT WINAPI IDirect3DBaseTexture9Impl_QueryInterface(LPDIRECT3DBASETEXTURE9 iface,REFIID refiid,LPVOID *obj); @@ -718,7 +437,7 @@ extern const IDirect3DCubeTexture9Vtbl Direct3DCubeTexture9_Vtbl; /***************************************************************************** * IDirect3DCubeTexture9 implementation structure */ -struct IDirect3DCubeTexture9Impl +typedef struct IDirect3DCubeTexture9Impl { /* IUnknown fields */ const IDirect3DCubeTexture9Vtbl *lpVtbl; @@ -726,37 +445,8 @@ struct IDirect3DCubeTexture9Impl /* IDirect3DResource9 fields */ IWineD3DCubeTexture *wineD3DCubeTexture; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_QueryInterface(LPDIRECT3DCUBETEXTURE9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3DCubeTexture9Impl_AddRef(LPDIRECT3DCUBETEXTURE9 iface); -extern ULONG WINAPI IDirect3DCubeTexture9Impl_Release(LPDIRECT3DCUBETEXTURE9 iface); - -/* IDirect3DCubeTexture9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_GetDevice(LPDIRECT3DCUBETEXTURE9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_SetPrivateData(LPDIRECT3DCUBETEXTURE9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_GetPrivateData(LPDIRECT3DCUBETEXTURE9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_FreePrivateData(LPDIRECT3DCUBETEXTURE9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DCubeTexture9Impl_SetPriority(LPDIRECT3DCUBETEXTURE9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DCubeTexture9Impl_GetPriority(LPDIRECT3DCUBETEXTURE9 iface); -extern void WINAPI IDirect3DCubeTexture9Impl_PreLoad(LPDIRECT3DCUBETEXTURE9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DCubeTexture9Impl_GetType(LPDIRECT3DCUBETEXTURE9 iface); - -/* IDirect3DCubeTexture9: (Inherited from IDirect3DBaseTexture9) */ -extern DWORD WINAPI IDirect3DCubeTexture9Impl_SetLOD(LPDIRECT3DCUBETEXTURE9 iface, DWORD LODNew); -extern DWORD WINAPI IDirect3DCubeTexture9Impl_GetLOD(LPDIRECT3DCUBETEXTURE9 iface); -extern DWORD WINAPI IDirect3DCubeTexture9Impl_GetLevelCount(LPDIRECT3DCUBETEXTURE9 iface); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_SetAutoGenFilterType(LPDIRECT3DCUBETEXTURE9 iface, D3DTEXTUREFILTERTYPE FilterType); -extern D3DTEXTUREFILTERTYPE WINAPI IDirect3DCubeTexture9Impl_GetAutoGenFilterType(LPDIRECT3DCUBETEXTURE9 iface); -extern void WINAPI IDirect3DCubeTexture9Impl_GenerateMipSubLevels(LPDIRECT3DCUBETEXTURE9 iface); - -/* IDirect3DCubeTexture9 */ -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_GetLevelDesc(LPDIRECT3DCUBETEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_GetCubeMapSurface(LPDIRECT3DCUBETEXTURE9 iface, D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_LockRect(LPDIRECT3DCUBETEXTURE9 iface, D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_UnlockRect(LPDIRECT3DCUBETEXTURE9 iface, D3DCUBEMAP_FACES FaceType, UINT Level); -extern HRESULT WINAPI IDirect3DCubeTexture9Impl_AddDirtyRect(LPDIRECT3DCUBETEXTURE9 iface, D3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect); + +} IDirect3DCubeTexture9Impl; /* ----------------- */ @@ -771,7 +461,7 @@ extern const IDirect3DTexture9Vtbl Direct3DTexture9_Vtbl; /***************************************************************************** * IDirect3DTexture9 implementation structure */ -struct IDirect3DTexture9Impl +typedef struct IDirect3DTexture9Impl { /* IUnknown fields */ const IDirect3DTexture9Vtbl *lpVtbl; @@ -780,38 +470,7 @@ struct IDirect3DTexture9Impl /* IDirect3DResource9 fields */ IWineD3DTexture *wineD3DTexture; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DTexture9Impl_QueryInterface(LPDIRECT3DTEXTURE9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3DTexture9Impl_AddRef(LPDIRECT3DTEXTURE9 iface); -extern ULONG WINAPI IDirect3DTexture9Impl_Release(LPDIRECT3DTEXTURE9 iface); - -/* IDirect3DTexture9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DTexture9Impl_GetDevice(LPDIRECT3DTEXTURE9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DTexture9Impl_SetPrivateData(LPDIRECT3DTEXTURE9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DTexture9Impl_GetPrivateData(LPDIRECT3DTEXTURE9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DTexture9Impl_FreePrivateData(LPDIRECT3DTEXTURE9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DTexture9Impl_SetPriority(LPDIRECT3DTEXTURE9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DTexture9Impl_GetPriority(LPDIRECT3DTEXTURE9 iface); -extern void WINAPI IDirect3DTexture9Impl_PreLoad(LPDIRECT3DTEXTURE9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DTexture9Impl_GetType(LPDIRECT3DTEXTURE9 iface); - -/* IDirect3DTexture9: (Inherited from IDirect3DBaseTexture9) */ -extern DWORD WINAPI IDirect3DTexture9Impl_SetLOD(LPDIRECT3DTEXTURE9 iface, DWORD LODNew); -extern DWORD WINAPI IDirect3DTexture9Impl_GetLOD(LPDIRECT3DTEXTURE9 iface); -extern DWORD WINAPI IDirect3DTexture9Impl_GetLevelCount(LPDIRECT3DTEXTURE9 iface); -extern HRESULT WINAPI IDirect3DTexture9Impl_SetAutoGenFilterType(LPDIRECT3DTEXTURE9 iface, D3DTEXTUREFILTERTYPE FilterType); -extern D3DTEXTUREFILTERTYPE WINAPI IDirect3DTexture9Impl_GetAutoGenFilterType(LPDIRECT3DTEXTURE9 iface); -extern void WINAPI IDirect3DTexture9Impl_GenerateMipSubLevels(LPDIRECT3DTEXTURE9 iface); - -/* IDirect3DTexture9: */ -extern HRESULT WINAPI IDirect3DTexture9Impl_GetLevelDesc(LPDIRECT3DTEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc); -extern HRESULT WINAPI IDirect3DTexture9Impl_GetSurfaceLevel(LPDIRECT3DTEXTURE9 iface, UINT Level, IDirect3DSurface9** ppSurfaceLevel); -extern HRESULT WINAPI IDirect3DTexture9Impl_LockRect(LPDIRECT3DTEXTURE9 iface, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags); -extern HRESULT WINAPI IDirect3DTexture9Impl_UnlockRect(LPDIRECT3DTEXTURE9 iface, UINT Level); -extern HRESULT WINAPI IDirect3DTexture9Impl_AddDirtyRect(LPDIRECT3DTEXTURE9 iface, CONST RECT* pDirtyRect); - +} IDirect3DTexture9Impl; /* ----------------------- */ /* IDirect3DVolumeTexture9 */ @@ -825,7 +484,7 @@ extern const IDirect3DVolumeTexture9Vtbl Direct3DVolumeTexture9_Vtbl; /***************************************************************************** * IDirect3DVolumeTexture9 implementation structure */ -struct IDirect3DVolumeTexture9Impl +typedef struct IDirect3DVolumeTexture9Impl { /* IUnknown fields */ const IDirect3DVolumeTexture9Vtbl *lpVtbl; @@ -833,38 +492,8 @@ struct IDirect3DVolumeTexture9Impl /* IDirect3DResource9 fields */ IWineD3DVolumeTexture *wineD3DVolumeTexture; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_QueryInterface(LPDIRECT3DVOLUMETEXTURE9 iface,REFIID refiid,LPVOID *obj); -extern ULONG WINAPI IDirect3DVolumeTexture9Impl_AddRef(LPDIRECT3DVOLUMETEXTURE9 iface); -extern ULONG WINAPI IDirect3DVolumeTexture9Impl_Release(LPDIRECT3DVOLUMETEXTURE9 iface); - -/* IDirect3DVolumeTexture9: (Inherited from IDirect3DResource9) */ -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetDevice(LPDIRECT3DVOLUMETEXTURE9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_SetPrivateData(LPDIRECT3DVOLUMETEXTURE9 iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetPrivateData(LPDIRECT3DVOLUMETEXTURE9 iface, REFGUID refguid, void* pData, DWORD* pSizeOfData); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_FreePrivateData(LPDIRECT3DVOLUMETEXTURE9 iface, REFGUID refguid); -extern DWORD WINAPI IDirect3DVolumeTexture9Impl_SetPriority(LPDIRECT3DVOLUMETEXTURE9 iface, DWORD PriorityNew); -extern DWORD WINAPI IDirect3DVolumeTexture9Impl_GetPriority(LPDIRECT3DVOLUMETEXTURE9 iface); -extern void WINAPI IDirect3DVolumeTexture9Impl_PreLoad(LPDIRECT3DVOLUMETEXTURE9 iface); -extern D3DRESOURCETYPE WINAPI IDirect3DVolumeTexture9Impl_GetType(LPDIRECT3DVOLUMETEXTURE9 iface); - -/* IDirect3DVolumeTexture9: (Inherited from IDirect3DBaseTexture9) */ -extern DWORD WINAPI IDirect3DVolumeTexture9Impl_SetLOD(LPDIRECT3DVOLUMETEXTURE9 iface, DWORD LODNew); -extern DWORD WINAPI IDirect3DVolumeTexture9Impl_GetLOD(LPDIRECT3DVOLUMETEXTURE9 iface); -extern DWORD WINAPI IDirect3DVolumeTexture9Impl_GetLevelCount(LPDIRECT3DVOLUMETEXTURE9 iface); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_SetAutoGenFilterType(LPDIRECT3DVOLUMETEXTURE9 iface, D3DTEXTUREFILTERTYPE FilterType); -extern D3DTEXTUREFILTERTYPE WINAPI IDirect3DVolumeTexture9Impl_GetAutoGenFilterType(LPDIRECT3DVOLUMETEXTURE9 iface); -extern void WINAPI IDirect3DVolumeTexture9Impl_GenerateMipSubLevels(LPDIRECT3DVOLUMETEXTURE9 iface); - -/* IDirect3DVolumeTexture9: */ -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetLevelDesc(LPDIRECT3DVOLUMETEXTURE9 iface, UINT Level, D3DVOLUME_DESC *pDesc); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetVolumeLevel(LPDIRECT3DVOLUMETEXTURE9 iface, UINT Level, IDirect3DVolume9** ppVolumeLevel); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_LockBox(LPDIRECT3DVOLUMETEXTURE9 iface, UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_UnlockBox(LPDIRECT3DVOLUMETEXTURE9 iface, UINT Level); -extern HRESULT WINAPI IDirect3DVolumeTexture9Impl_AddDirtyBox(LPDIRECT3DVOLUMETEXTURE9 iface, CONST D3DBOX* pDirtyBox); - + +} IDirect3DVolumeTexture9Impl; /* ----------------------- */ /* IDirect3DStateBlock9 */ @@ -885,6 +514,7 @@ typedef struct IDirect3DStateBlock9Impl { /* IDirect3DStateBlock9 fields */ IWineD3DStateBlock *wineD3DStateBlock; + } IDirect3DStateBlock9Impl; @@ -900,24 +530,15 @@ extern const IDirect3DVertexDeclaration9Vtbl Direct3DVertexDeclaration9_Vtbl; /***************************************************************************** * IDirect3DVertexDeclaration implementation structure */ -struct IDirect3DVertexDeclaration9Impl { +typedef struct IDirect3DVertexDeclaration9Impl { /* IUnknown fields */ const IDirect3DVertexDeclaration9Vtbl *lpVtbl; LONG ref; /* IDirect3DVertexDeclaration9 fields */ IWineD3DVertexDeclaration *wineD3DVertexDeclaration; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DVertexDeclaration9Impl_QueryInterface(LPDIRECT3DVERTEXDECLARATION9 iface, REFIID refiid, LPVOID* obj); -extern ULONG WINAPI IDirect3DVertexDeclaration9Impl_AddRef(LPDIRECT3DVERTEXDECLARATION9 iface); -extern ULONG WINAPI IDirect3DVertexDeclaration9Impl_Release(LPDIRECT3DVERTEXDECLARATION9 iface); - -/* IDirect3DVertexDeclaration9: */ -extern HRESULT WINAPI IDirect3DVertexDeclaration9Impl_GetDevice(LPDIRECT3DVERTEXDECLARATION9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DVertexDeclaration9Impl_GetDeclaration(LPDIRECT3DVERTEXDECLARATION9 iface, D3DVERTEXELEMENT9* pDecl, UINT* pNumElements); - + +} IDirect3DVertexDeclaration9Impl; /* ---------------------- */ /* IDirect3DVertexShader9 */ @@ -938,18 +559,9 @@ typedef struct IDirect3DVertexShader9Impl { /* IDirect3DVertexShader9 fields */ IWineD3DVertexShader *wineD3DVertexShader; + } IDirect3DVertexShader9Impl; -/* IUnknown: */ -extern HRESULT WINAPI IDirect3DVertexShader9Impl_QueryInterface(LPDIRECT3DVERTEXSHADER9 iface, REFIID refiid, LPVOID* obj); -extern ULONG WINAPI IDirect3DVertexShader9Impl_AddRef(LPDIRECT3DVERTEXSHADER9 iface); -extern ULONG WINAPI IDirect3DVertexShader9Impl_Release(LPDIRECT3DVERTEXSHADER9 iface); - -/* IDirect3DVertexShader9: */ -extern HRESULT WINAPI IDirect3DVertexShader9Impl_GetDevice(LPDIRECT3DVERTEXSHADER9 iface, IDirect3DDevice9** ppDevice); -extern HRESULT WINAPI IDirect3DVertexShader9Impl_GetFunction(LPDIRECT3DVERTEXSHADER9 iface, VOID* pData, UINT* pSizeOfData); - - /* --------------------- */ /* IDirect3DPixelShader9 */ /* --------------------- */ @@ -991,6 +603,7 @@ typedef struct IDirect3DQuery9Impl { /* IDirect3DQuery9 fields */ IWineD3DQuery *wineD3DQuery; + } IDirect3DQuery9Impl; diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index e1f3f6785d3..a381c9725b5 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -32,7 +32,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_QueryInterface(LPDIRECT3DDEVICE9 iface, REFI if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirect3DDevice9)) { - IDirect3DDevice9Impl_AddRef(iface); + IUnknown_AddRef(iface); *ppobj = This; return D3D_OK; } @@ -168,7 +168,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_Reset(LPDIRECT3DDEVICE9 iface, D3DPRESENT_ localParameters.BackBufferWidth = &pPresentationParameters->BackBufferWidth; localParameters.BackBufferHeight = &pPresentationParameters->BackBufferHeight; - localParameters.BackBufferFormat = &pPresentationParameters->BackBufferFormat; + localParameters.BackBufferFormat = (WINED3DFORMAT *)&pPresentationParameters->BackBufferFormat; localParameters.BackBufferCount = &pPresentationParameters->BackBufferCount; localParameters.MultiSampleType = &pPresentationParameters->MultiSampleType; localParameters.MultiSampleQuality = &pPresentationParameters->MultiSampleQuality; @@ -176,7 +176,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_Reset(LPDIRECT3DDEVICE9 iface, D3DPRESENT_ localParameters.hDeviceWindow = &pPresentationParameters->hDeviceWindow; localParameters.Windowed = &pPresentationParameters->Windowed; localParameters.EnableAutoDepthStencil = &pPresentationParameters->EnableAutoDepthStencil; - localParameters.AutoDepthStencilFormat = &pPresentationParameters->AutoDepthStencilFormat; + localParameters.AutoDepthStencilFormat = (WINED3DFORMAT *)&pPresentationParameters->AutoDepthStencilFormat; localParameters.Flags = &pPresentationParameters->Flags; localParameters.FullScreen_RefreshRateInHz = &pPresentationParameters->FullScreen_RefreshRateInHz; localParameters.PresentationInterval = &pPresentationParameters->PresentationInterval; @@ -813,9 +813,11 @@ HRESULT WINAPI IDirect3DDevice9Impl_DeletePatch(LPDIRECT3DDEVICE9 iface, UINT const IDirect3DDevice9Vtbl Direct3DDevice9_Vtbl = { + /* IUnknown */ IDirect3DDevice9Impl_QueryInterface, IDirect3DDevice9Impl_AddRef, IDirect3DDevice9Impl_Release, + /* IDirect3DDevice9 */ IDirect3DDevice9Impl_TestCooperativeLevel, IDirect3DDevice9Impl_GetAvailableTextureMem, IDirect3DDevice9Impl_EvictManagedResources, diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c index 4c7aa853769..aede43dc9db 100644 --- a/dlls/d3d9/directx.c +++ b/dlls/d3d9/directx.c @@ -22,7 +22,7 @@ #include "config.h" #include "d3d9_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(d3d); +WINE_DEFAULT_DEBUG_CHANNEL(d3d9); /* IDirect3D9 IUnknown parts follow: */ HRESULT WINAPI IDirect3D9Impl_QueryInterface(LPDIRECT3D9 iface, REFIID riid, LPVOID* ppobj) @@ -31,7 +31,7 @@ HRESULT WINAPI IDirect3D9Impl_QueryInterface(LPDIRECT3D9 iface, REFIID riid, LPV if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirect3D9)) { - IDirect3D9Impl_AddRef(iface); + IUnknown_AddRef(iface); *ppobj = This; return D3D_OK; } @@ -294,7 +294,7 @@ HRESULT WINAPI IDirect3D9Impl_CreateDevice(LPDIRECT3D9 iface, UINT Adapter, D3 /* Allocate an associated WineD3DDevice object */ localParameters.BackBufferWidth = &pPresentationParameters->BackBufferWidth; localParameters.BackBufferHeight = &pPresentationParameters->BackBufferHeight; - localParameters.BackBufferFormat = &pPresentationParameters->BackBufferFormat; + localParameters.BackBufferFormat = (WINED3DFORMAT *)&pPresentationParameters->BackBufferFormat; localParameters.BackBufferCount = &pPresentationParameters->BackBufferCount; localParameters.MultiSampleType = &pPresentationParameters->MultiSampleType; localParameters.MultiSampleQuality = &pPresentationParameters->MultiSampleQuality; @@ -302,7 +302,7 @@ HRESULT WINAPI IDirect3D9Impl_CreateDevice(LPDIRECT3D9 iface, UINT Adapter, D3 localParameters.hDeviceWindow = &pPresentationParameters->hDeviceWindow; localParameters.Windowed = &pPresentationParameters->Windowed; localParameters.EnableAutoDepthStencil = &pPresentationParameters->EnableAutoDepthStencil; - localParameters.AutoDepthStencilFormat = &pPresentationParameters->AutoDepthStencilFormat; + localParameters.AutoDepthStencilFormat = (WINED3DFORMAT *)&pPresentationParameters->AutoDepthStencilFormat; localParameters.Flags = &pPresentationParameters->Flags; localParameters.FullScreen_RefreshRateInHz = &pPresentationParameters->FullScreen_RefreshRateInHz; localParameters.PresentationInterval = &pPresentationParameters->PresentationInterval; @@ -323,9 +323,11 @@ HRESULT WINAPI IDirect3D9Impl_CreateDevice(LPDIRECT3D9 iface, UINT Adapter, D3 const IDirect3D9Vtbl Direct3D9_Vtbl = { + /* IUnknown */ IDirect3D9Impl_QueryInterface, IDirect3D9Impl_AddRef, IDirect3D9Impl_Release, + /* IDirect3D9 */ IDirect3D9Impl_RegisterSoftwareDevice, IDirect3D9Impl_GetAdapterCount, IDirect3D9Impl_GetAdapterIdentifier, diff --git a/dlls/d3d9/indexbuffer.c b/dlls/d3d9/indexbuffer.c index 7d018aa7843..9ab1ef5e53b 100644 --- a/dlls/d3d9/indexbuffer.c +++ b/dlls/d3d9/indexbuffer.c @@ -133,9 +133,11 @@ HRESULT WINAPI IDirect3DIndexBuffer9Impl_GetDesc(LPDIRECT3DINDEXBUFFER9 const IDirect3DIndexBuffer9Vtbl Direct3DIndexBuffer9_Vtbl = { + /* IUnknown */ IDirect3DIndexBuffer9Impl_QueryInterface, IDirect3DIndexBuffer9Impl_AddRef, IDirect3DIndexBuffer9Impl_Release, + /* IDirect3DResource9 */ IDirect3DIndexBuffer9Impl_GetDevice, IDirect3DIndexBuffer9Impl_SetPrivateData, IDirect3DIndexBuffer9Impl_GetPrivateData, @@ -144,6 +146,7 @@ const IDirect3DIndexBuffer9Vtbl Direct3DIndexBuffer9_Vtbl = IDirect3DIndexBuffer9Impl_GetPriority, IDirect3DIndexBuffer9Impl_PreLoad, IDirect3DIndexBuffer9Impl_GetType, + /* IDirect3DIndexBuffer9 */ IDirect3DIndexBuffer9Impl_Lock, IDirect3DIndexBuffer9Impl_Unlock, IDirect3DIndexBuffer9Impl_GetDesc diff --git a/dlls/d3d9/pixelshader.c b/dlls/d3d9/pixelshader.c index a511c3ca633..076ddd7c8d6 100644 --- a/dlls/d3d9/pixelshader.c +++ b/dlls/d3d9/pixelshader.c @@ -22,7 +22,7 @@ #include "config.h" #include "d3d9_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(d3d_shader); +WINE_DEFAULT_DEBUG_CHANNEL(d3d9); /* IDirect3DPixelShader9 IUnknown parts follow: */ HRESULT WINAPI IDirect3DPixelShader9Impl_QueryInterface(LPDIRECT3DPIXELSHADER9 iface, REFIID riid, LPVOID* ppobj) { @@ -84,9 +84,11 @@ HRESULT WINAPI IDirect3DPixelShader9Impl_GetFunction(LPDIRECT3DPIXELSHADER9 ifac const IDirect3DPixelShader9Vtbl Direct3DPixelShader9_Vtbl = { + /* IUnknown */ IDirect3DPixelShader9Impl_QueryInterface, IDirect3DPixelShader9Impl_AddRef, IDirect3DPixelShader9Impl_Release, + /* IDirect3DPixelShader9 */ IDirect3DPixelShader9Impl_GetDevice, IDirect3DPixelShader9Impl_GetFunction }; @@ -101,24 +103,24 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreatePixelShader(LPDIRECT3DDEVICE9 iface, C FIXME("(%p) Relay (disabled)\n", This); *ppShader = NULL; return D3D_OK; - if(ppShader == NULL){ + if (ppShader == NULL) { TRACE("(%p) Invalid call\n", This); return D3DERR_INVALIDCALL; } object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)); - if(NULL == object){ + if (NULL == object) { return E_OUTOFMEMORY; - }else{ + } else { object->ref = 1; object->lpVtbl = &Direct3DPixelShader9_Vtbl; hrc = IWineD3DDevice_CreatePixelShader(This->WineD3DDevice, pFunction, &object->wineD3DPixelShader , (IUnknown *)object); - if(hrc != D3D_OK){ + if (hrc != D3D_OK) { FIXME("(%p) call to IWineD3DDevice_CreatePixelShader failed\n", This); HeapFree(GetProcessHeap(), 0 , object); *ppShader = NULL; - }else{ + } else { *ppShader = (IDirect3DPixelShader9*) object; } @@ -142,15 +144,17 @@ HRESULT WINAPI IDirect3DDevice9Impl_GetPixelShader(LPDIRECT3DDEVICE9 iface, IDir HRESULT hrc = D3D_OK; TRACE("(%p) Relay\n", This); - if(ppShader == NULL){ + if (ppShader == NULL) { TRACE("(%p) Invalid call\n", This); return D3DERR_INVALIDCALL; } hrc = IWineD3DDevice_GetPixelShader(This->WineD3DDevice, &object); - if(hrc == D3D_OK && object != NULL){ + if (hrc == D3D_OK && object != NULL) { hrc = IWineD3DPixelShader_GetParent(object, (IUnknown **)ppShader); IWineD3DPixelShader_Release(object); + } else { + *ppShader = NULL; } TRACE("(%p) : returning %p\n", This, *ppShader); diff --git a/dlls/d3d9/stateblock.c b/dlls/d3d9/stateblock.c index 8f3cfc3179a..16af7f14d48 100644 --- a/dlls/d3d9/stateblock.c +++ b/dlls/d3d9/stateblock.c @@ -23,7 +23,7 @@ #include "config.h" #include "d3d9_private.h" -WINE_DEFAULT_DEBUG_CHANNEL(d3d); +WINE_DEFAULT_DEBUG_CHANNEL(d3d9); /* IDirect3DStateBlock9 IUnknown parts follow: */ HRESULT WINAPI IDirect3DStateBlock9Impl_QueryInterface(LPDIRECT3DSTATEBLOCK9 iface, REFIID riid, LPVOID* ppobj) { @@ -112,7 +112,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateStateBlock(LPDIRECT3DDEVICE9 iface, D3 object->lpVtbl = &Direct3DStateBlock9_Vtbl; object->ref = 1; - hrc=IWineD3DDevice_CreateStateBlock(This->WineD3DDevice, (WINED3DSTATEBLOCKTYPE)Type, &object->wineD3DStateBlock, (IUnknown*)object); + hrc = IWineD3DDevice_CreateStateBlock(This->WineD3DDevice, (WINED3DSTATEBLOCKTYPE)Type, &object->wineD3DStateBlock, (IUnknown*)object); if(hrc != D3D_OK){ FIXME("(%p) Call to IWineD3DDevice_CreateStateBlock failed.\n", This); HeapFree(GetProcessHeap(), 0, object); diff --git a/dlls/d3d9/surface.c b/dlls/d3d9/surface.c index b36f841d60b..6ea2d01a0d0 100644 --- a/dlls/d3d9/surface.c +++ b/dlls/d3d9/surface.c @@ -137,7 +137,7 @@ HRESULT WINAPI IDirect3DSurface9Impl_GetContainer(LPDIRECT3DSURFACE9 iface, REFI IUnknown_Release(myContainer); } else if(D3D_OK == IUnknown_QueryInterface(IWineContainer, &IID_IWineD3DSwapChain, (void **)&myContainer)){ - IWineD3DBaseTexture_GetParent((IWineD3DBaseTexture *)IWineContainer, &IUnknownParent); + IWineD3DSwapChain_GetParent((IWineD3DSwapChain *)IWineContainer, &IUnknownParent); IUnknown_Release(myContainer); }else{ FIXME("Container is of unknown interface\n"); @@ -206,9 +206,11 @@ HRESULT WINAPI IDirect3DSurface9Impl_ReleaseDC(LPDIRECT3DSURFACE9 iface, HDC hdc const IDirect3DSurface9Vtbl Direct3DSurface9_Vtbl = { + /* IUnknown */ IDirect3DSurface9Impl_QueryInterface, IDirect3DSurface9Impl_AddRef, IDirect3DSurface9Impl_Release, + /* IDirect3DResource9 */ IDirect3DSurface9Impl_GetDevice, IDirect3DSurface9Impl_SetPrivateData, IDirect3DSurface9Impl_GetPrivateData, @@ -217,6 +219,7 @@ const IDirect3DSurface9Vtbl Direct3DSurface9_Vtbl = IDirect3DSurface9Impl_GetPriority, IDirect3DSurface9Impl_PreLoad, IDirect3DSurface9Impl_GetType, + /* IDirect3DSurface9 */ IDirect3DSurface9Impl_GetContainer, IDirect3DSurface9Impl_GetDesc, IDirect3DSurface9Impl_LockRect, diff --git a/dlls/d3d9/swapchain.c b/dlls/d3d9/swapchain.c index dbe23d1b172..dc5c1de8854 100644 --- a/dlls/d3d9/swapchain.c +++ b/dlls/d3d9/swapchain.c @@ -57,6 +57,7 @@ ULONG WINAPI IDirect3DSwapChain9Impl_Release(LPDIRECT3DSWAPCHAIN9 iface) { TRACE("(%p) : ReleaseRef to %ld\n", This, ref); if (ref == 0) { + IWineD3DSwapChain_Release(This->wineD3DSwapChain); HeapFree(GetProcessHeap(), 0, This); } return ref; @@ -160,7 +161,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE /* Allocate an associated WineD3DDevice object */ localParameters.BackBufferWidth = &pPresentationParameters->BackBufferWidth; localParameters.BackBufferHeight = &pPresentationParameters->BackBufferHeight; - localParameters.BackBufferFormat = &pPresentationParameters->BackBufferFormat; + localParameters.BackBufferFormat = (WINED3DFORMAT *)&pPresentationParameters->BackBufferFormat; localParameters.BackBufferCount = &pPresentationParameters->BackBufferCount; localParameters.MultiSampleType = &pPresentationParameters->MultiSampleType; localParameters.MultiSampleQuality = &pPresentationParameters->MultiSampleQuality; @@ -168,7 +169,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE localParameters.hDeviceWindow = &pPresentationParameters->hDeviceWindow; localParameters.Windowed = &pPresentationParameters->Windowed; localParameters.EnableAutoDepthStencil = &pPresentationParameters->EnableAutoDepthStencil; - localParameters.AutoDepthStencilFormat = &pPresentationParameters->AutoDepthStencilFormat; + localParameters.AutoDepthStencilFormat = (WINED3DFORMAT *)&pPresentationParameters->AutoDepthStencilFormat; localParameters.Flags = &pPresentationParameters->Flags; localParameters.FullScreen_RefreshRateInHz = &pPresentationParameters->FullScreen_RefreshRateInHz; localParameters.PresentationInterval = &pPresentationParameters->PresentationInterval; @@ -183,7 +184,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateAdditionalSwapChain(LPDIRECT3DDEVICE *pSwapChain = (IDirect3DSwapChain9 *)object; } TRACE("(%p) returning %p\n", This, *pSwapChain); - return D3D_OK; + return hrc; } HRESULT WINAPI IDirect3DDevice9Impl_GetSwapChain(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) { diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c index 3e67402557c..7a02429c25e 100644 --- a/dlls/d3d9/texture.c +++ b/dlls/d3d9/texture.c @@ -206,9 +206,11 @@ HRESULT WINAPI IDirect3DTexture9Impl_AddDirtyRect(LPDIRECT3DTEXTURE9 iface, CONS const IDirect3DTexture9Vtbl Direct3DTexture9_Vtbl = { + /* IUnknown */ IDirect3DTexture9Impl_QueryInterface, IDirect3DTexture9Impl_AddRef, IDirect3DTexture9Impl_Release, + /* IDirect3DResource9 */ IDirect3DTexture9Impl_GetDevice, IDirect3DTexture9Impl_SetPrivateData, IDirect3DTexture9Impl_GetPrivateData, @@ -217,13 +219,14 @@ const IDirect3DTexture9Vtbl Direct3DTexture9_Vtbl = IDirect3DTexture9Impl_GetPriority, IDirect3DTexture9Impl_PreLoad, IDirect3DTexture9Impl_GetType, - + /* IDirect3dBaseTexture9 */ IDirect3DTexture9Impl_SetLOD, IDirect3DTexture9Impl_GetLOD, IDirect3DTexture9Impl_GetLevelCount, IDirect3DTexture9Impl_SetAutoGenFilterType, IDirect3DTexture9Impl_GetAutoGenFilterType, IDirect3DTexture9Impl_GenerateMipSubLevels, + /* IDirect3DTexture9 */ IDirect3DTexture9Impl_GetLevelDesc, IDirect3DTexture9Impl_GetSurfaceLevel, IDirect3DTexture9Impl_LockRect, diff --git a/dlls/d3d9/vertexbuffer.c b/dlls/d3d9/vertexbuffer.c index 9c6338ba779..8ce796de68e 100644 --- a/dlls/d3d9/vertexbuffer.c +++ b/dlls/d3d9/vertexbuffer.c @@ -134,9 +134,11 @@ HRESULT WINAPI IDirect3DVertexBuffer9Impl_GetDesc(LPDIRECT3DVERTEXBUFFER9 iface, const IDirect3DVertexBuffer9Vtbl Direct3DVertexBuffer9_Vtbl = { + /* IUnknown */ IDirect3DVertexBuffer9Impl_QueryInterface, IDirect3DVertexBuffer9Impl_AddRef, IDirect3DVertexBuffer9Impl_Release, + /* IDirect3DResource9 */ IDirect3DVertexBuffer9Impl_GetDevice, IDirect3DVertexBuffer9Impl_SetPrivateData, IDirect3DVertexBuffer9Impl_GetPrivateData, @@ -145,6 +147,7 @@ const IDirect3DVertexBuffer9Vtbl Direct3DVertexBuffer9_Vtbl = IDirect3DVertexBuffer9Impl_GetPriority, IDirect3DVertexBuffer9Impl_PreLoad, IDirect3DVertexBuffer9Impl_GetType, + /* IDirect3DVertexBuffer9 */ IDirect3DVertexBuffer9Impl_Lock, IDirect3DVertexBuffer9Impl_Unlock, IDirect3DVertexBuffer9Impl_GetDesc diff --git a/dlls/d3d9/vertexshader.c b/dlls/d3d9/vertexshader.c index 72b76ed934d..767ba9e2a09 100644 --- a/dlls/d3d9/vertexshader.c +++ b/dlls/d3d9/vertexshader.c @@ -91,8 +91,8 @@ const IDirect3DVertexShader9Vtbl Direct3DVertexShader9_Vtbl = /* IUnknown */ IDirect3DVertexShader9Impl_QueryInterface, IDirect3DVertexShader9Impl_AddRef, - IDirect3DVertexShader9Impl_Release - /* IDirect3DVertexShader9 */, + IDirect3DVertexShader9Impl_Release, + /* IDirect3DVertexShader9 */ IDirect3DVertexShader9Impl_GetDevice, IDirect3DVertexShader9Impl_GetFunction }; diff --git a/dlls/d3d9/volume.c b/dlls/d3d9/volume.c index 6d1b7c56386..d16b2ee4275 100644 --- a/dlls/d3d9/volume.c +++ b/dlls/d3d9/volume.c @@ -115,7 +115,7 @@ HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(LPDIRECT3DVOLUME9 iface, D3DVOLUME_D TRACE("(%p) Relay\n", This); /* As d3d8 and d3d9 structures differ, pass in ptrs to where data needs to go */ - wined3ddesc.Format = (WINED3DFORMAT*) &pDesc->Format; + wined3ddesc.Format = (WINED3DFORMAT *)&pDesc->Format; wined3ddesc.Type = &pDesc->Type; wined3ddesc.Usage = &pDesc->Usage; wined3ddesc.Pool = &pDesc->Pool; @@ -141,9 +141,11 @@ HRESULT WINAPI IDirect3DVolume9Impl_UnlockBox(LPDIRECT3DVOLUME9 iface) { const IDirect3DVolume9Vtbl Direct3DVolume9_Vtbl = { + /* IUnknown */ IDirect3DVolume9Impl_QueryInterface, IDirect3DVolume9Impl_AddRef, IDirect3DVolume9Impl_Release, + /* IDirect3DVolume9 */ IDirect3DVolume9Impl_GetDevice, IDirect3DVolume9Impl_SetPrivateData, IDirect3DVolume9Impl_GetPrivateData, diff --git a/dlls/d3d9/volumetexture.c b/dlls/d3d9/volumetexture.c index a8195c3b5e3..934e87bf17b 100644 --- a/dlls/d3d9/volumetexture.c +++ b/dlls/d3d9/volumetexture.c @@ -158,7 +158,7 @@ HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetLevelDesc(LPDIRECT3DVOLUMETEXTURE9 TRACE("(%p) Relay\n", This); /* As d3d8 and d3d9 structures differ, pass in ptrs to where data needs to go */ - wined3ddesc.Format = (WINED3DFORMAT*) &pDesc->Format; + wined3ddesc.Format = (WINED3DFORMAT *)&pDesc->Format; wined3ddesc.Type = &pDesc->Type; wined3ddesc.Usage = &pDesc->Usage; wined3ddesc.Pool = &pDesc->Pool; @@ -206,9 +206,11 @@ HRESULT WINAPI IDirect3DVolumeTexture9Impl_AddDirtyBox(LPDIRECT3DVOLUMETEXTURE9 const IDirect3DVolumeTexture9Vtbl Direct3DVolumeTexture9_Vtbl = { + /* IUnknown */ IDirect3DVolumeTexture9Impl_QueryInterface, IDirect3DVolumeTexture9Impl_AddRef, IDirect3DVolumeTexture9Impl_Release, + /* IDirect3DResource9 */ IDirect3DVolumeTexture9Impl_GetDevice, IDirect3DVolumeTexture9Impl_SetPrivateData, IDirect3DVolumeTexture9Impl_GetPrivateData, @@ -217,12 +219,14 @@ const IDirect3DVolumeTexture9Vtbl Direct3DVolumeTexture9_Vtbl = IDirect3DVolumeTexture9Impl_GetPriority, IDirect3DVolumeTexture9Impl_PreLoad, IDirect3DVolumeTexture9Impl_GetType, + /* IDirect3DBaseTexture9 */ IDirect3DVolumeTexture9Impl_SetLOD, IDirect3DVolumeTexture9Impl_GetLOD, IDirect3DVolumeTexture9Impl_GetLevelCount, IDirect3DVolumeTexture9Impl_SetAutoGenFilterType, IDirect3DVolumeTexture9Impl_GetAutoGenFilterType, IDirect3DVolumeTexture9Impl_GenerateMipSubLevels, + /* IDirect3DVolumeTexture9 */ IDirect3DVolumeTexture9Impl_GetLevelDesc, IDirect3DVolumeTexture9Impl_GetVolumeLevel, IDirect3DVolumeTexture9Impl_LockBox, diff --git a/include/wine/wined3d_types.h b/include/wine/wined3d_types.h index 947837afb56..f6af866f1cf 100644 --- a/include/wine/wined3d_types.h +++ b/include/wine/wined3d_types.h @@ -401,7 +401,7 @@ typedef struct _WINED3DADAPTER_IDENTIFIER { typedef struct _WINED3DPRESENT_PARAMETERS { UINT *BackBufferWidth; UINT *BackBufferHeight; - D3DFORMAT *BackBufferFormat; + WINED3DFORMAT *BackBufferFormat; UINT *BackBufferCount; D3DMULTISAMPLE_TYPE *MultiSampleType; DWORD *MultiSampleQuality; @@ -409,7 +409,7 @@ typedef struct _WINED3DPRESENT_PARAMETERS { HWND *hDeviceWindow; BOOL *Windowed; BOOL *EnableAutoDepthStencil; - D3DFORMAT *AutoDepthStencilFormat; + WINED3DFORMAT *AutoDepthStencilFormat; DWORD *Flags; UINT *FullScreen_RefreshRateInHz; UINT *PresentationInterval;