fea2d889288d424d030db945d21a36766c9a78a4
[reactos.git] / reactos / dll / directx / d3d9 / d3d9_puredevice.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS ReactX
4 * FILE: dll/directx/d3d9/d3d9_haldevice.h
5 * PURPOSE: d3d9.dll internal device structures
6 * PROGRAMERS: Gregor Gullwi <gbrunmar (dot) ros (at) gmail (dot) com>
7 */
8 #ifndef _D3D9_PUREDEVICE_H_
9 #define _D3D9_PUREDEVICE_H_
10
11 #include "d3d9_device.h"
12
13 typedef struct _D3D9PUREDEVICE
14 {
15 /* 0x0000 - 0x0000 */ DIRECT3DDEVICE9_INT BaseDevice;
16 /* 0x1f48 */ DWORD unknown002002;
17 /* 0x1f4c */ DWORD unknown002003;
18 /* 0x1f50 */ DWORD unknown002004;
19 /* 0x1f54 */ DWORD unknown002005;
20 /* 0x1f58 */ DWORD unknown002006;
21 /* 0x1f5c */ DWORD unknown002007;
22 /* 0x1f60 */ DWORD unknown002008;
23 /* 0x1f64 */ DWORD unknown002009;
24 /* 0x1f68 */ DWORD unknown002010;
25 /* 0x1f6c */ DWORD unknown002011;
26 /* 0x1f70 */ DWORD unknown002012;
27 /* 0x1f74 */ DWORD unknown002013;
28 /* 0x1f78 */ DWORD unknown002014;
29 /* 0x1f7c */ DWORD unknown002015;
30 /* 0x1f80 */ DWORD unknown002016;
31 /* 0x1f84 */ DWORD unknown002017;
32 /* 0x1f88 */ DWORD unknown002018;
33 /* 0x1f8c */ DWORD unknown002019;
34 /* 0x1f90 */ DWORD unknown002020;
35 /* 0x1f94 */ DWORD unknown002021;
36 /* 0x1f98 */ DWORD unknown002022;
37 /* 0x1f9c */ DWORD unknown002023;
38 /* 0x1fa0 */ DWORD unknown002024;
39 /* 0x1fa4 */ DWORD unknown002025;
40 /* 0x1fa8 - 0x1fe0 */ DWORD unknown002026;
41 /* 0x1fac */ DWORD unknown002027;
42 /* 0x1fb0 */ LPDWORD unknown002028;
43 /* 0x1fb4 */ DWORD unknown002029;
44 /* 0x1fb8 */ DWORD unknown002030;
45 /* 0x1fbc */ DWORD unknown002031;
46 /* 0x1fc0 */ DWORD unknown002032;
47 /* 0x1fc4 */ DWORD unknown002033;
48 /* 0x1fc8 */ DWORD unknown002034;
49 /* 0x1fcc */ DWORD unknown002035;
50 /* 0x1fd0 */ DWORD unknown002036;
51 /* 0x1fd4 */ DWORD unknown002037;
52 /* 0x1fd8 */ DWORD unknown002038;
53 /* 0x1fdc */ DWORD unknown002039;
54 /* 0x1fe0 */ DWORD unknown002040;
55 /* 0x1fe4 */ DWORD unknown002041;
56 /* 0x1fe8 */ DWORD unknown002042;
57 /* 0x1fec */ DWORD unknown002043;
58 /* 0x1ff0 */ DWORD unknown002044;
59 /* 0x1ff4 */ DWORD unknown002045;
60 /* 0x1ff8 */ DWORD unknown002046;
61 /* 0x1ffc */ DWORD unknown002047;
62 /* 0x2000 */ DWORD unknown002048;
63 /* 0x2004 */ DWORD unknown002049;
64 /* 0x2008 */ DWORD unknown002050;
65 /* 0x200c */ DWORD unknown002051;
66 /* 0x2010 */ DWORD unknown002052;
67 /* 0x2014 */ DWORD unknown002053;
68 /* 0x2018 */ DWORD unknown002054;
69 /* 0x201c */ DWORD unknown002055;
70 /* 0x2020 */ DWORD unknown002056;
71 /* 0x2024 */ DWORD unknown002057;
72 /* 0x2028 */ DWORD unknown002058;
73 /* 0x202c */ DWORD unknown002059;
74 /* 0x2030 */ DWORD unknown002060;
75 /* 0x2034 */ DWORD unknown002061;
76 /* 0x2038 */ DWORD unknown002062;
77 /* 0x203c */ DWORD unknown002063;
78 /* 0x2040 */ DWORD unknown002064;
79 /* 0x2044 */ DWORD unknown002065;
80 /* 0x2048 */ DWORD unknown002066;
81 /* 0x204c */ DWORD unknown002067;
82 /* 0x2050 */ DWORD unknown002068;
83 /* 0x2054 */ DWORD unknown002069;
84 /* 0x2058 */ DWORD unknown002070;
85 /* 0x205c */ DWORD unknown002071;
86 /* 0x2060 */ DWORD unknown002072;
87 /* 0x2064 */ DWORD unknown002073;
88 /* 0x2068 */ DWORD unknown002074;
89 /* 0x206c */ DWORD unknown002075;
90 /* 0x2070 */ DWORD unknown002076;
91 /* 0x2074 */ DWORD unknown002077;
92 /* 0x2078 */ DWORD unknown002078;
93 /* 0x207c */ DWORD unknown002079;
94 /* 0x2080 */ DWORD unknown002080;
95 /* 0x2084 */ DWORD unknown002081;
96 /* 0x2088 */ DWORD unknown002082;
97 /* 0x208c */ DWORD unknown002083; // SurfaceManager?
98 /* 0x2090 */ DWORD unknown002084;
99 /* 0x2094 */ DWORD unknown002085;
100 /* 0x2098 */ DWORD unknown002086;
101 /* 0x209c */ DWORD unknown002087;
102 /* 0x20a0 */ DWORD unknown002088;
103 /* 0x20a4 */ DWORD unknown002089;
104 /* 0x20a8 */ DWORD unknown002090;
105 /* 0x20ac */ DWORD unknown002091;
106 /* 0x20b0 */ DWORD unknown002092;
107 /* 0x20b4 */ DWORD unknown002093;
108 /* 0x20b8 */ DWORD unknown002094;
109 /* 0x20bc */ DWORD unknown002095;
110 /* 0x20c0 */ DWORD unknown002096;
111 /* 0x20c4 */ DWORD unknown002097;
112 /* 0x20c8 */ DWORD unknown002098;
113 /* 0x20cc */ DWORD unknown002099;
114 /* 0x20d0 */ DWORD unknown002100; // VSOutputDecl?
115 /* 0x20d4 */ DWORD unknown002101;
116 /* 0x20d8 */ DWORD unknown002102;
117 /* 0x20dc */ DWORD unknown002103;
118 /* 0x20e0 */ DWORD unknown002104;
119 /* 0x20e4 */ DWORD unknown002105;
120 /* 0x20e8 */ DWORD unknown002106;
121 /* 0x20ec */ DWORD unknown002107;
122 /* 0x20f0 */ DWORD unknown002108;
123 /* 0x20f4 */ DWORD unknown002109;
124 /* 0x20f8 */ DWORD unknown002110;
125 /* 0x20fc */ DWORD unknown002111;
126 /* 0x2100 */ DWORD unknown002112;
127 /* 0x2104 */ DWORD unknown002113;
128 /* 0x2108 */ DWORD unknown002114;
129 /* 0x210c */ DWORD unknown002115;
130 /* 0x2110 */ DWORD unknown002116;
131 /* 0x2114 */ DWORD unknown002117;
132 /* 0x2118 */ DWORD unknown002118;
133 /* 0x211c */ DWORD unknown002119;
134 /* 0x2120 */ DWORD unknown002120;
135 /* 0x2124 */ DWORD unknown002121;
136 /* 0x2128 */ DWORD unknown002122;
137 /* 0x212c */ DWORD unknown002123;
138 /* 0x2130 */ DWORD unknown002124;
139 /* 0x2134 */ DWORD unknown002125;
140 /* 0x2138 */ DWORD unknown002126;
141 /* 0x213c */ DWORD unknown002127;
142 /* 0x2140 */ DWORD unknown002128;
143 /* 0x2144 */ DWORD unknown002129;
144 /* 0x2148 */ DWORD unknown002130;
145 /* 0x214c */ DWORD unknown002131;
146 /* 0x2150 */ DWORD unknown002132;
147 /* 0x2154 */ DWORD unknown002133;
148 /* 0x2158 */ DWORD unknown002134;
149 /* 0x215c */ DWORD unknown002135;
150 /* 0x2160 */ DWORD unknown002136;
151 /* 0x2164 */ DWORD unknown002137;
152 /* 0x2168 */ DWORD unknown002138;
153 /* 0x216c */ DWORD unknown002139;
154 /* 0x2170 */ DWORD unknown002140;
155 /* 0x2174 */ DWORD unknown002141;
156 /* 0x2178 */ DWORD unknown002142;
157 /* 0x217c */ DWORD unknown002143;
158 /* 0x2180 */ DWORD unknown002144;
159 /* 0x2184 */ DWORD unknown002145;
160 /* 0x2188 */ DWORD unknown002146;
161 /* 0x218c */ DWORD unknown002147;
162 /* 0x2190 */ DWORD unknown002148;
163 /* 0x2194 */ DWORD unknown002149;
164 /* 0x2198 */ DWORD unknown002150;
165 /* 0x219c */ DWORD unknown002151;
166 /* 0x21a0 */ DWORD unknown002152;
167 /* 0x21a4 */ DWORD unknown002153;
168 /* 0x21a8 */ DWORD unknown002154;
169 /* 0x21ac */ DWORD unknown002155;
170 /* 0x21b0 */ DWORD unknown002156;
171 /* 0x21b4 */ DWORD unknown002157;
172 /* 0x21b8 */ DWORD unknown002158;
173 /* 0x21bc */ DWORD unknown002159;
174 /* 0x21c0 */ DWORD unknown002160;
175 /* 0x21c4 */ DWORD unknown002161;
176 /* 0x21c8 */ DWORD unknown002162;
177 /* 0x21cc */ DWORD unknown002163;
178 /* 0x21d0 */ DWORD unknown002164;
179 /* 0x21d4 */ DWORD unknown002165;
180 /* 0x21d8 */ DWORD unknown002166;
181 /* 0x21dc */ DWORD unknown002167;
182 /* 0x21e0 */ DWORD unknown002168;
183 /* 0x21e4 */ DWORD unknown002169;
184 /* 0x21e8 */ DWORD unknown002170;
185 /* 0x21ec */ DWORD unknown002171;
186 /* 0x21f0 */ DWORD unknown002172;
187 /* 0x21f4 */ DWORD unknown002173;
188 /* 0x21f8 */ DWORD unknown002174;
189 /* 0x21fc */ DWORD unknown002175;
190 /* 0x2200 */ DWORD unknown002176;
191 /* 0x2204 */ DWORD unknown002177;
192 /* 0x2208 */ DWORD unknown002178;
193 /* 0x220c */ DWORD unknown002179;
194 /* 0x2210 */ DWORD unknown002180;
195 /* 0x2214 */ DWORD unknown002181;
196 /* 0x2218 */ DWORD unknown002182;
197 /* 0x221c */ DWORD unknown002183;
198 /* 0x2220 */ DWORD unknown002184;
199 /* 0x2224 */ DWORD unknown002185;
200 /* 0x2228 */ DWORD unknown002186;
201 /* 0x222c */ DWORD unknown002187;
202 /* 0x2230 */ DWORD unknown002188;
203 /* 0x2234 */ DWORD unknown002189;
204 /* 0x2238 */ DWORD unknown002190;
205 /* 0x223c */ DWORD unknown002191;
206 /* 0x2240 */ DWORD unknown002192;
207 /* 0x2244 */ DWORD unknown002193;
208 /* 0x2248 */ DWORD unknown002194;
209 /* 0x224c */ DWORD unknown002195;
210 /* 0x2250 */ DWORD unknown002196;
211 /* 0x2254 */ DWORD unknown002197;
212 /* 0x2258 */ DWORD unknown002198;
213 /* 0x225c */ DWORD unknown002199;
214 /* 0x2260 */ DWORD unknown002200;
215 /* 0x2264 */ DWORD unknown002201;
216 /* 0x2268 */ DWORD unknown002202;
217 /* 0x226c */ DWORD unknown002203;
218 /* 0x2270 */ DWORD unknown002204;
219 /* 0x2274 */ DWORD unknown002205;
220 /* 0x2278 */ DWORD unknown002206;
221 /* 0x227c */ DWORD unknown002207;
222 /* 0x2280 */ DWORD unknown002208;
223 /* 0x2284 */ DWORD unknown002209;
224 /* 0x2288 */ DWORD unknown002210;
225 /* 0x228c */ DWORD unknown002211;
226 /* 0x2290 */ DWORD unknown002212;
227 /* 0x2294 */ DWORD unknown002213;
228 /* 0x2298 */ DWORD unknown002214;
229 /* 0x229c */ DWORD unknown002215;
230 /* 0x22a0 */ DWORD unknown002216;
231 /* 0x22a4 */ DWORD unknown002217;
232 /* 0x22a8 */ DWORD unknown002218;
233 /* 0x22ac */ DWORD unknown002219;
234 /* 0x22b0 */ DWORD unknown002220;
235 /* 0x22b4 */ DWORD unknown002221;
236 /* 0x22b8 */ DWORD unknown002222;
237 /* 0x22bc */ DWORD unknown002223;
238 /* 0x22c0 */ DWORD unknown002224;
239 /* 0x22c4 */ DWORD unknown002225;
240 /* 0x22c8 */ DWORD unknown002226;
241 /* 0x22cc */ DWORD unknown002227;
242 /* 0x22d0 */ DWORD unknown002228;
243 /* 0x22d4 */ DWORD unknown002229;
244 /* 0x22d8 */ DWORD unknown002230;
245 /* 0x22dc */ DWORD unknown002231;
246 /* 0x22e0 */ DWORD unknown002232;
247 /* 0x22e4 */ DWORD unknown002233;
248 /* 0x22e8 */ DWORD unknown002234;
249 /* 0x22ec */ DWORD unknown002235;
250 /* 0x22f0 */ DWORD unknown002236;
251 /* 0x22f4 */ DWORD unknown002237;
252 /* 0x22f8 */ DWORD unknown002238;
253 /* 0x22fc */ DWORD unknown002239;
254 /* 0x2300 */ DWORD unknown002240;
255 /* 0x2304 */ DWORD unknown002241;
256 /* 0x2308 */ DWORD unknown002242;
257 /* 0x230c */ DWORD unknown002243;
258 /* 0x2310 */ DWORD unknown002244;
259 /* 0x2314 */ DWORD unknown002245;
260 /* 0x2318 */ DWORD unknown002246;
261 /* 0x231c */ DWORD unknown002247;
262 /* 0x2320 */ DWORD unknown002248;
263 /* 0x2324 */ DWORD unknown002249;
264 /* 0x2328 */ DWORD unknown002250;
265 /* 0x232c */ DWORD unknown002251;
266 /* 0x2330 */ DWORD unknown002252;
267 /* 0x2334 */ DWORD unknown002253;
268 /* 0x2338 */ DWORD unknown002254;
269 /* 0x233c */ DWORD unknown002255;
270 /* 0x2340 */ DWORD unknown002256;
271 /* 0x2344 */ DWORD unknown002257;
272 /* 0x2348 */ DWORD unknown002258;
273 /* 0x234c */ DWORD unknown002259;
274 /* 0x2350 */ DWORD unknown002260;
275 /* 0x2354 */ DWORD unknown002261;
276 /* 0x2358 */ DWORD unknown002262;
277 /* 0x235c */ DWORD unknown002263;
278 /* 0x2360 */ DWORD unknown002264;
279 /* 0x2364 */ DWORD unknown002265;
280 /* 0x2368 */ DWORD unknown002266;
281 /* 0x236c */ DWORD unknown002267;
282 /* 0x2370 */ DWORD unknown002268;
283 /* 0x2374 */ DWORD unknown002269;
284 /* 0x2378 */ DWORD unknown002270;
285 /* 0x237c */ DWORD unknown002271;
286 /* 0x2380 */ DWORD unknown002272;
287 /* 0x2384 */ DWORD unknown002273;
288 /* 0x2388 */ DWORD unknown002274;
289 /* 0x238c */ DWORD unknown002275;
290 /* 0x2390 */ DWORD unknown002276;
291 /* 0x2394 */ DWORD unknown002277;
292 /* 0x2398 */ DWORD unknown002278;
293 /* 0x239c */ DWORD unknown002279;
294 /* 0x23a0 */ DWORD unknown002280;
295 /* 0x23a4 */ DWORD unknown002281;
296 /* 0x23a8 */ DWORD unknown002282;
297 /* 0x23ac */ DWORD unknown002283;
298 /* 0x23b0 */ DWORD unknown002284;
299 /* 0x23b4 */ DWORD unknown002285;
300 /* 0x23b8 */ DWORD unknown002286;
301 /* 0x23bc */ DWORD unknown002287;
302 /* 0x23c0 */ DWORD unknown002288;
303 /* 0x23c4 */ DWORD unknown002289;
304 /* 0x23c8 */ DWORD unknown002290;
305 /* 0x23cc */ DWORD unknown002291;
306 /* 0x23d0 */ DWORD unknown002292;
307 /* 0x23d4 */ DWORD unknown002293;
308 /* 0x23d8 */ DWORD unknown002294;
309 /* 0x23dc */ DWORD unknown002295;
310 /* 0x23e0 */ DWORD unknown002296;
311 /* 0x23e4 */ DWORD unknown002297;
312 /* 0x23e8 */ DWORD unknown002298;
313 /* 0x23ec */ DWORD unknown002299;
314 /* 0x23f0 */ DWORD unknown002300;
315 /* 0x23f4 */ DWORD unknown002301;
316 /* 0x23f8 */ DWORD unknown002302;
317 /* 0x23fc */ DWORD unknown002303;
318 /* 0x2400 */ DWORD unknown002304;
319 /* 0x2404 */ DWORD unknown002305;
320 /* 0x2408 */ DWORD unknown002306;
321 /* 0x240c */ DWORD unknown002307;
322 /* 0x2410 */ DWORD unknown002308;
323 /* 0x2414 */ DWORD unknown002309;
324 /* 0x2418 */ DWORD unknown002310;
325 /* 0x241c */ DWORD unknown002311;
326 /* 0x2420 */ DWORD unknown002312;
327 /* 0x2424 */ DWORD unknown002313;
328 /* 0x2428 */ DWORD unknown002314;
329 /* 0x242c */ DWORD unknown002315;
330 /* 0x2430 */ DWORD unknown002316;
331 /* 0x2434 */ DWORD unknown002317;
332 } D3D9PUREDEVICE, FAR *LPD3D9PUREDEVICE;
333
334 /* IDirect3D9Device public interface */
335 HRESULT WINAPI IDirect3DDevice9Pure_SetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget);
336 HRESULT WINAPI IDirect3DDevice9Pure_GetRenderTarget(LPDIRECT3DDEVICE9 iface, DWORD RenderTargetIndex,IDirect3DSurface9** ppRenderTarget);
337 HRESULT WINAPI IDirect3DDevice9Pure_SetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9* pNewZStencil);
338 HRESULT WINAPI IDirect3DDevice9Pure_GetDepthStencilSurface(LPDIRECT3DDEVICE9 iface, IDirect3DSurface9** ppZStencilSurface);
339 HRESULT WINAPI IDirect3DDevice9Pure_BeginScene(LPDIRECT3DDEVICE9 iface);
340 HRESULT WINAPI IDirect3DDevice9Pure_EndScene(LPDIRECT3DDEVICE9 iface);
341 HRESULT WINAPI IDirect3DDevice9Pure_Clear(LPDIRECT3DDEVICE9 iface, DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil);
342 HRESULT WINAPI IDirect3DDevice9Pure_SetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix);
343 HRESULT WINAPI IDirect3DDevice9Pure_GetTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix);
344 HRESULT WINAPI IDirect3DDevice9Pure_MultiplyTransform(LPDIRECT3DDEVICE9 iface, D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix);
345 HRESULT WINAPI IDirect3DDevice9Pure_SetViewport(LPDIRECT3DDEVICE9 iface, CONST D3DVIEWPORT9* pViewport);
346 HRESULT WINAPI IDirect3DDevice9Pure_GetViewport(LPDIRECT3DDEVICE9 iface, D3DVIEWPORT9* pViewport);
347 HRESULT WINAPI IDirect3DDevice9Pure_SetMaterial(LPDIRECT3DDEVICE9 iface, CONST D3DMATERIAL9* pMaterial);
348 HRESULT WINAPI IDirect3DDevice9Pure_GetMaterial(LPDIRECT3DDEVICE9 iface, D3DMATERIAL9* pMaterial);
349 HRESULT WINAPI IDirect3DDevice9Pure_SetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST D3DLIGHT9* pLight);
350 HRESULT WINAPI IDirect3DDevice9Pure_GetLight(LPDIRECT3DDEVICE9 iface, DWORD Index, D3DLIGHT9* pLight);
351 HRESULT WINAPI IDirect3DDevice9Pure_LightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL Enable);
352 HRESULT WINAPI IDirect3DDevice9Pure_GetLightEnable(LPDIRECT3DDEVICE9 iface, DWORD Index, BOOL* pEnable);
353 HRESULT WINAPI IDirect3DDevice9Pure_SetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, CONST float* pPlane);
354 HRESULT WINAPI IDirect3DDevice9Pure_GetClipPlane(LPDIRECT3DDEVICE9 iface, DWORD Index, float* pPlane);
355 HRESULT WINAPI IDirect3DDevice9Pure_SetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD Value);
356 HRESULT WINAPI IDirect3DDevice9Pure_GetRenderState(LPDIRECT3DDEVICE9 iface, D3DRENDERSTATETYPE State, DWORD* pValue);
357 HRESULT WINAPI IDirect3DDevice9Pure_CreateStateBlock(LPDIRECT3DDEVICE9 iface, D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB);
358 HRESULT WINAPI IDirect3DDevice9Pure_BeginStateBlock(LPDIRECT3DDEVICE9 iface);
359 HRESULT WINAPI IDirect3DDevice9Pure_EndStateBlock(LPDIRECT3DDEVICE9 iface, IDirect3DStateBlock9** ppSB);
360 HRESULT WINAPI IDirect3DDevice9Pure_SetClipStatus(LPDIRECT3DDEVICE9 iface, CONST D3DCLIPSTATUS9* pClipStatus);
361 HRESULT WINAPI IDirect3DDevice9Pure_GetClipStatus(LPDIRECT3DDEVICE9 iface, D3DCLIPSTATUS9* pClipStatus);
362 HRESULT WINAPI IDirect3DDevice9Pure_GetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9** ppTexture);
363 HRESULT WINAPI IDirect3DDevice9Pure_SetTexture(LPDIRECT3DDEVICE9 iface, DWORD Stage, IDirect3DBaseTexture9* pTexture);
364 HRESULT WINAPI IDirect3DDevice9Pure_GetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue);
365 HRESULT WINAPI IDirect3DDevice9Pure_SetTextureStageState(LPDIRECT3DDEVICE9 iface, DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value);
366 HRESULT WINAPI IDirect3DDevice9Pure_GetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue);
367 HRESULT WINAPI IDirect3DDevice9Pure_SetSamplerState(LPDIRECT3DDEVICE9 iface, DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value);
368 HRESULT WINAPI IDirect3DDevice9Pure_ValidateDevice(LPDIRECT3DDEVICE9 iface, DWORD* pNumPasses);
369 HRESULT WINAPI IDirect3DDevice9Pure_SetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, CONST PALETTEENTRY* pEntries);
370 HRESULT WINAPI IDirect3DDevice9Pure_GetPaletteEntries(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber, PALETTEENTRY* pEntries);
371 HRESULT WINAPI IDirect3DDevice9Pure_SetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT PaletteNumber);
372 HRESULT WINAPI IDirect3DDevice9Pure_GetCurrentTexturePalette(LPDIRECT3DDEVICE9 iface, UINT* pPaletteNumber);
373 HRESULT WINAPI IDirect3DDevice9Pure_SetScissorRect(LPDIRECT3DDEVICE9 iface, CONST RECT* pRect);
374 HRESULT WINAPI IDirect3DDevice9Pure_GetScissorRect(LPDIRECT3DDEVICE9 iface, RECT* pRect);
375 HRESULT WINAPI IDirect3DDevice9Pure_SetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface, BOOL bSoftware);
376 BOOL WINAPI IDirect3DDevice9Pure_GetSoftwareVertexProcessing(LPDIRECT3DDEVICE9 iface);
377 HRESULT WINAPI IDirect3DDevice9Pure_SetNPatchMode(LPDIRECT3DDEVICE9 iface, float nSegments);
378 float WINAPI IDirect3DDevice9Pure_GetNPatchMode(LPDIRECT3DDEVICE9 iface);
379 HRESULT WINAPI IDirect3DDevice9Pure_DrawPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount);
380 HRESULT WINAPI IDirect3DDevice9Pure_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount);
381 HRESULT WINAPI IDirect3DDevice9Pure_DrawPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);
382 HRESULT WINAPI IDirect3DDevice9Pure_DrawIndexedPrimitiveUP(LPDIRECT3DDEVICE9 iface, D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);
383 HRESULT WINAPI IDirect3DDevice9Pure_ProcessVertices(LPDIRECT3DDEVICE9 iface, UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags);
384 HRESULT WINAPI IDirect3DDevice9Pure_CreateVertexDeclaration(LPDIRECT3DDEVICE9 iface, CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl);
385 HRESULT WINAPI IDirect3DDevice9Pure_SetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9* pDecl);
386 HRESULT WINAPI IDirect3DDevice9Pure_GetVertexDeclaration(LPDIRECT3DDEVICE9 iface, IDirect3DVertexDeclaration9** ppDecl);
387 HRESULT WINAPI IDirect3DDevice9Pure_SetFVF(LPDIRECT3DDEVICE9 iface, DWORD FVF);
388 HRESULT WINAPI IDirect3DDevice9Pure_GetFVF(LPDIRECT3DDEVICE9 iface, DWORD* pFVF);
389 HRESULT WINAPI IDirect3DDevice9Pure_CreateVertexShader(LPDIRECT3DDEVICE9 iface, CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader);
390 HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShader(LPDIRECT3DDEVICE9 iface, IDirect3DVertexShader9* pShader);
391 HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShader(LPDIRECT3DDEVICE9 iface, IDirect3DVertexShader9** ppShader);
392 HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount);
393 HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, float* pConstantData, UINT Vector4fCount);
394 HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount);
395 HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, int* pConstantData, UINT Vector4iCount);
396 HRESULT WINAPI IDirect3DDevice9Pure_SetVertexShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount);
397 HRESULT WINAPI IDirect3DDevice9Pure_GetVertexShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount);
398 HRESULT WINAPI IDirect3DDevice9Pure_SetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride);
399 HRESULT WINAPI IDirect3DDevice9Pure_GetStreamSource(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* pOffsetInBytes, UINT* pStride);
400 HRESULT WINAPI IDirect3DDevice9Pure_SetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber,UINT Setting);
401 HRESULT WINAPI IDirect3DDevice9Pure_GetStreamSourceFreq(LPDIRECT3DDEVICE9 iface, UINT StreamNumber, UINT* pSetting);
402 HRESULT WINAPI IDirect3DDevice9Pure_SetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9* pIndexData);
403 HRESULT WINAPI IDirect3DDevice9Pure_GetIndices(LPDIRECT3DDEVICE9 iface, IDirect3DIndexBuffer9** ppIndexData);
404 HRESULT WINAPI IDirect3DDevice9Pure_CreatePixelShader(LPDIRECT3DDEVICE9 iface, CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader);
405 HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9* pShader);
406 HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShader(LPDIRECT3DDEVICE9 iface, IDirect3DPixelShader9** ppShader);
407 HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount);
408 HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantF(LPDIRECT3DDEVICE9 iface, UINT StartRegister, float* pConstantData, UINT Vector4fCount);
409 HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount);
410 HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantI(LPDIRECT3DDEVICE9 iface, UINT StartRegister, int* pConstantData, UINT Vector4iCount);
411 HRESULT WINAPI IDirect3DDevice9Pure_SetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount);
412 HRESULT WINAPI IDirect3DDevice9Pure_GetPixelShaderConstantB(LPDIRECT3DDEVICE9 iface, UINT StartRegister, BOOL* pConstantData, UINT BoolCount);
413 HRESULT WINAPI IDirect3DDevice9Pure_DrawRectPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo);
414 HRESULT WINAPI IDirect3DDevice9Pure_DrawTriPatch(LPDIRECT3DDEVICE9 iface, UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo);
415 HRESULT WINAPI IDirect3DDevice9Pure_DeletePatch(LPDIRECT3DDEVICE9 iface, UINT Handle);
416 HRESULT WINAPI IDirect3DDevice9Pure_CreateQuery(LPDIRECT3DDEVICE9 iface, D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery);
417
418 #endif // _D3D9_PUREDEVICE_H_