2 * Direct3D driver interface
5 * Copyright (C) 2001 Ove Kaaven
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef __WINE_D3DHAL_H
23 #define __WINE_D3DHAL_H
31 /*****************************************************************************
32 * device info structures
34 typedef struct _D3DDeviceDesc_V1
{
37 D3DCOLORMODEL dcmColorModel
;
39 D3DTRANSFORMCAPS dtcTransformCaps
;
41 D3DLIGHTINGCAPS dlcLightingCaps
;
42 D3DPRIMCAPS dpcLineCaps
;
43 D3DPRIMCAPS dpcTriCaps
;
44 DWORD dwDeviceRenderBitDepth
;
45 DWORD dwDeviceZBufferBitDepth
;
46 DWORD dwMaxBufferSize
;
47 DWORD dwMaxVertexCount
;
48 } D3DDEVICEDESC_V1
,*LPD3DDEVICEDESC_V1
;
50 typedef struct _D3DDeviceDesc_V2
54 D3DCOLORMODEL dcmColorModel
;
56 D3DTRANSFORMCAPS dtcTransformCaps
;
58 D3DLIGHTINGCAPS dlcLightingCaps
;
59 D3DPRIMCAPS dpcLineCaps
;
60 D3DPRIMCAPS dpcTriCaps
;
61 DWORD dwDeviceRenderBitDepth
;
62 DWORD dwDeviceZBufferBitDepth
;
63 DWORD dwMaxBufferSize
;
64 DWORD dwMaxVertexCount
;
67 DWORD dwMinTextureWidth
;
68 DWORD dwMinTextureHeight
;
69 DWORD dwMaxTextureWidth
;
70 DWORD dwMaxTextureHeight
;
71 DWORD dwMinStippleWidth
;
72 DWORD dwMaxStippleWidth
;
73 DWORD dwMinStippleHeight
;
74 DWORD dwMaxStippleHeight
;
75 } D3DDEVICEDESC_V2
, *LPD3DDEVICEDESC_V2
;
77 typedef struct _D3DDeviceDesc_V3
81 D3DCOLORMODEL dcmColorModel
;
83 D3DTRANSFORMCAPS dtcTransformCaps
;
85 D3DLIGHTINGCAPS dlcLightingCaps
;
86 D3DPRIMCAPS dpcLineCaps
;
87 D3DPRIMCAPS dpcTriCaps
;
88 DWORD dwDeviceRenderBitDepth
;
89 DWORD dwDeviceZBufferBitDepth
;
90 DWORD dwMaxBufferSize
;
91 DWORD dwMaxVertexCount
;
94 DWORD dwMinTextureWidth
;
95 DWORD dwMinTextureHeight
;
96 DWORD dwMaxTextureWidth
;
97 DWORD dwMaxTextureHeight
;
98 DWORD dwMinStippleWidth
;
99 DWORD dwMaxStippleWidth
;
100 DWORD dwMinStippleHeight
;
101 DWORD dwMaxStippleHeight
;
104 DWORD dwMaxTextureRepeat
;
105 DWORD dwMaxTextureAspectRatio
;
106 DWORD dwMaxAnisotropy
;
107 D3DVALUE dvGuardBandLeft
;
108 D3DVALUE dvGuardBandTop
;
109 D3DVALUE dvGuardBandRight
;
110 D3DVALUE dvGuardBandBottom
;
111 D3DVALUE dvExtentsAdjust
;
114 DWORD dwTextureOpCaps
;
115 WORD wMaxTextureBlendStages
;
116 WORD wMaxSimultaneousTextures
;
117 } D3DDEVICEDESC_V3
, *LPD3DDEVICEDESC_V3
;
119 typedef struct _D3DHAL_GLOBALDRIVERDATA
{
121 D3DDEVICEDESC_V1 hwCaps
;
123 DWORD dwNumClipVertices
;
124 DWORD dwNumTextureFormats
;
125 LPDDSURFACEDESC lpTextureFormats
;
126 } D3DHAL_GLOBALDRIVERDATA
,*LPD3DHAL_GLOBALDRIVERDATA
;
128 typedef struct _D3DHAL_D3DEXTENDEDCAPS
{
131 DWORD dwMinTextureWidth
, dwMaxTextureWidth
;
132 DWORD dwMinTextureHeight
, dwMaxTextureHeight
;
133 DWORD dwMinStippleWidth
, dwMaxStippleWidth
;
134 DWORD dwMinStippleHeight
, dwMaxStippleHeight
;
136 DWORD dwMaxTextureRepeat
;
137 DWORD dwMaxTextureAspectRatio
;
138 DWORD dwMaxAnisotropy
;
139 D3DVALUE dvGuardBandLeft
;
140 D3DVALUE dvGuardBandTop
;
141 D3DVALUE dvGuardBandRight
;
142 D3DVALUE dvGuardBandBottom
;
143 D3DVALUE dvExtentsAdjust
;
146 DWORD dwTextureOpCaps
;
147 WORD wMaxTextureBlendStages
;
148 WORD wMaxSimultaneousTextures
;
150 DWORD dwMaxActiveLights
;
151 D3DVALUE dvMaxVertexW
;
152 WORD wMaxUserClipPlanes
;
153 WORD wMaxVertexBlendMatrices
;
154 DWORD dwVertexProcessingCaps
;
159 } D3DHAL_D3DEXTENDEDCAPS
,*LPD3DHAL_D3DEXTENDEDCAPS
;
161 /*****************************************************************************
162 * d3d->driver callbacks
164 typedef struct _D3DHAL_CONTEXTCREATEDATA
*LPD3DHAL_CONTEXTCREATEDATA
;
165 typedef struct _D3DHAL_CONTEXTDESTROYDATA
*LPD3DHAL_CONTEXTDESTROYDATA
;
166 typedef struct _D3DHAL_CONTEXTDESTROYALLDATA
*LPD3DHAL_CONTEXTDESTROYALLDATA
;
167 typedef struct _D3DHAL_SCENECAPTUREDATA
*LPD3DHAL_SCENECAPTUREDATA
;
168 typedef struct _D3DHAL_RENDERSTATEDATA
*LPD3DHAL_RENDERSTATEDATA
;
169 typedef struct _D3DHAL_RENDERPRIMITIVEDATA
*LPD3DHAL_RENDERPRIMITIVEDATA
;
170 typedef struct _D3DHAL_TEXTURECREATEDATA
*LPD3DHAL_TEXTURECREATEDATA
;
171 typedef struct _D3DHAL_TEXTUREDESTROYDATA
*LPD3DHAL_TEXTUREDESTROYDATA
;
172 typedef struct _D3DHAL_TEXTURESWAPDATA
*LPD3DHAL_TEXTURESWAPDATA
;
173 typedef struct _D3DHAL_TEXTUREGETSURFDATA
*LPD3DHAL_TEXTUREGETSURFDATA
;
174 typedef struct _D3DHAL_GETSTATEDATA
*LPD3DHAL_GETSTATEDATA
;
176 typedef DWORD (PASCAL
*LPD3DHAL_CONTEXTCREATECB
) (LPD3DHAL_CONTEXTCREATEDATA
);
177 typedef DWORD (PASCAL
*LPD3DHAL_CONTEXTDESTROYCB
) (LPD3DHAL_CONTEXTDESTROYDATA
);
178 typedef DWORD (PASCAL
*LPD3DHAL_CONTEXTDESTROYALLCB
)(LPD3DHAL_CONTEXTDESTROYALLDATA
);
179 typedef DWORD (PASCAL
*LPD3DHAL_SCENECAPTURECB
) (LPD3DHAL_SCENECAPTUREDATA
);
180 typedef DWORD (PASCAL
*LPD3DHAL_RENDERSTATECB
) (LPD3DHAL_RENDERSTATEDATA
);
181 typedef DWORD (PASCAL
*LPD3DHAL_RENDERPRIMITIVECB
) (LPD3DHAL_RENDERPRIMITIVEDATA
);
182 typedef DWORD (PASCAL
*LPD3DHAL_TEXTURECREATECB
) (LPD3DHAL_TEXTURECREATEDATA
);
183 typedef DWORD (PASCAL
*LPD3DHAL_TEXTUREDESTROYCB
) (LPD3DHAL_TEXTUREDESTROYDATA
);
184 typedef DWORD (PASCAL
*LPD3DHAL_TEXTURESWAPCB
) (LPD3DHAL_TEXTURESWAPDATA
);
185 typedef DWORD (PASCAL
*LPD3DHAL_TEXTUREGETSURFCB
) (LPD3DHAL_TEXTUREGETSURFDATA
);
186 typedef DWORD (PASCAL
*LPD3DHAL_GETSTATECB
) (LPD3DHAL_GETSTATEDATA
);
188 typedef struct _D3DHAL_CALLBACKS
{
190 LPD3DHAL_CONTEXTCREATECB ContextCreate
;
191 LPD3DHAL_CONTEXTDESTROYCB ContextDestroy
;
192 LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll
;
193 LPD3DHAL_SCENECAPTURECB SceneCapture
;
196 LPD3DHAL_RENDERSTATECB RenderState
;
197 LPD3DHAL_RENDERPRIMITIVECB RenderPrimitive
;
199 LPD3DHAL_TEXTURECREATECB TextureCreate
;
200 LPD3DHAL_TEXTUREDESTROYCB TextureDestroy
;
201 LPD3DHAL_TEXTURESWAPCB TextureSwap
;
202 LPD3DHAL_TEXTUREGETSURFCB TextureGetSurf
;
203 /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
204 * all these reserved fields were available? we may never know */
215 LPD3DHAL_GETSTATECB GetState
;
226 } D3DHAL_CALLBACKS
,*LPD3DHAL_CALLBACKS
;
228 typedef struct _D3DHAL_SETRENDERTARGETDATA
*LPD3DHAL_SETRENDERTARGETDATA
;
229 typedef struct _D3DHAL_CLEARDATA
*LPD3DHAL_CLEARDATA
;
230 typedef struct _D3DHAL_DRAWONEPRIMITIVEDATA
*LPD3DHAL_DRAWONEPRIMITIVEDATA
;
231 typedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA
*LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA
;
232 typedef struct _D3DHAL_DRAWPRIMITIVESDATA
*LPD3DHAL_DRAWPRIMITIVESDATA
;
234 typedef DWORD (PASCAL
*LPD3DHAL_SETRENDERTARGETCB
) (LPD3DHAL_SETRENDERTARGETDATA
);
235 typedef DWORD (PASCAL
*LPD3DHAL_CLEARCB
) (LPD3DHAL_CLEARDATA
);
236 typedef DWORD (PASCAL
*LPD3DHAL_DRAWONEPRIMITIVECB
) (LPD3DHAL_DRAWONEPRIMITIVEDATA
);
237 typedef DWORD (PASCAL
*LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB
)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA
);
238 typedef DWORD (PASCAL
*LPD3DHAL_DRAWPRIMITIVESCB
) (LPD3DHAL_DRAWPRIMITIVESDATA
);
240 typedef struct _D3DHAL_CALLBACKS2
{
243 LPD3DHAL_SETRENDERTARGETCB SetRenderTarget
;
244 LPD3DHAL_CLEARCB Clear
;
245 LPD3DHAL_DRAWONEPRIMITIVECB DrawOnePrimitive
;
246 LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive
;
247 LPD3DHAL_DRAWPRIMITIVESCB DrawPrimitives
;
248 } D3DHAL_CALLBACKS2
,*LPD3DHAL_CALLBACKS2
;
250 typedef struct _D3DHAL_CLEAR2DATA
*LPD3DHAL_CLEAR2DATA
;
251 typedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA
*LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA
;
252 typedef struct _D3DHAL_DRAWPRIMITIVES2DATA
*LPD3DHAL_DRAWPRIMITIVES2DATA
;
254 typedef DWORD (PASCAL
*LPD3DHAL_CLEAR2CB
) (LPD3DHAL_CLEAR2DATA
);
255 typedef DWORD (PASCAL
*LPD3DHAL_VALIDATETEXTURESTAGESTATECB
)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA
);
256 typedef DWORD (PASCAL
*LPD3DHAL_DRAWPRIMITIVES2CB
) (LPD3DHAL_DRAWPRIMITIVES2DATA
);
258 typedef struct _D3DHAL_CALLBACKS3
{
261 LPD3DHAL_CLEAR2CB Clear2
;
263 LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState
;
264 LPD3DHAL_DRAWPRIMITIVES2CB DrawPrimitives2
;
265 } D3DHAL_CALLBACKS3
,*LPD3DHAL_CALLBACKS3
;
267 /*****************************************************************************
268 * parameter structures
270 typedef struct _D3DHAL_CONTEXTCREATEDATA
{
272 LPDDRAWI_DIRECTDRAW_GBL lpDDGbl
; /* pre-DirectX 7 */
273 LPDDRAWI_DIRECTDRAW_LCL lpDDLcl
; /* DirectX 7 */
276 LPDIRECTDRAWSURFACE lpDDS
;
277 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl
; /* DirectX 7 */
280 LPDIRECTDRAWSURFACE lpDDSZ
;
281 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl
; /* DirectX 7 */
287 ULONG_PTR dwhContext
;
289 } D3DHAL_CONTEXTCREATEDATA
;
291 typedef struct _D3DHAL_CONTEXTDESTROYDATA
{
292 ULONG_PTR dwhContext
;
294 } D3DHAL_CONTEXTDESTROYDATA
;
296 typedef struct _D3DHAL_CONTEXTDESTROYALLDATA
{
299 } D3DHAL_CONTEXTDESTROYALLDATA
;
301 typedef struct _D3DHAL_SCENECAPTUREDATA
{
302 ULONG_PTR dwhContext
;
305 } D3DHAL_SCENECAPTUREDATA
;
307 #define D3DHAL_SCENE_CAPTURE_START 0x00000000
308 #define D3DHAL_SCENE_CAPTURE_END 0x00000001
310 typedef struct _D3DHAL_SETRENDERTARGETDATA
{
311 ULONG_PTR dwhContext
;
313 LPDIRECTDRAWSURFACE lpDDS
;
314 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl
;
317 LPDIRECTDRAWSURFACE lpDDSZ
;
318 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl
;
321 } D3DHAL_SETRENDERTARGETDATA
;
323 typedef struct _D3DHAL_DRAWPRIMITIVES2DATA
{
324 ULONG_PTR dwhContext
;
327 LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands
;
328 DWORD dwCommandOffset
;
329 DWORD dwCommandLength
;
331 LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex
;
334 DWORD dwVertexOffset
;
335 DWORD dwVertexLength
;
336 DWORD dwReqVertexBufSize
;
337 DWORD dwReqCommandBufSize
;
344 } D3DHAL_DRAWPRIMITIVES2DATA
;
346 #define D3DHALDP2_USERMEMVERTICES 0x00000001
347 #define D3DHALDP2_EXECUTEBUFFER 0x00000002
348 #define D3DHALDP2_SWAPVERTEXBUFFER 0x00000004
349 #define D3DHALDP2_SWAPCOMMANDBUFFER 0x00000008
350 #define D3DHALDP2_REQVERTEXBUFSIZE 0x00000010
351 #define D3DHALDP2_REQCOMMANDBUFSIZE 0x00000020
352 #define D3DHALDP2_VIDMEMVERTEXBUF 0x00000040
353 #define D3DHALDP2_VIDMEMCOMMANDBUF 0x00000080
355 /*****************************************************************************
356 * DrawPrimitives2 command structures
358 typedef struct _D3DHAL_DP2COMMAND
{
362 WORD wPrimitiveCount
;
365 } D3DHAL_DP2COMMAND
,*LPD3DHAL_DP2COMMAND
;
367 typedef enum _D3DHAL_DP2OPERATION
{
369 D3DDP2OP_INDEXEDLINELIST
= 2,
370 D3DDP2OP_INDEXEDTRIANGLELIST
= 3,
371 D3DDP2OP_RENDERSTATE
= 8,
372 D3DDP2OP_LINELIST
= 15,
373 D3DDP2OP_LINESTRIP
= 16,
374 D3DDP2OP_INDEXEDLINESTRIP
= 17,
375 D3DDP2OP_TRIANGLELIST
= 18,
376 D3DDP2OP_TRIANGLESTRIP
= 19,
377 D3DDP2OP_INDEXEDTRIANGLESTRIP
= 20,
378 D3DDP2OP_TRIANGLEFAN
= 21,
379 D3DDP2OP_INDEXEDTRIANGLEFAN
= 22,
380 D3DDP2OP_TRIANGLEFAN_IMM
= 23,
381 D3DDP2OP_LINELIST_IMM
= 24,
382 D3DDP2OP_TEXTURESTAGESTATE
= 25,
383 D3DDP2OP_INDEXEDTRIANGLELIST2
= 26,
384 D3DDP2OP_INDEXEDLINELIST2
= 27,
385 D3DDP2OP_VIEWPORTINFO
= 28,
387 /* pre-DirectX 7 interfaces */
388 D3DDP2OP_SETPALETTE
= 30,
389 D3DDP2OP_UPDATEPALETTE
= 31,
390 /* DirectX 7 interfaces */
391 D3DDP2OP_ZRANGE
= 32,
392 D3DDP2OP_SETMATERIAL
= 33,
393 D3DDP2OP_SETLIGHT
= 34,
394 D3DDP2OP_CREATELIGHT
= 35,
395 D3DDP2OP_SETTRANSFORM
= 36,
396 D3DDP2OP_TEXBLT
= 38,
397 D3DDP2OP_STATESET
= 39,
398 D3DDP2OP_SETPRIORITY
= 40,
400 D3DDP2OP_SETRENDERTARGET
= 41,
402 /* DirectX 7 interfaces */
403 D3DDP2OP_SETTEXLOD
= 43,
404 D3DPP2OP_SETCLIPPLANE
= 44
405 } D3DHAL_DP2OPERATION
;
407 /* point primitives */
409 typedef struct _D3DHAL_POINTS
{
412 } D3DHAL_DP2POINTS
,*LPD3DHAL_DP2POINTS
;
414 /* line primitives */
416 typedef struct _D3DHAL_DP2STARTVERTEX
{
418 } D3DHAL_DP2STARTVERTEX
,*LPD3DHAL_DP2STARTVERTEX
;
420 typedef struct _D3DHAL_DP2LINELIST
{
422 } D3DHAL_DP2LINELIST
,*LPD3DHAL_DP2LINELIST
;
424 typedef struct _D3DHAL_DP2INDEXEDLINELIST
{
427 } D3DHAL_DP2INDEXEDLINELIST
,*LPD3DHAL_DP2INDEXEDLINELIST
;
429 typedef struct _D3DHAL_DP2LINESTRIP
{
431 } D3DHAL_DP2LINESTRIP
,*LPD3DHAL_DP2LINESTRIP
;
433 typedef struct _D3DHAL_DP2INDEXEDLINESTRIP
{
435 } D3DHAL_DP2INDEXEDLINESTRIP
,*LPD3DHAL_DP2INDEXEDLINESTRIP
;
437 /* triangle primitives */
439 typedef struct _D3DHAL_DP2TRIANGLELIST
{
441 } D3DHAL_DP2TRIANGLELIST
,*LPD3DHAL_DP2TRIANGLELIST
;
443 typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST
{
448 } D3DHAL_DP2INDEXEDTRIANGLELIST
,*LPD3DHAL_DP2INDEXEDTRIANGLELIST
;
450 typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2
{
454 } D3DHAL_DP2INDEXEDTRIANGLELIST2
,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2
;
456 typedef struct _D3DHAL_DP2TRIANGLESTRIP
{
458 } D3DHAL_DP2TRIANGLESTRIP
,*LPD3DHAL_DP2TRIANGLESTRIP
;
460 typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP
{
462 } D3DHAL_DP2INDEXEDTRIANGLESTRIP
,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP
;
464 typedef struct _D3DHAL_DP2TRIANGLEFAN
{
466 } D3DHAL_DP2TRIANGLEFAN
,*LPD3DHAL_DP2TRIANGLEFAN
;
468 typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN
{
470 } D3DHAL_DP2INDEXEDTRIANGLEFAN
,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN
;
472 typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM
{
474 } D3DHAL_DP2TRIANGLEFAN_IMM
,*LPD3DHAL_DP2TRIANGLEFAN_IMM
;
477 typedef struct _D3DHAL_DP2RENDERSTATE
{
478 D3DRENDERSTATETYPE RenderState
;
483 } D3DHAL_DP2RENDERSTATE
,*LPD3DHAL_DP2RENDERSTATE
;
485 typedef struct _D3DHAL_DP2TEXTURESTAGESTATE
{
489 } D3DHAL_DP2TEXTURESTAGESTATE
,*LPD3DHAL_DP2TEXTURESTAGESTATE
;
491 #define D3DTSS_TEXTUREMAP 0
493 typedef struct _D3DHAL_DP2VIEWPORTINFO
{
498 } D3DHAL_DP2VIEWPORTINFO
,*LPD3DHAL_DP2VIEWPORTINFO
;
500 typedef struct _D3DHAL_DP2WINFO
{
503 } D3DHAL_DP2WINFO
,*LPD3DHAL_DP2WINFO
;
505 typedef struct _D3DHAL_DP2SETPALETTE
{
506 DWORD dwPaletteHandle
;
507 DWORD dwPaletteFlags
;
508 DWORD dwSurfaceHandle
;
509 } D3DHAL_DP2SETPALETTE
,*LPD3DHAL_DP2SETPALETTE
;
511 typedef struct _D3DHAL_DP2UPDATEPALETTE
{
512 DWORD dwPaletteHandle
;
515 } D3DHAL_DP2UPDATEPALETTE
,*LPD3DHAL_DP2UPDATEPALETTE
;
517 typedef struct _D3DHAL_DP2ZRANGE
{
520 } D3DHAL_DP2ZRANGE
,*LPD3DHAL_DP2ZRANGE
;
522 typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL
,*LPD3DHAL_DP2SETMATERIAL
;
524 typedef struct _D3DHAL_DP2SETLIGHT
{
527 } D3DHAL_DP2SETLIGHT
,*LPD3DHAL_DP2SETLIGHT
;
529 #define D3DHAL_SETLIGHT_ENABLE 0
530 #define D3DHAL_SETLIGHT_DISABLE 1
531 #define D3DHAL_SETLIGHT_DATA 2
533 typedef struct _D3DHAL_DP2CREATELIGHT
{
535 } D3DHAL_DP2CREATELIGHT
,*LPD3DHAL_DP2CREATELIGHT
;
537 typedef struct _D3DHAL_DP2SETTRANSFORM
{
538 D3DTRANSFORMSTATETYPE xfrmType
;
540 } D3DHAL_DP2SETTRANSFORM
,*LPD3DHAL_DP2SETTRANSFORM
;
542 typedef struct _D3DHAL_DP2TEXBLT
{
543 DWORD dwDDDestSurface
;
544 DWORD dwDDSrcSurface
;
548 } D3DHAL_DP2TEXBLT
,*LPD3DHAL_DP2TEXBLT
;
550 typedef struct _D3DHAL_DP2STATESET
{
553 D3DSTATEBLOCKTYPE sbType
;
554 } D3DHAL_DP2STATESET
,*LPD3DHAL_DP2STATESET
;
556 #define D3DHAL_STATESETBEGIN 0
557 #define D3DHAL_STATESETEND 1
558 #define D3DHAL_STATESETDELETE 2
559 #define D3DHAL_STATESETEXECUTE 3
560 #define D3DHAL_STATESETCAPTURE 4
562 typedef struct _D3DHAL_DP2SETPRIORITY
{
565 } D3DHAL_DP2SETPRIORITY
,*LPD3DHAL_DP2SETPRIORITY
;
567 typedef struct _D3DHAL_DP2SETRENDERTARGET
{
570 } D3DHAL_DP2SETRENDERTARGET
,*LPD3DHAL_DP2SETRENDERTARGET
;
572 typedef struct _D3DHAL_DP2CLEAR
{
575 D3DVALUE dvFillDepth
;
578 } D3DHAL_DP2CLEAR
,*LPD3DHAL_DP2CLEAR
;
580 typedef struct _D3DHAL_DP2SETTEXLOD
{
583 } D3DHAL_DP2SETTEXLOD
,*LPD3DHAL_DP2SETTEXLOD
;
589 #endif /* __WINE_D3DHAL_H */