Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / dll / directx / d3d9 / d3d9_puredevice.h
diff --git a/dll/directx/d3d9/d3d9_puredevice.h b/dll/directx/d3d9/d3d9_puredevice.h
new file mode 100644 (file)
index 0000000..569c0d2
--- /dev/null
@@ -0,0 +1,418 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS ReactX
+ * FILE:            dll/directx/d3d9/d3d9_puredevice.h
+ * PURPOSE:         d3d9.dll internal device structures
+ * PROGRAMERS:      Gregor Gullwi <gbrunmar (dot) ros (at) gmail (dot) com>
+ */
+#ifndef _D3D9_PUREDEVICE_H_
+#define _D3D9_PUREDEVICE_H_
+
+#include "d3d9_device.h"
+
+typedef struct _D3D9PUREDEVICE
+{
+/* 0x0000 - 0x0000 */   DIRECT3DDEVICE9_INT BaseDevice;
+/* 0x1f48 */    DWORD unknown002002; 
+/* 0x1f4c */    DWORD unknown002003; 
+/* 0x1f50 */    DWORD unknown002004; 
+/* 0x1f54 */    DWORD unknown002005; 
+/* 0x1f58 */    DWORD unknown002006; 
+/* 0x1f5c */    DWORD unknown002007; 
+/* 0x1f60 */    DWORD unknown002008; 
+/* 0x1f64 */    DWORD unknown002009; 
+/* 0x1f68 */    DWORD unknown002010; 
+/* 0x1f6c */    DWORD unknown002011; 
+/* 0x1f70 */    DWORD unknown002012; 
+/* 0x1f74 */    DWORD unknown002013; 
+/* 0x1f78 */    DWORD unknown002014; 
+/* 0x1f7c */    DWORD unknown002015; 
+/* 0x1f80 */    DWORD unknown002016; 
+/* 0x1f84 */    DWORD unknown002017; 
+/* 0x1f88 */    DWORD unknown002018; 
+/* 0x1f8c */    DWORD unknown002019; 
+/* 0x1f90 */    DWORD unknown002020; 
+/* 0x1f94 */    DWORD unknown002021; 
+/* 0x1f98 */    DWORD unknown002022; 
+/* 0x1f9c */    DWORD unknown002023; 
+/* 0x1fa0 */    DWORD unknown002024; 
+/* 0x1fa4 */    DWORD unknown002025; 
+/* 0x1fa8 - 0x1fe0 */   DWORD unknown002026; 
+/* 0x1fac */    DWORD unknown002027; 
+/* 0x1fb0 */    LPDWORD unknown002028; 
+/* 0x1fb4 */    DWORD unknown002029; 
+/* 0x1fb8 */    DWORD unknown002030; 
+/* 0x1fbc */    DWORD unknown002031; 
+/* 0x1fc0 */    DWORD unknown002032; 
+/* 0x1fc4 */    DWORD unknown002033; 
+/* 0x1fc8 */    DWORD unknown002034; 
+/* 0x1fcc */    DWORD unknown002035; 
+/* 0x1fd0 */    DWORD unknown002036; 
+/* 0x1fd4 */    DWORD unknown002037; 
+/* 0x1fd8 */    DWORD unknown002038; 
+/* 0x1fdc */    DWORD unknown002039; 
+/* 0x1fe0 */    DWORD unknown002040; 
+/* 0x1fe4 */    DWORD unknown002041; 
+/* 0x1fe8 */    DWORD unknown002042; 
+/* 0x1fec */    DWORD unknown002043; 
+/* 0x1ff0 */    DWORD unknown002044; 
+/* 0x1ff4 */    DWORD unknown002045; 
+/* 0x1ff8 */    DWORD unknown002046; 
+/* 0x1ffc */    DWORD unknown002047; 
+/* 0x2000 */    DWORD unknown002048; 
+/* 0x2004 */    DWORD unknown002049; 
+/* 0x2008 */    DWORD unknown002050; 
+/* 0x200c */    DWORD unknown002051; 
+/* 0x2010 */    DWORD unknown002052; 
+/* 0x2014 */    DWORD unknown002053; 
+/* 0x2018 */    DWORD unknown002054; 
+/* 0x201c */    DWORD unknown002055; 
+/* 0x2020 */    DWORD unknown002056; 
+/* 0x2024 */    DWORD unknown002057; 
+/* 0x2028 */    DWORD unknown002058; 
+/* 0x202c */    DWORD unknown002059; 
+/* 0x2030 */    DWORD unknown002060; 
+/* 0x2034 */    DWORD unknown002061; 
+/* 0x2038 */    DWORD unknown002062; 
+/* 0x203c */    DWORD unknown002063; 
+/* 0x2040 */    DWORD unknown002064; 
+/* 0x2044 */    DWORD unknown002065; 
+/* 0x2048 */    DWORD unknown002066; 
+/* 0x204c */    DWORD unknown002067; 
+/* 0x2050 */    DWORD unknown002068; 
+/* 0x2054 */    DWORD unknown002069; 
+/* 0x2058 */    DWORD unknown002070; 
+/* 0x205c */    DWORD unknown002071; 
+/* 0x2060 */    DWORD unknown002072; 
+/* 0x2064 */    DWORD unknown002073; 
+/* 0x2068 */    DWORD unknown002074; 
+/* 0x206c */    DWORD unknown002075; 
+/* 0x2070 */    DWORD unknown002076; 
+/* 0x2074 */    DWORD unknown002077; 
+/* 0x2078 */    DWORD unknown002078; 
+/* 0x207c */    DWORD unknown002079; 
+/* 0x2080 */    DWORD unknown002080; 
+/* 0x2084 */    DWORD unknown002081; 
+/* 0x2088 */    DWORD unknown002082; 
+/* 0x208c */    DWORD unknown002083; // SurfaceManager?
+/* 0x2090 */    DWORD unknown002084; 
+/* 0x2094 */    DWORD unknown002085; 
+/* 0x2098 */    DWORD unknown002086; 
+/* 0x209c */    DWORD unknown002087; 
+/* 0x20a0 */    DWORD unknown002088; 
+/* 0x20a4 */    DWORD unknown002089; 
+/* 0x20a8 */    DWORD unknown002090; 
+/* 0x20ac */    DWORD unknown002091; 
+/* 0x20b0 */    DWORD unknown002092; 
+/* 0x20b4 */    DWORD unknown002093; 
+/* 0x20b8 */    DWORD unknown002094; 
+/* 0x20bc */    DWORD unknown002095; 
+/* 0x20c0 */    DWORD unknown002096; 
+/* 0x20c4 */    DWORD unknown002097; 
+/* 0x20c8 */    DWORD unknown002098; 
+/* 0x20cc */    DWORD unknown002099; 
+/* 0x20d0 */    DWORD unknown002100; // VSOutputDecl?
+/* 0x20d4 */    DWORD unknown002101; 
+/* 0x20d8 */    DWORD unknown002102; 
+/* 0x20dc */    DWORD unknown002103; 
+/* 0x20e0 */    DWORD unknown002104; 
+/* 0x20e4 */    DWORD unknown002105; 
+/* 0x20e8 */    DWORD unknown002106; 
+/* 0x20ec */    DWORD unknown002107; 
+/* 0x20f0 */    DWORD unknown002108; 
+/* 0x20f4 */    DWORD unknown002109; 
+/* 0x20f8 */    DWORD unknown002110; 
+/* 0x20fc */    DWORD unknown002111; 
+/* 0x2100 */    DWORD unknown002112;
+/* 0x2104 */    DWORD unknown002113;
+/* 0x2108 */    DWORD unknown002114;
+/* 0x210c */    DWORD unknown002115;
+/* 0x2110 */    DWORD unknown002116;
+/* 0x2114 */    DWORD unknown002117;
+/* 0x2118 */    DWORD unknown002118;
+/* 0x211c */    DWORD unknown002119;
+/* 0x2120 */    DWORD unknown002120;
+/* 0x2124 */    DWORD unknown002121;
+/* 0x2128 */    DWORD unknown002122;
+/* 0x212c */    DWORD unknown002123;
+/* 0x2130 */    DWORD unknown002124;
+/* 0x2134 */    DWORD unknown002125;
+/* 0x2138 */    DWORD unknown002126;
+/* 0x213c */    DWORD unknown002127;
+/* 0x2140 */    DWORD unknown002128;
+/* 0x2144 */    DWORD unknown002129;
+/* 0x2148 */    DWORD unknown002130;
+/* 0x214c */    DWORD unknown002131;
+/* 0x2150 */    DWORD unknown002132;
+/* 0x2154 */    DWORD unknown002133;
+/* 0x2158 */    DWORD unknown002134;
+/* 0x215c */    DWORD unknown002135;
+/* 0x2160 */    DWORD unknown002136;
+/* 0x2164 */    DWORD unknown002137;
+/* 0x2168 */    DWORD unknown002138;
+/* 0x216c */    DWORD unknown002139;
+/* 0x2170 */    DWORD unknown002140;
+/* 0x2174 */    DWORD unknown002141;
+/* 0x2178 */    DWORD unknown002142;
+/* 0x217c */    DWORD unknown002143;
+/* 0x2180 */    DWORD unknown002144;
+/* 0x2184 */    DWORD unknown002145;
+/* 0x2188 */    DWORD unknown002146;
+/* 0x218c */    DWORD unknown002147;
+/* 0x2190 */    DWORD unknown002148;
+/* 0x2194 */    DWORD unknown002149;
+/* 0x2198 */    DWORD unknown002150;
+/* 0x219c */    DWORD unknown002151;
+/* 0x21a0 */    DWORD unknown002152;
+/* 0x21a4 */    DWORD unknown002153;
+/* 0x21a8 */    DWORD unknown002154;
+/* 0x21ac */    DWORD unknown002155;
+/* 0x21b0 */    DWORD unknown002156;
+/* 0x21b4 */    DWORD unknown002157;
+/* 0x21b8 */    DWORD unknown002158;
+/* 0x21bc */    DWORD unknown002159;
+/* 0x21c0 */    DWORD unknown002160;
+/* 0x21c4 */    DWORD unknown002161;
+/* 0x21c8 */    DWORD unknown002162;
+/* 0x21cc */    DWORD unknown002163;
+/* 0x21d0 */    DWORD unknown002164;
+/* 0x21d4 */    DWORD unknown002165;
+/* 0x21d8 */    DWORD unknown002166;
+/* 0x21dc */    DWORD unknown002167;
+/* 0x21e0 */    DWORD unknown002168;
+/* 0x21e4 */    DWORD unknown002169;
+/* 0x21e8 */    DWORD unknown002170;
+/* 0x21ec */    DWORD unknown002171;
+/* 0x21f0 */    DWORD unknown002172;
+/* 0x21f4 */    DWORD unknown002173;
+/* 0x21f8 */    DWORD unknown002174;
+/* 0x21fc */    DWORD unknown002175;
+/* 0x2200 */    DWORD unknown002176;
+/* 0x2204 */    DWORD unknown002177;
+/* 0x2208 */    DWORD unknown002178;
+/* 0x220c */    DWORD unknown002179;
+/* 0x2210 */    DWORD unknown002180;
+/* 0x2214 */    DWORD unknown002181;
+/* 0x2218 */    DWORD unknown002182;
+/* 0x221c */    DWORD unknown002183;
+/* 0x2220 */    DWORD unknown002184;
+/* 0x2224 */    DWORD unknown002185;
+/* 0x2228 */    DWORD unknown002186;
+/* 0x222c */    DWORD unknown002187;
+/* 0x2230 */    DWORD unknown002188;
+/* 0x2234 */    DWORD unknown002189;
+/* 0x2238 */    DWORD unknown002190;
+/* 0x223c */    DWORD unknown002191;
+/* 0x2240 */    DWORD unknown002192;
+/* 0x2244 */    DWORD unknown002193;
+/* 0x2248 */    DWORD unknown002194;
+/* 0x224c */    DWORD unknown002195;
+/* 0x2250 */    DWORD unknown002196;
+/* 0x2254 */    DWORD unknown002197;
+/* 0x2258 */    DWORD unknown002198;
+/* 0x225c */    DWORD unknown002199;
+/* 0x2260 */    DWORD unknown002200;
+/* 0x2264 */    DWORD unknown002201;
+/* 0x2268 */    DWORD unknown002202;
+/* 0x226c */    DWORD unknown002203;
+/* 0x2270 */    DWORD unknown002204;
+/* 0x2274 */    DWORD unknown002205;
+/* 0x2278 */    DWORD unknown002206;
+/* 0x227c */    DWORD unknown002207;
+/* 0x2280 */    DWORD unknown002208;
+/* 0x2284 */    DWORD unknown002209;
+/* 0x2288 */    DWORD unknown002210;
+/* 0x228c */    DWORD unknown002211;
+/* 0x2290 */    DWORD unknown002212;
+/* 0x2294 */    DWORD unknown002213;
+/* 0x2298 */    DWORD unknown002214;
+/* 0x229c */    DWORD unknown002215;
+/* 0x22a0 */    DWORD unknown002216;
+/* 0x22a4 */    DWORD unknown002217;
+/* 0x22a8 */    DWORD unknown002218;
+/* 0x22ac */    DWORD unknown002219;
+/* 0x22b0 */    DWORD unknown002220;
+/* 0x22b4 */    DWORD unknown002221;
+/* 0x22b8 */    DWORD unknown002222;
+/* 0x22bc */    DWORD unknown002223;
+/* 0x22c0 */    DWORD unknown002224;
+/* 0x22c4 */    DWORD unknown002225;
+/* 0x22c8 */    DWORD unknown002226;
+/* 0x22cc */    DWORD unknown002227;
+/* 0x22d0 */    DWORD unknown002228;
+/* 0x22d4 */    DWORD unknown002229;
+/* 0x22d8 */    DWORD unknown002230;
+/* 0x22dc */    DWORD unknown002231;
+/* 0x22e0 */    DWORD unknown002232;
+/* 0x22e4 */    DWORD unknown002233;
+/* 0x22e8 */    DWORD unknown002234;
+/* 0x22ec */    DWORD unknown002235;
+/* 0x22f0 */    DWORD unknown002236;
+/* 0x22f4 */    DWORD unknown002237;
+/* 0x22f8 */    DWORD unknown002238;
+/* 0x22fc */    DWORD unknown002239;
+/* 0x2300 */    DWORD unknown002240;
+/* 0x2304 */    DWORD unknown002241;
+/* 0x2308 */    DWORD unknown002242;
+/* 0x230c */    DWORD unknown002243;
+/* 0x2310 */    DWORD unknown002244;
+/* 0x2314 */    DWORD unknown002245;
+/* 0x2318 */    DWORD unknown002246;
+/* 0x231c */    DWORD unknown002247;
+/* 0x2320 */    DWORD unknown002248;
+/* 0x2324 */    DWORD unknown002249;
+/* 0x2328 */    DWORD unknown002250;
+/* 0x232c */    DWORD unknown002251;
+/* 0x2330 */    DWORD unknown002252;
+/* 0x2334 */    DWORD unknown002253;
+/* 0x2338 */    DWORD unknown002254;
+/* 0x233c */    DWORD unknown002255;
+/* 0x2340 */    DWORD unknown002256;
+/* 0x2344 */    DWORD unknown002257;
+/* 0x2348 */    DWORD unknown002258;
+/* 0x234c */    DWORD unknown002259;
+/* 0x2350 */    DWORD unknown002260;
+/* 0x2354 */    DWORD unknown002261;
+/* 0x2358 */    DWORD unknown002262;
+/* 0x235c */    DWORD unknown002263;
+/* 0x2360 */    DWORD unknown002264;
+/* 0x2364 */    DWORD unknown002265;
+/* 0x2368 */    DWORD unknown002266;
+/* 0x236c */    DWORD unknown002267;
+/* 0x2370 */    DWORD unknown002268;
+/* 0x2374 */    DWORD unknown002269;
+/* 0x2378 */    DWORD unknown002270;
+/* 0x237c */    DWORD unknown002271;
+/* 0x2380 */    DWORD unknown002272;
+/* 0x2384 */    DWORD unknown002273;
+/* 0x2388 */    DWORD unknown002274;
+/* 0x238c */    DWORD unknown002275;
+/* 0x2390 */    DWORD unknown002276;
+/* 0x2394 */    DWORD unknown002277;
+/* 0x2398 */    DWORD unknown002278;
+/* 0x239c */    DWORD unknown002279;
+/* 0x23a0 */    DWORD unknown002280;
+/* 0x23a4 */    DWORD unknown002281;
+/* 0x23a8 */    DWORD unknown002282;
+/* 0x23ac */    DWORD unknown002283;
+/* 0x23b0 */    DWORD unknown002284;
+/* 0x23b4 */    DWORD unknown002285;
+/* 0x23b8 */    DWORD unknown002286;
+/* 0x23bc */    DWORD unknown002287;
+/* 0x23c0 */    DWORD unknown002288;
+/* 0x23c4 */    DWORD unknown002289;
+/* 0x23c8 */    DWORD unknown002290;
+/* 0x23cc */    DWORD unknown002291;
+/* 0x23d0 */    DWORD unknown002292;
+/* 0x23d4 */    DWORD unknown002293;
+/* 0x23d8 */    DWORD unknown002294;
+/* 0x23dc */    DWORD unknown002295;
+/* 0x23e0 */    DWORD unknown002296;
+/* 0x23e4 */    DWORD unknown002297;
+/* 0x23e8 */    DWORD unknown002298;
+/* 0x23ec */    DWORD unknown002299;
+/* 0x23f0 */    DWORD unknown002300;
+/* 0x23f4 */    DWORD unknown002301;
+/* 0x23f8 */    DWORD unknown002302;
+/* 0x23fc */    DWORD unknown002303;
+/* 0x2400 */    DWORD unknown002304;
+/* 0x2404 */    DWORD unknown002305;
+/* 0x2408 */    DWORD unknown002306;
+/* 0x240c */    DWORD unknown002307;
+/* 0x2410 */    DWORD unknown002308;
+/* 0x2414 */    DWORD unknown002309;
+/* 0x2418 */    DWORD unknown002310;
+/* 0x241c */    DWORD unknown002311;
+/* 0x2420 */    DWORD unknown002312;
+/* 0x2424 */    DWORD unknown002313;
+/* 0x2428 */    DWORD unknown002314;
+/* 0x242c */    DWORD unknown002315;
+/* 0x2430 */    DWORD unknown002316;
+/* 0x2434 */    DWORD unknown002317;
+} D3D9PUREDEVICE, FAR *LPD3D9PUREDEVICE;
+
+/* IDirect3D9Device public interface */
+HRESULT WINAPI IDirect3DDevice9Pure_SetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget);
+HRESULT WINAPI IDirect3DDevice9Pure_GetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex,IDirect3DSurface9** ppRenderTarget);
+HRESULT WINAPI IDirect3DDevice9Pure_SetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pNewZStencil);
+HRESULT WINAPI IDirect3DDevice9Pure_GetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9** ppZStencilSurface);
+HRESULT WINAPI IDirect3DDevice9Pure_BeginScene(LPDIRECT3DDEVICE9 iface);
+HRESULT WINAPI IDirect3DDevice9Pure_EndScene(LPDIRECT3DDEVICE9 iface);
+HRESULT WINAPI IDirect3DDevice9Pure_Clear(LPDIRECT3DDEVICE9 iface, DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil);
+HRESULT WINAPI IDirect3DDevice9Pure_SetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix);
+HRESULT WINAPI IDirect3DDevice9Pure_GetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix);
+HRESULT WINAPI IDirect3DDevice9Pure_MultiplyTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix);
+HRESULT WINAPI IDirect3DDevice9Pure_SetViewport(LPDIRECT3DDEVICE9 iface, CONST D3DVIEWPORT9* pViewport);
+HRESULT WINAPI IDirect3DDevice9Pure_GetViewport(LPDIRECT3DDEVICE9 iface, D3DVIEWPORT9* pViewport);
+HRESULT WINAPI IDirect3DDevice9Pure_SetMaterial(LPDIRECT3DDEVICE9 iface, CONST D3DMATERIAL9* pMaterial);
+HRESULT WINAPI IDirect3DDevice9Pure_GetMaterial(LPDIRECT3DDEVICE9 iface, D3DMATERIAL9* pMaterial);
+HRESULT WINAPI IDirect3DDevice9Pure_SetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST D3DLIGHT9* pLight);
+HRESULT WINAPI IDirect3DDevice9Pure_GetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, D3DLIGHT9* pLight);
+HRESULT WINAPI IDirect3DDevice9Pure_LightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL Enable);
+HRESULT WINAPI IDirect3DDevice9Pure_GetLightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL* pEnable);
+HRESULT WINAPI IDirect3DDevice9Pure_SetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST float* pPlane);
+HRESULT WINAPI IDirect3DDevice9Pure_GetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, float* pPlane);
+HRESULT WINAPI IDirect3DDevice9Pure_SetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD Value);
+HRESULT WINAPI IDirect3DDevice9Pure_GetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD* pValue);
+HRESULT WINAPI IDirect3DDevice9Pure_CreateStateBlock(LPDIRECT3DDEVICE9 iface, D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB);
+HRESULT WINAPI IDirect3DDevice9Pure_BeginStateBlock(LPDIRECT3DDEVICE9 iface);
+HRESULT WINAPI IDirect3DDevice9Pure_EndStateBlock(LPDIRECT3DDEVICE9 iface, IDirect3DStateBlock9** ppSB);
+HRESULT WINAPI IDirect3DDevice9Pure_SetClipStatus(LPDIRECT3DDEVICE9 iface, CONST D3DCLIPSTATUS9* pClipStatus);
+HRESULT WINAPI IDirect3DDevice9Pure_GetClipStatus(LPDIRECT3DDEVICE9 iface, D3DCLIPSTATUS9* pClipStatus);
+HRESULT WINAPI IDirect3DDevice9Pure_GetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9** ppTexture);
+HRESULT WINAPI IDirect3DDevice9Pure_SetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9* pTexture);
+HRESULT WINAPI IDirect3DDevice9Pure_GetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue);
+HRESULT WINAPI IDirect3DDevice9Pure_SetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value);
+HRESULT WINAPI IDirect3DDevice9Pure_GetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue);
+HRESULT WINAPI IDirect3DDevice9Pure_SetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value);
+HRESULT WINAPI IDirect3DDevice9Pure_ValidateDevice(LPDIRECT3DDEVICE9 iface, DWORD* pNumPasses);
+HRESULT WINAPI IDirect3DDevice9Pure_SetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, CONST PALETTEENTRY* pEntries);
+HRESULT WINAPI IDirect3DDevice9Pure_GetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, PALETTEENTRY* pEntries);
+HRESULT WINAPI IDirect3DDevice9Pure_SetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber);
+HRESULT WINAPI IDirect3DDevice9Pure_GetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT* pPaletteNumber);
+HRESULT WINAPI IDirect3DDevice9Pure_SetScissorRect(LPDIRECT3DDEVICE9 iface, CONST RECT* pRect);
+HRESULT WINAPI IDirect3DDevice9Pure_GetScissorRect(LPDIRECT3DDEVICE9 iface, RECT* pRect);
+HRESULT WINAPI IDirect3DDevice9Pure_SetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface, BOOL bSoftware);
+BOOL WINAPI IDirect3DDevice9Pure_GetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface);
+HRESULT WINAPI IDirect3DDevice9Pure_SetNPatchMode(LPDIRECT3DDEVICE9 iface, float nSegments);
+float WINAPI IDirect3DDevice9Pure_GetNPatchMode(LPDIRECT3DDEVICE9 iface);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawIndexedPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);
+HRESULT WINAPI IDirect3DDevice9Pure_ProcessVertices(LPDIRECT3DDEVICE9 iface, UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags);
+HRESULT WINAPI IDirect3DDevice9Pure_CreateVertexDeclaration(LPDIRECT3DDEVICE9 iface, CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl);
+HRESULT WINAPI IDirect3DDevice9Pure_SetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9* pDecl);
+HRESULT WINAPI IDirect3DDevice9Pure_GetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9** ppDecl);
+HRESULT WINAPI IDirect3DDevice9Pure_SetFVF(LPDIRECT3DDEVICE9 iface, DWORD FVF);
+HRESULT WINAPI IDirect3DDevice9Pure_GetFVF(LPDIRECT3DDEVICE9 iface, DWORD* pFVF);
+HRESULT WINAPI IDirect3DDevice9Pure_CreateVertexShader(LPDIRECT3DDEVICE9 iface, CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader);
+HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShader(LPDIRECT3DDEVICE9 iface, IDirect3DVertexShader9* pShader);
+HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShader(LPDIRECT3DDEVICE9 iface, IDirect3DVertexShader9** ppShader);
+HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, float* pConstantData, UINT Vector4fCount);
+HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, int* pConstantData, UINT Vector4iCount);
+HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount);
+HRESULT WINAPI IDirect3DDevice9Pure_SetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride);
+HRESULT WINAPI IDirect3DDevice9Pure_GetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* pOffsetInBytes, UINT* pStride);
+HRESULT WINAPI IDirect3DDevice9Pure_SetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber,UINT Setting);
+HRESULT WINAPI IDirect3DDevice9Pure_GetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, UINT* pSetting);
+HRESULT WINAPI IDirect3DDevice9Pure_SetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9* pIndexData);
+HRESULT WINAPI IDirect3DDevice9Pure_GetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9** ppIndexData);
+HRESULT WINAPI IDirect3DDevice9Pure_CreatePixelShader(LPDIRECT3DDEVICE9 iface, CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader);
+HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9* pShader);
+HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9** ppShader);
+HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, float* pConstantData, UINT Vector4fCount);
+HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, int* pConstantData, UINT Vector4iCount);
+HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount);
+HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawRectPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo);
+HRESULT WINAPI IDirect3DDevice9Pure_DrawTriPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo);
+HRESULT WINAPI IDirect3DDevice9Pure_DeletePatch(LPDIRECT3DDEVICE9 iface, UINT Handle);
+HRESULT WINAPI IDirect3DDevice9Pure_CreateQuery(LPDIRECT3DDEVICE9 iface, D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery);
+
+#endif // _D3D9_PUREDEVICE_H_