cba6806c373c29c8dc066b563679186d859ad0fbvboxsync * VBox D3D8 dll switcher
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync * Copyright (C) 2009-2012 Oracle Corporation
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * available from http://www.virtualbox.org. This file is free software;
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * you can redistribute it and/or modify it under the terms of the GNU
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * General Public License (GPL) as published by the Free Software
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7be8d76da2c10d927dc85d0076a40cda027f15e6vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef IDirect3D9* (WINAPI *Direct3DCreate9Proc)(UINT SDKVersion);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef HRESULT (WINAPI *Direct3DCreate9ExProc)(UINT SDKVersion, IDirect3D9Ex **direct3d9ex);
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsync/* @todo: this does not return a value according to MSDN */
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef void* (WINAPI *Direct3DShaderValidatorCreate9Proc)(void);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef int (WINAPI *D3DPERF_BeginEventProc)(D3DCOLOR color, LPCWSTR name);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef DWORD (WINAPI *D3DPERF_GetStatusProc)(void);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef void (WINAPI *D3DPERF_SetOptionsProc)(DWORD options);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef BOOL (WINAPI *D3DPERF_QueryRepeatFrameProc)(void);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef void (WINAPI *D3DPERF_SetMarkerProc)(D3DCOLOR color, LPCWSTR name);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsynctypedef void (WINAPI *D3DPERF_SetRegionProc)(D3DCOLOR color, LPCWSTR name);
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic IDirect3D9* WINAPI vboxDirect3DCreate9Stub(UINT SDKVersion)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic HRESULT WINAPI vboxDirect3DCreate9ExStub(UINT SDKVersion, IDirect3D9Ex **direct3d9ex)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic void* WINAPI vboxDirect3DShaderValidatorCreate9Stub(void)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic int WINAPI vboxD3DPERF_BeginEventStub(D3DCOLOR color, LPCWSTR name)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic void WINAPI vboxD3DPERF_SetOptionsStub(DWORD options)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic BOOL WINAPI vboxD3DPERF_QueryRepeatFrameStub(void)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic void WINAPI vboxD3DPERF_SetMarkerStub(D3DCOLOR color, LPCWSTR name)
0f4c42cc432d01dc2d69b4cbd2a44624e3ce6ce6vboxsyncstatic void WINAPI vboxD3DPERF_SetRegionStub(D3DCOLOR color, LPCWSTR name)
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync Direct3DShaderValidatorCreate9Proc pDirect3DShaderValidatorCreate9;
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync D3DPERF_QueryRepeatFrameProc pD3DPERF_QueryRepeatFrame;
67927207a2d6bb545eb655ef14cdb090b1957120vboxsyncstatic D3D9Export g_swd3d9 = {0, "VBoxD3D9-x86.dll", "MSD3D9.dll",};
cba6806c373c29c8dc066b563679186d859ad0fbvboxsyncstatic D3D9Export g_swd3d9 = {0, "VBoxD3D9.dll", "MSD3D9.dll",};
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync SW_FILLPROC(g_swd3d9, hDLL, Direct3DShaderValidatorCreate9);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync SW_FILLPROC(g_swd3d9, hDLL, D3DPERF_QueryRepeatFrame);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsyncHRESULT WINAPI Direct3DCreate9Ex(UINT SDKVersion, IDirect3D9Ex **direct3d9ex)
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync return g_swd3d9.pDirect3DCreate9Ex(SDKVersion, direct3d9ex);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync SW_CHECKRET(g_swd3d9, Direct3DShaderValidatorCreate9, NULL);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsyncint WINAPI D3DPERF_BeginEvent(D3DCOLOR color, LPCWSTR name)
cba6806c373c29c8dc066b563679186d859ad0fbvboxsync SW_CHECKRET(g_swd3d9, D3DPERF_QueryRepeatFrame, FALSE);
cba6806c373c29c8dc066b563679186d859ad0fbvboxsyncvoid WINAPI D3DPERF_SetMarker(D3DCOLOR color, LPCWSTR name)