- fix the SetTextureStageState for D3DTADDRESS_MIRROR using dynamic GL
[wine] / dlls / ddraw / d3ddevice / main.h
1 /*
2  * Copyright 2002 Lionel Ulmer
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 /* This is defined here so as to be able to put them in 'drivers' */
20
21 void InitDefaultStateBlock(STATEBLOCK* lpStateBlock, int version);
22
23 HRESULT WINAPI
24 Main_IDirect3DDeviceImpl_7_3T_2T_1T_QueryInterface(LPDIRECT3DDEVICE7 iface,
25                                                    REFIID riid,
26                                                    LPVOID* obp);
27
28 ULONG WINAPI
29 Main_IDirect3DDeviceImpl_7_3T_2T_1T_AddRef(LPDIRECT3DDEVICE7 iface);
30
31 ULONG WINAPI
32 Main_IDirect3DDeviceImpl_7_3T_2T_1T_Release(LPDIRECT3DDEVICE7 iface);
33
34 HRESULT WINAPI
35 Main_IDirect3DDeviceImpl_7_GetCaps(LPDIRECT3DDEVICE7 iface,
36                                    LPD3DDEVICEDESC7 lpD3DHELDevDesc);
37
38 HRESULT WINAPI
39 Main_IDirect3DDeviceImpl_7_3T_EnumTextureFormats(LPDIRECT3DDEVICE7 iface,
40                                                  LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc,
41                                                  LPVOID lpArg);
42
43 HRESULT WINAPI
44 Main_IDirect3DDeviceImpl_7_3T_2T_1T_BeginScene(LPDIRECT3DDEVICE7 iface);
45
46 HRESULT WINAPI
47 Main_IDirect3DDeviceImpl_7_3T_2T_1T_EndScene(LPDIRECT3DDEVICE7 iface);
48
49 HRESULT WINAPI
50 Main_IDirect3DDeviceImpl_7_3T_2T_1T_GetDirect3D(LPDIRECT3DDEVICE7 iface,
51                                                 LPDIRECT3D7* lplpDirect3D3);
52
53 HRESULT WINAPI
54 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderTarget(LPDIRECT3DDEVICE7 iface,
55                                                  LPDIRECTDRAWSURFACE7 lpNewRenderTarget,
56                                                  DWORD dwFlags);
57
58 HRESULT WINAPI
59 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderTarget(LPDIRECT3DDEVICE7 iface,
60                                                  LPDIRECTDRAWSURFACE7* lplpRenderTarget);
61
62 HRESULT WINAPI
63 Main_IDirect3DDeviceImpl_7_Clear(LPDIRECT3DDEVICE7 iface,
64                                  DWORD dwCount,
65                                  LPD3DRECT lpRects,
66                                  DWORD dwFlags,
67                                  D3DCOLOR dwColor,
68                                  D3DVALUE dvZ,
69                                  DWORD dwStencil);
70
71 HRESULT WINAPI
72 Main_IDirect3DDeviceImpl_7_3T_2T_SetTransform(LPDIRECT3DDEVICE7 iface,
73                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
74                                               LPD3DMATRIX lpD3DMatrix);
75
76 HRESULT WINAPI
77 Main_IDirect3DDeviceImpl_7_3T_2T_GetTransform(LPDIRECT3DDEVICE7 iface,
78                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
79                                               LPD3DMATRIX lpD3DMatrix);
80
81 HRESULT WINAPI
82 Main_IDirect3DDeviceImpl_7_SetViewport(LPDIRECT3DDEVICE7 iface,
83                                        LPD3DVIEWPORT7 lpData);
84
85 HRESULT WINAPI
86 Main_IDirect3DDeviceImpl_7_3T_2T_MultiplyTransform(LPDIRECT3DDEVICE7 iface,
87                                                    D3DTRANSFORMSTATETYPE dtstTransformStateType,
88                                                    LPD3DMATRIX lpD3DMatrix);
89
90 HRESULT WINAPI
91 Main_IDirect3DDeviceImpl_7_GetViewport(LPDIRECT3DDEVICE7 iface,
92                                        LPD3DVIEWPORT7 lpData);
93
94 HRESULT WINAPI
95 Main_IDirect3DDeviceImpl_7_SetMaterial(LPDIRECT3DDEVICE7 iface,
96                                        LPD3DMATERIAL7 lpMat);
97
98 HRESULT WINAPI
99 Main_IDirect3DDeviceImpl_7_GetMaterial(LPDIRECT3DDEVICE7 iface,
100                                        LPD3DMATERIAL7 lpMat);
101
102 HRESULT WINAPI
103 Main_IDirect3DDeviceImpl_7_SetLight(LPDIRECT3DDEVICE7 iface,
104                                     DWORD dwLightIndex,
105                                     LPD3DLIGHT7 lpLight);
106
107 HRESULT WINAPI
108 Main_IDirect3DDeviceImpl_7_GetLight(LPDIRECT3DDEVICE7 iface,
109                                     DWORD dwLightIndex,
110                                     LPD3DLIGHT7 lpLight);
111
112 HRESULT WINAPI
113 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderState(LPDIRECT3DDEVICE7 iface,
114                                                 D3DRENDERSTATETYPE dwRenderStateType,
115                                                 DWORD dwRenderState);
116
117 HRESULT WINAPI
118 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderState(LPDIRECT3DDEVICE7 iface,
119                                                 D3DRENDERSTATETYPE dwRenderStateType,
120                                                 LPDWORD lpdwRenderState);
121
122 HRESULT WINAPI
123 Main_IDirect3DDeviceImpl_7_BeginStateBlock(LPDIRECT3DDEVICE7 iface);
124
125 HRESULT WINAPI
126 Main_IDirect3DDeviceImpl_7_EndStateBlock(LPDIRECT3DDEVICE7 iface,
127                                          LPDWORD lpdwBlockHandle);
128
129 HRESULT WINAPI
130 Main_IDirect3DDeviceImpl_7_PreLoad(LPDIRECT3DDEVICE7 iface,
131                                    LPDIRECTDRAWSURFACE7 lpddsTexture);
132
133 HRESULT WINAPI
134 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitive(LPDIRECT3DDEVICE7 iface,
135                                             D3DPRIMITIVETYPE d3dptPrimitiveType,
136                                             DWORD d3dvtVertexType,
137                                             LPVOID lpvVertices,
138                                             DWORD dwVertexCount,
139                                             DWORD dwFlags);
140
141 HRESULT WINAPI
142 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitive(LPDIRECT3DDEVICE7 iface,
143                                                    D3DPRIMITIVETYPE d3dptPrimitiveType,
144                                                    DWORD d3dvtVertexType,
145                                                    LPVOID lpvVertices,
146                                                    DWORD dwVertexCount,
147                                                    LPWORD dwIndices,
148                                                    DWORD dwIndexCount,
149                                                    DWORD dwFlags);
150
151 HRESULT WINAPI
152 Main_IDirect3DDeviceImpl_7_3T_2T_SetClipStatus(LPDIRECT3DDEVICE7 iface,
153                                                LPD3DCLIPSTATUS lpD3DClipStatus);
154
155 HRESULT WINAPI
156 Main_IDirect3DDeviceImpl_7_3T_2T_GetClipStatus(LPDIRECT3DDEVICE7 iface,
157                                                LPD3DCLIPSTATUS lpD3DClipStatus);
158
159 HRESULT WINAPI
160 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
161                                                    D3DPRIMITIVETYPE d3dptPrimitiveType,
162                                                    DWORD dwVertexType,
163                                                    LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
164                                                    DWORD dwVertexCount,
165                                                    DWORD dwFlags);
166
167 HRESULT WINAPI
168 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 iface,
169                                                           D3DPRIMITIVETYPE d3dptPrimitiveType,
170                                                           DWORD dwVertexType,
171                                                           LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
172                                                           DWORD dwVertexCount,
173                                                           LPWORD lpIndex,
174                                                           DWORD dwIndexCount,
175                                                           DWORD dwFlags);
176
177 HRESULT WINAPI
178 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface,
179                                               D3DPRIMITIVETYPE d3dptPrimitiveType,
180                                               LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
181                                               DWORD dwStartVertex,
182                                               DWORD dwNumVertices,
183                                               DWORD dwFlags);
184
185 HRESULT WINAPI
186 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
187                                                      D3DPRIMITIVETYPE d3dptPrimitiveType,
188                                                      LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
189                                                      DWORD dwStartVertex,
190                                                      DWORD dwNumVertices,
191                                                      LPWORD lpwIndices,
192                                                      DWORD dwIndexCount,
193                                                      DWORD dwFlags);
194
195 HRESULT WINAPI
196 Main_IDirect3DDeviceImpl_7_3T_ComputeSphereVisibility(LPDIRECT3DDEVICE7 iface,
197                                                       LPD3DVECTOR lpCenters,
198                                                       LPD3DVALUE lpRadii,
199                                                       DWORD dwNumSpheres,
200                                                       DWORD dwFlags,
201                                                       LPDWORD lpdwReturnValues);
202
203 HRESULT WINAPI
204 Main_IDirect3DDeviceImpl_7_3T_GetTexture(LPDIRECT3DDEVICE7 iface,
205                                          DWORD dwStage,
206                                          LPDIRECTDRAWSURFACE7* lpTexture);
207
208 HRESULT WINAPI
209 Main_IDirect3DDeviceImpl_7_3T_SetTexture(LPDIRECT3DDEVICE7 iface,
210                                          DWORD dwStage,
211                                          LPDIRECTDRAWSURFACE7 lpTexture);
212
213 HRESULT WINAPI
214 Main_IDirect3DDeviceImpl_7_3T_GetTextureStageState(LPDIRECT3DDEVICE7 iface,
215                                                    DWORD dwStage,
216                                                    D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
217                                                    LPDWORD lpdwState);
218
219 HRESULT WINAPI
220 Main_IDirect3DDeviceImpl_7_3T_SetTextureStageState(LPDIRECT3DDEVICE7 iface,
221                                                    DWORD dwStage,
222                                                    D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
223                                                    DWORD dwState);
224
225 HRESULT WINAPI
226 Main_IDirect3DDeviceImpl_7_3T_ValidateDevice(LPDIRECT3DDEVICE7 iface,
227                                              LPDWORD lpdwPasses);
228
229 HRESULT WINAPI
230 Main_IDirect3DDeviceImpl_7_ApplyStateBlock(LPDIRECT3DDEVICE7 iface,
231                                            DWORD dwBlockHandle);
232
233 HRESULT WINAPI
234 Main_IDirect3DDeviceImpl_7_CaptureStateBlock(LPDIRECT3DDEVICE7 iface,
235                                              DWORD dwBlockHandle);
236
237 HRESULT WINAPI
238 Main_IDirect3DDeviceImpl_7_DeleteStateBlock(LPDIRECT3DDEVICE7 iface,
239                                             DWORD dwBlockHandle);
240
241 HRESULT WINAPI
242 Main_IDirect3DDeviceImpl_7_CreateStateBlock(LPDIRECT3DDEVICE7 iface,
243                                             D3DSTATEBLOCKTYPE d3dsbType,
244                                             LPDWORD lpdwBlockHandle);
245
246 HRESULT WINAPI
247 Main_IDirect3DDeviceImpl_7_Load(LPDIRECT3DDEVICE7 iface,
248                                 LPDIRECTDRAWSURFACE7 lpDestTex,
249                                 LPPOINT lpDestPoint,
250                                 LPDIRECTDRAWSURFACE7 lpSrcTex,
251                                 LPRECT lprcSrcRect,
252                                 DWORD dwFlags);
253
254 HRESULT WINAPI
255 Main_IDirect3DDeviceImpl_7_LightEnable(LPDIRECT3DDEVICE7 iface,
256                                        DWORD dwLightIndex,
257                                        BOOL bEnable);
258
259 HRESULT WINAPI
260 Main_IDirect3DDeviceImpl_7_GetLightEnable(LPDIRECT3DDEVICE7 iface,
261                                           DWORD dwLightIndex,
262                                           BOOL* pbEnable);
263
264 HRESULT WINAPI
265 Main_IDirect3DDeviceImpl_7_SetClipPlane(LPDIRECT3DDEVICE7 iface,
266                                         DWORD dwIndex,
267                                         D3DVALUE* pPlaneEquation);
268
269 HRESULT WINAPI
270 Main_IDirect3DDeviceImpl_7_GetClipPlane(LPDIRECT3DDEVICE7 iface,
271                                         DWORD dwIndex,
272                                         D3DVALUE* pPlaneEquation);
273
274 HRESULT WINAPI
275 Main_IDirect3DDeviceImpl_7_GetInfo(LPDIRECT3DDEVICE7 iface,
276                                    DWORD dwDevInfoID,
277                                    LPVOID pDevInfoStruct,
278                                    DWORD dwSize);
279
280 HRESULT WINAPI
281 Main_IDirect3DDeviceImpl_3_2T_1T_GetCaps(LPDIRECT3DDEVICE3 iface,
282                                          LPD3DDEVICEDESC lpD3DHWDevDesc,
283                                          LPD3DDEVICEDESC lpD3DHELDevDesc);
284
285 HRESULT WINAPI
286 Main_IDirect3DDeviceImpl_3_2T_1T_GetStats(LPDIRECT3DDEVICE3 iface,
287                                           LPD3DSTATS lpD3DStats);
288
289 HRESULT WINAPI
290 Main_IDirect3DDeviceImpl_3_2T_1T_AddViewport(LPDIRECT3DDEVICE3 iface,
291                                              LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
292
293 HRESULT WINAPI
294 Main_IDirect3DDeviceImpl_3_2T_1T_DeleteViewport(LPDIRECT3DDEVICE3 iface,
295                                                 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
296
297 HRESULT WINAPI
298 Main_IDirect3DDeviceImpl_3_2T_1T_NextViewport(LPDIRECT3DDEVICE3 iface,
299                                               LPDIRECT3DVIEWPORT3 lpDirect3DViewport3,
300                                               LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3,
301                                               DWORD dwFlags);
302
303 HRESULT WINAPI
304 Main_IDirect3DDeviceImpl_3_2T_SetCurrentViewport(LPDIRECT3DDEVICE3 iface,
305                                                  LPDIRECT3DVIEWPORT3 lpDirect3DViewport3);
306
307 HRESULT WINAPI
308 Main_IDirect3DDeviceImpl_3_2T_GetCurrentViewport(LPDIRECT3DDEVICE3 iface,
309                                                  LPDIRECT3DVIEWPORT3* lplpDirect3DViewport3);
310
311 HRESULT WINAPI
312 Main_IDirect3DDeviceImpl_3_Begin(LPDIRECT3DDEVICE3 iface,
313                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
314                                  DWORD dwVertexTypeDesc,
315                                  DWORD dwFlags);
316
317 HRESULT WINAPI
318 Main_IDirect3DDeviceImpl_3_BeginIndexed(LPDIRECT3DDEVICE3 iface,
319                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
320                                         DWORD d3dvtVertexType,
321                                         LPVOID lpvVertices,
322                                         DWORD dwNumVertices,
323                                         DWORD dwFlags);
324
325 HRESULT WINAPI
326 Main_IDirect3DDeviceImpl_3_2T_Vertex(LPDIRECT3DDEVICE3 iface,
327                                      LPVOID lpVertexType);
328
329 HRESULT WINAPI
330 Main_IDirect3DDeviceImpl_3_2T_Index(LPDIRECT3DDEVICE3 iface,
331                                     WORD wVertexIndex);
332
333 HRESULT WINAPI
334 Main_IDirect3DDeviceImpl_3_2T_End(LPDIRECT3DDEVICE3 iface,
335                                   DWORD dwFlags);
336
337 HRESULT WINAPI
338 Main_IDirect3DDeviceImpl_3_2T_GetLightState(LPDIRECT3DDEVICE3 iface,
339                                             D3DLIGHTSTATETYPE dwLightStateType,
340                                             LPDWORD lpdwLightState);
341
342 HRESULT WINAPI
343 Main_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface,
344                                             D3DLIGHTSTATETYPE dwLightStateType,
345                                             DWORD dwLightState);
346
347 HRESULT WINAPI
348 Main_IDirect3DDeviceImpl_2_1T_SwapTextureHandles(LPDIRECT3DDEVICE2 iface,
349                                                  LPDIRECT3DTEXTURE2 lpD3DTex1,
350                                                  LPDIRECT3DTEXTURE2 lpD3DTex2);
351
352 HRESULT WINAPI
353 Main_IDirect3DDeviceImpl_2_1T_EnumTextureFormats(LPDIRECT3DDEVICE2 iface,
354                                                  LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc,
355                                                  LPVOID lpArg);
356
357 HRESULT WINAPI
358 Main_IDirect3DDeviceImpl_2_Begin(LPDIRECT3DDEVICE2 iface,
359                                  D3DPRIMITIVETYPE d3dpt,
360                                  D3DVERTEXTYPE dwVertexTypeDesc,
361                                  DWORD dwFlags);
362
363 HRESULT WINAPI
364 Main_IDirect3DDeviceImpl_2_BeginIndexed(LPDIRECT3DDEVICE2 iface,
365                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
366                                         D3DVERTEXTYPE d3dvtVertexType,
367                                         LPVOID lpvVertices,
368                                         DWORD dwNumVertices,
369                                         DWORD dwFlags);
370
371 HRESULT WINAPI
372 Main_IDirect3DDeviceImpl_2_DrawPrimitive(LPDIRECT3DDEVICE2 iface,
373                                          D3DPRIMITIVETYPE d3dptPrimitiveType,
374                                          D3DVERTEXTYPE d3dvtVertexType,
375                                          LPVOID lpvVertices,
376                                          DWORD dwVertexCount,
377                                          DWORD dwFlags);
378
379 HRESULT WINAPI
380 Main_IDirect3DDeviceImpl_2_DrawIndexedPrimitive(LPDIRECT3DDEVICE2 iface,
381                                                 D3DPRIMITIVETYPE d3dptPrimitiveType,
382                                                 D3DVERTEXTYPE d3dvtVertexType,
383                                                 LPVOID lpvVertices,
384                                                 DWORD dwVertexCount,
385                                                 LPWORD dwIndices,
386                                                 DWORD dwIndexCount,
387                                                 DWORD dwFlags);
388
389 HRESULT WINAPI
390 Main_IDirect3DDeviceImpl_1_Initialize(LPDIRECT3DDEVICE iface,
391                                       LPDIRECT3D lpDirect3D,
392                                       LPGUID lpGUID,
393                                       LPD3DDEVICEDESC lpD3DDVDesc);
394
395 HRESULT WINAPI
396 Main_IDirect3DDeviceImpl_1_CreateExecuteBuffer(LPDIRECT3DDEVICE iface,
397                                                LPD3DEXECUTEBUFFERDESC lpDesc,
398                                                LPDIRECT3DEXECUTEBUFFER* lplpDirect3DExecuteBuffer,
399                                                IUnknown* pUnkOuter);
400
401 HRESULT WINAPI
402 Main_IDirect3DDeviceImpl_1_Execute(LPDIRECT3DDEVICE iface,
403                                    LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer,
404                                    LPDIRECT3DVIEWPORT lpDirect3DViewport,
405                                    DWORD dwFlags);
406
407 HRESULT WINAPI
408 Main_IDirect3DDeviceImpl_1_Pick(LPDIRECT3DDEVICE iface,
409                                 LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer,
410                                 LPDIRECT3DVIEWPORT lpDirect3DViewport,
411                                 DWORD dwFlags,
412                                 LPD3DRECT lpRect);
413
414 HRESULT WINAPI
415 Main_IDirect3DDeviceImpl_1_GetPickRecords(LPDIRECT3DDEVICE iface,
416                                           LPDWORD lpCount,
417                                           LPD3DPICKRECORD lpD3DPickRec);
418
419 HRESULT WINAPI
420 Main_IDirect3DDeviceImpl_1_CreateMatrix(LPDIRECT3DDEVICE iface,
421                                         LPD3DMATRIXHANDLE lpD3DMatHandle);
422
423 HRESULT WINAPI
424 Main_IDirect3DDeviceImpl_1_SetMatrix(LPDIRECT3DDEVICE iface,
425                                      D3DMATRIXHANDLE D3DMatHandle,
426                                      LPD3DMATRIX lpD3DMatrix);
427
428 HRESULT WINAPI
429 Main_IDirect3DDeviceImpl_1_GetMatrix(LPDIRECT3DDEVICE iface,
430                                      D3DMATRIXHANDLE D3DMatHandle,
431                                      LPD3DMATRIX lpD3DMatrix);
432
433 HRESULT WINAPI
434 Main_IDirect3DDeviceImpl_1_DeleteMatrix(LPDIRECT3DDEVICE iface,
435                                         D3DMATRIXHANDLE D3DMatHandle);
436
437 HRESULT WINAPI
438 Thunk_IDirect3DDeviceImpl_3_QueryInterface(LPDIRECT3DDEVICE3 iface,
439                                            REFIID riid,
440                                            LPVOID* obp);
441
442 HRESULT WINAPI
443 Thunk_IDirect3DDeviceImpl_2_QueryInterface(LPDIRECT3DDEVICE2 iface,
444                                            REFIID riid,
445                                            LPVOID* obp);
446
447 HRESULT WINAPI
448 Thunk_IDirect3DDeviceImpl_1_QueryInterface(LPDIRECT3DDEVICE iface,
449                                            REFIID riid,
450                                            LPVOID* obp);
451
452 ULONG WINAPI
453 Thunk_IDirect3DDeviceImpl_3_AddRef(LPDIRECT3DDEVICE3 iface);
454
455 ULONG WINAPI
456 Thunk_IDirect3DDeviceImpl_2_AddRef(LPDIRECT3DDEVICE2 iface);
457
458 ULONG WINAPI
459 Thunk_IDirect3DDeviceImpl_1_AddRef(LPDIRECT3DDEVICE iface);
460
461 ULONG WINAPI
462 Thunk_IDirect3DDeviceImpl_3_Release(LPDIRECT3DDEVICE3 iface);
463
464 ULONG WINAPI
465 Thunk_IDirect3DDeviceImpl_2_Release(LPDIRECT3DDEVICE2 iface);
466
467 ULONG WINAPI
468 Thunk_IDirect3DDeviceImpl_1_Release(LPDIRECT3DDEVICE iface);
469
470 HRESULT WINAPI
471 Thunk_IDirect3DDeviceImpl_2_AddViewport(LPDIRECT3DDEVICE2 iface,
472                                         LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
473
474 HRESULT WINAPI
475 Thunk_IDirect3DDeviceImpl_1_AddViewport(LPDIRECT3DDEVICE iface,
476                                         LPDIRECT3DVIEWPORT lpDirect3DViewport);
477
478 HRESULT WINAPI
479 Thunk_IDirect3DDeviceImpl_2_DeleteViewport(LPDIRECT3DDEVICE2 iface,
480                                            LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
481
482 HRESULT WINAPI
483 Thunk_IDirect3DDeviceImpl_1_DeleteViewport(LPDIRECT3DDEVICE iface,
484                                            LPDIRECT3DVIEWPORT lpDirect3DViewport);
485
486 HRESULT WINAPI
487 Thunk_IDirect3DDeviceImpl_2_NextViewport(LPDIRECT3DDEVICE3 iface,
488                                          LPDIRECT3DVIEWPORT2 lpDirect3DViewport2,
489                                          LPDIRECT3DVIEWPORT2* lplpDirect3DViewport2,
490                                          DWORD dwFlags);
491
492 HRESULT WINAPI
493 Thunk_IDirect3DDeviceImpl_1_NextViewport(LPDIRECT3DDEVICE3 iface,
494                                          LPDIRECT3DVIEWPORT lpDirect3DViewport,
495                                          LPDIRECT3DVIEWPORT* lplpDirect3DViewport,
496                                          DWORD dwFlags);
497
498 HRESULT WINAPI
499 Thunk_IDirect3DDeviceImpl_3_GetDirect3D(LPDIRECT3DDEVICE3 iface,
500                                         LPDIRECT3D3* lplpDirect3D3);
501
502 HRESULT WINAPI
503 Thunk_IDirect3DDeviceImpl_2_GetDirect3D(LPDIRECT3DDEVICE2 iface,
504                                         LPDIRECT3D2* lplpDirect3D2);
505
506 HRESULT WINAPI
507 Thunk_IDirect3DDeviceImpl_1_GetDirect3D(LPDIRECT3DDEVICE iface,
508                                         LPDIRECT3D* lplpDirect3D);
509
510 HRESULT WINAPI
511 Thunk_IDirect3DDeviceImpl_2_SetCurrentViewport(LPDIRECT3DDEVICE2 iface,
512                                                LPDIRECT3DVIEWPORT2 lpDirect3DViewport2);
513
514 HRESULT WINAPI
515 Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(LPDIRECT3DDEVICE2 iface,
516                                                LPDIRECT3DVIEWPORT2* lpDirect3DViewport2);
517
518 HRESULT WINAPI
519 Thunk_IDirect3DDeviceImpl_3_EnumTextureFormats(LPDIRECT3DDEVICE3 iface,
520                                                LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc,
521                                                LPVOID lpArg);
522
523 HRESULT WINAPI
524 Thunk_IDirect3DDeviceImpl_3_BeginScene(LPDIRECT3DDEVICE3 iface);
525
526 HRESULT WINAPI
527 Thunk_IDirect3DDeviceImpl_2_BeginScene(LPDIRECT3DDEVICE2 iface);
528
529 HRESULT WINAPI
530 Thunk_IDirect3DDeviceImpl_1_BeginScene(LPDIRECT3DDEVICE iface);
531
532 HRESULT WINAPI
533 Thunk_IDirect3DDeviceImpl_3_EndScene(LPDIRECT3DDEVICE3 iface);
534
535 HRESULT WINAPI
536 Thunk_IDirect3DDeviceImpl_2_EndScene(LPDIRECT3DDEVICE2 iface);
537
538 HRESULT WINAPI
539 Thunk_IDirect3DDeviceImpl_1_EndScene(LPDIRECT3DDEVICE iface);
540
541 HRESULT WINAPI
542 Thunk_IDirect3DDeviceImpl_3_SetTransform(LPDIRECT3DDEVICE3 iface,
543                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
544                                          LPD3DMATRIX lpD3DMatrix);
545
546 HRESULT WINAPI
547 Thunk_IDirect3DDeviceImpl_2_SetTransform(LPDIRECT3DDEVICE2 iface,
548                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
549                                          LPD3DMATRIX lpD3DMatrix);
550
551 HRESULT WINAPI
552 Thunk_IDirect3DDeviceImpl_3_GetTransform(LPDIRECT3DDEVICE3 iface,
553                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
554                                          LPD3DMATRIX lpD3DMatrix);
555
556 HRESULT WINAPI
557 Thunk_IDirect3DDeviceImpl_2_GetTransform(LPDIRECT3DDEVICE2 iface,
558                                          D3DTRANSFORMSTATETYPE dtstTransformStateType,
559                                          LPD3DMATRIX lpD3DMatrix);
560
561 HRESULT WINAPI
562 Thunk_IDirect3DDeviceImpl_3_MultiplyTransform(LPDIRECT3DDEVICE3 iface,
563                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
564                                               LPD3DMATRIX lpD3DMatrix);
565
566 HRESULT WINAPI
567 Thunk_IDirect3DDeviceImpl_2_MultiplyTransform(LPDIRECT3DDEVICE2 iface,
568                                               D3DTRANSFORMSTATETYPE dtstTransformStateType,
569                                               LPD3DMATRIX lpD3DMatrix);
570
571 HRESULT WINAPI
572 Thunk_IDirect3DDeviceImpl_3_SetRenderState(LPDIRECT3DDEVICE3 iface,
573                                            D3DRENDERSTATETYPE dwRenderStateType,
574                                            DWORD dwRenderState);
575
576 HRESULT WINAPI
577 Thunk_IDirect3DDeviceImpl_2_SetRenderState(LPDIRECT3DDEVICE2 iface,
578                                            D3DRENDERSTATETYPE dwRenderStateType,
579                                            DWORD dwRenderState);
580
581 HRESULT WINAPI
582 Thunk_IDirect3DDeviceImpl_3_GetRenderState(LPDIRECT3DDEVICE3 iface,
583                                            D3DRENDERSTATETYPE dwRenderStateType,
584                                            LPDWORD lpdwRenderState);
585
586 HRESULT WINAPI
587 Thunk_IDirect3DDeviceImpl_2_GetRenderState(LPDIRECT3DDEVICE2 iface,
588                                            D3DRENDERSTATETYPE dwRenderStateType,
589                                            LPDWORD lpdwRenderState);
590
591 HRESULT WINAPI
592 Thunk_IDirect3DDeviceImpl_3_DrawPrimitive(LPDIRECT3DDEVICE3 iface,
593                                           D3DPRIMITIVETYPE d3dptPrimitiveType,
594                                           DWORD d3dvtVertexType,
595                                           LPVOID lpvVertices,
596                                           DWORD dwVertexCount,
597                                           DWORD dwFlags);
598
599 HRESULT WINAPI
600 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitive(LPDIRECT3DDEVICE3 iface,
601                                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
602                                                  DWORD d3dvtVertexType,
603                                                  LPVOID lpvVertices,
604                                                  DWORD dwVertexCount,
605                                                  LPWORD dwIndices,
606                                                  DWORD dwIndexCount,
607                                                  DWORD dwFlags);
608
609 HRESULT WINAPI
610 Thunk_IDirect3DDeviceImpl_3_SetClipStatus(LPDIRECT3DDEVICE3 iface,
611                                           LPD3DCLIPSTATUS lpD3DClipStatus);
612
613 HRESULT WINAPI
614 Thunk_IDirect3DDeviceImpl_2_SetClipStatus(LPDIRECT3DDEVICE2 iface,
615                                           LPD3DCLIPSTATUS lpD3DClipStatus);
616
617 HRESULT WINAPI
618 Thunk_IDirect3DDeviceImpl_3_GetClipStatus(LPDIRECT3DDEVICE3 iface,
619                                           LPD3DCLIPSTATUS lpD3DClipStatus);
620
621 HRESULT WINAPI
622 Thunk_IDirect3DDeviceImpl_2_GetClipStatus(LPDIRECT3DDEVICE2 iface,
623                                           LPD3DCLIPSTATUS lpD3DClipStatus);
624
625 HRESULT WINAPI
626 Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided(LPDIRECT3DDEVICE3 iface,
627                                                  D3DPRIMITIVETYPE d3dptPrimitiveType,
628                                                  DWORD dwVertexType,
629                                                  LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
630                                                  DWORD dwVertexCount,
631                                                  DWORD dwFlags);
632
633 HRESULT WINAPI
634 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE3 iface,
635                                                         D3DPRIMITIVETYPE d3dptPrimitiveType,
636                                                         DWORD dwVertexType,
637                                                         LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,
638                                                         DWORD dwVertexCount,
639                                                         LPWORD lpIndex,
640                                                         DWORD dwIndexCount,
641                                                         DWORD dwFlags);
642
643 HRESULT WINAPI
644 Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility(LPDIRECT3DDEVICE3 iface,
645                                                     LPD3DVECTOR lpCenters,
646                                                     LPD3DVALUE lpRadii,
647                                                     DWORD dwNumSpheres,
648                                                     DWORD dwFlags,
649                                                     LPDWORD lpdwReturnValues);
650
651 HRESULT WINAPI
652 Thunk_IDirect3DDeviceImpl_3_GetTextureStageState(LPDIRECT3DDEVICE3 iface,
653                                                  DWORD dwStage,
654                                                  D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
655                                                  LPDWORD lpdwState);
656
657 HRESULT WINAPI
658 Thunk_IDirect3DDeviceImpl_3_SetTextureStageState(LPDIRECT3DDEVICE3 iface,
659                                                  DWORD dwStage,
660                                                  D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,
661                                                  DWORD dwState);
662
663 HRESULT WINAPI
664 Thunk_IDirect3DDeviceImpl_3_ValidateDevice(LPDIRECT3DDEVICE3 iface,
665                                            LPDWORD lpdwPasses);
666
667 HRESULT WINAPI
668 Thunk_IDirect3DDeviceImpl_2_GetCaps(LPDIRECT3DDEVICE2 iface,
669                                     LPD3DDEVICEDESC lpD3DHWDevDesc,
670                                     LPD3DDEVICEDESC lpD3DHELDevDesc);
671
672 HRESULT WINAPI
673 Thunk_IDirect3DDeviceImpl_1_GetCaps(LPDIRECT3DDEVICE iface,
674                                     LPD3DDEVICEDESC lpD3DHWDevDesc,
675                                     LPD3DDEVICEDESC lpD3DHELDevDesc);
676
677 HRESULT WINAPI
678 Thunk_IDirect3DDeviceImpl_1_SwapTextureHandles(LPDIRECT3DDEVICE iface,
679                                                LPDIRECT3DTEXTURE lpD3Dtex1,
680                                                LPDIRECT3DTEXTURE lpD3DTex2);
681
682 HRESULT WINAPI
683 Thunk_IDirect3DDeviceImpl_2_GetStats(LPDIRECT3DDEVICE2 iface,
684                                      LPD3DSTATS lpD3DStats);
685
686 HRESULT WINAPI
687 Thunk_IDirect3DDeviceImpl_1_GetStats(LPDIRECT3DDEVICE iface,
688                                      LPD3DSTATS lpD3DStats);
689
690 HRESULT WINAPI
691 Thunk_IDirect3DDeviceImpl_3_SetRenderTarget(LPDIRECT3DDEVICE3 iface,
692                                             LPDIRECTDRAWSURFACE4 lpNewRenderTarget,
693                                             DWORD dwFlags);
694
695 HRESULT WINAPI
696 Thunk_IDirect3DDeviceImpl_3_GetRenderTarget(LPDIRECT3DDEVICE3 iface,
697                                             LPDIRECTDRAWSURFACE4* lplpRenderTarget);
698
699 HRESULT WINAPI
700 Thunk_IDirect3DDeviceImpl_2_SetRenderTarget(LPDIRECT3DDEVICE2 iface,
701                                             LPDIRECTDRAWSURFACE lpNewRenderTarget,
702                                             DWORD dwFlags);
703
704 HRESULT WINAPI
705 Thunk_IDirect3DDeviceImpl_2_GetRenderTarget(LPDIRECT3DDEVICE2 iface,
706                                             LPDIRECTDRAWSURFACE* lplpRenderTarget);
707
708 HRESULT WINAPI
709 Thunk_IDirect3DDeviceImpl_2_Vertex(LPDIRECT3DDEVICE2 iface,
710                                    LPVOID lpVertexType);
711
712 HRESULT WINAPI
713 Thunk_IDirect3DDeviceImpl_2_Index(LPDIRECT3DDEVICE2 iface,
714                                   WORD wVertexIndex);
715
716 HRESULT WINAPI
717 Thunk_IDirect3DDeviceImpl_2_End(LPDIRECT3DDEVICE2 iface,
718                                 DWORD dwFlags);
719
720 HRESULT WINAPI
721 Thunk_IDirect3DDeviceImpl_2_GetLightState(LPDIRECT3DDEVICE2 iface,
722                                           D3DLIGHTSTATETYPE dwLightStateType,
723                                           LPDWORD lpdwLightState);
724
725 HRESULT WINAPI
726 Thunk_IDirect3DDeviceImpl_2_SetLightState(LPDIRECT3DDEVICE2 iface,
727                                           D3DLIGHTSTATETYPE dwLightStateType,
728                                           DWORD dwLightState);
729
730 HRESULT WINAPI
731 Thunk_IDirect3DDeviceImpl_1_EnumTextureFormats(LPDIRECT3DDEVICE iface,
732                                                LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc,
733                                                LPVOID lpArg);
734
735 HRESULT WINAPI
736 Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface,
737                                        DWORD dwStage,
738                                        LPDIRECT3DTEXTURE2 lpTexture2);
739
740 HRESULT WINAPI
741 Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface,
742                                             D3DPRIMITIVETYPE d3dptPrimitiveType,
743                                             LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
744                                             DWORD dwStartVertex,
745                                             DWORD dwNumVertices,
746                                             DWORD dwFlags);
747
748 HRESULT WINAPI
749 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface,
750                                                    D3DPRIMITIVETYPE d3dptPrimitiveType,
751                                                    LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,
752                                                    LPWORD lpwIndices,
753                                                    DWORD dwIndexCount,
754                                                    DWORD dwFlags);
755
756 HRESULT WINAPI
757 Thunk_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface,
758                                        DWORD dwStage,
759                                        LPDIRECT3DTEXTURE2* lplpTexture2);