Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/d3dhal.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * Direct3D driver interface | |
| 3 * (DirectX 7 version) | |
| 4 * | |
| 5 * Copyright (C) 2001 Ove Kaaven | |
| 6 * | |
| 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. | |
| 11 * | |
| 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. | |
| 16 * | |
| 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 Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| 20 */ | |
| 21 | |
| 22 #ifndef _D3DHAL_H_ | |
| 23 #define _D3DHAL_H_ | |
| 24 | |
| 25 #ifdef __cplusplus | |
| 26 extern "C" { | |
| 27 #endif | |
| 28 | |
| 29 #include <ddraw.h> | |
| 30 #include <d3dtypes.h> | |
| 31 #include <d3dcaps.h> | |
| 32 #include <d3d.h> | |
| 33 | |
| 34 #if (DIRECT3D_VERSION >= 0x0900) | |
| 35 #include <d3d9.h> | |
| 36 #endif | |
| 37 | |
| 38 #ifndef DDRAWI_DIRECTDRAW_DEFINED | |
| 39 typedef struct _DDRAWI_DIRECTDRAW_GBL FAR *LPDDRAWI_DIRECTDRAW_GBL; | |
| 40 typedef struct _DDRAWI_DIRECTDRAW_LCL FAR *LPDDRAWI_DIRECTDRAW_LCL; | |
| 41 #define DDRAWI_DIRECTDRAW_DEFINED | |
| 42 #endif | |
| 43 | |
| 44 #ifndef DDRAWI_DDRAWSURFACE_DEFINED | |
| 45 typedef struct _DDRAWI_DDRAWSURFACE_LCL FAR *LPDDRAWI_DDRAWSURFACE_LCL; | |
| 46 #define DDRAWI_DDRAWSURFACE_DEFINED | |
| 47 #endif | |
| 48 | |
| 49 #define D3DERR_COMMAND_UNPARSED 0x88760BB8; | |
| 50 | |
| 51 /***************************************************************************** | |
| 52 * device info structures | |
| 53 */ | |
| 54 typedef struct _D3DDeviceDesc_V1 { | |
| 55 DWORD dwSize; | |
| 56 DWORD dwFlags; | |
| 57 D3DCOLORMODEL dcmColorModel; | |
| 58 DWORD dwDevCaps; | |
| 59 D3DTRANSFORMCAPS dtcTransformCaps; | |
| 60 BOOL bClipping; | |
| 61 D3DLIGHTINGCAPS dlcLightingCaps; | |
| 62 D3DPRIMCAPS dpcLineCaps; | |
| 63 D3DPRIMCAPS dpcTriCaps; | |
| 64 DWORD dwDeviceRenderBitDepth; | |
| 65 DWORD dwDeviceZBufferBitDepth; | |
| 66 DWORD dwMaxBufferSize; | |
| 67 DWORD dwMaxVertexCount; | |
| 68 } D3DDEVICEDESC_V1,*LPD3DDEVICEDESC_V1; | |
| 69 | |
| 70 /* this is to allow keeping the bulk of our OpenGL code out of x11drv */ | |
| 71 #define D3DDD_WINE_OPENGL_DEVICE 0x00008000 | |
| 72 | |
| 73 typedef struct _D3DHAL_GLOBALDRIVERDATA { | |
| 74 DWORD dwSize; | |
| 75 D3DDEVICEDESC_V1 hwCaps; | |
| 76 DWORD dwNumVertices; | |
| 77 DWORD dwNumClipVertices; | |
| 78 DWORD dwNumTextureFormats; | |
| 79 LPDDSURFACEDESC lpTextureFormats; | |
| 80 } D3DHAL_GLOBALDRIVERDATA; | |
| 81 | |
| 82 #ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED | |
| 83 typedef D3DHAL_GLOBALDRIVERDATA *LPD3DHAL_GLOBALDRIVERDATA; | |
| 84 #define D3DHAL_GLOBALDRIVERDATA_DEFINED | |
| 85 #endif | |
| 86 | |
| 87 typedef struct _D3DHAL_D3DEXTENDEDCAPS { | |
| 88 DWORD dwSize; | |
| 89 /* DirectX 5 */ | |
| 90 DWORD dwMinTextureWidth, dwMaxTextureWidth; | |
| 91 DWORD dwMinTextureHeight, dwMaxTextureHeight; | |
| 92 DWORD dwMinStippleWidth, dwMaxStippleWidth; | |
| 93 DWORD dwMinStippleHeight, dwMaxStippleHeight; | |
| 94 /* DirectX 6 */ | |
| 95 DWORD dwMaxTextureRepeat; | |
| 96 DWORD dwMaxTextureAspectRatio; | |
| 97 DWORD dwMaxAnisotropy; | |
| 98 D3DVALUE dvGuardBandLeft; | |
| 99 D3DVALUE dvGuardBandTop; | |
| 100 D3DVALUE dvGuardBandRight; | |
| 101 D3DVALUE dvGuardBandBottom; | |
| 102 D3DVALUE dvExtentsAdjust; | |
| 103 DWORD dwStencilCaps; | |
| 104 DWORD dwFVFCaps; | |
| 105 DWORD dwTextureOpCaps; | |
| 106 WORD wMaxTextureBlendStages; | |
| 107 WORD wMaxSimultaneousTextures; | |
| 108 /* DirectX 7 */ | |
| 109 DWORD dwMaxActiveLights; | |
| 110 D3DVALUE dvMaxVertexW; | |
| 111 WORD wMaxUserClipPlanes; | |
| 112 WORD wMaxVertexBlendMatrices; | |
| 113 DWORD dwVertexProcessingCaps; | |
| 114 DWORD dwReserved1; | |
| 115 DWORD dwReserved2; | |
| 116 DWORD dwReserved3; | |
| 117 DWORD dwReserved4; | |
| 118 } D3DHAL_D3DEXTENDEDCAPS,*LPD3DHAL_D3DEXTENDEDCAPS; | |
| 119 | |
| 120 /***************************************************************************** | |
| 121 * d3d->driver callbacks | |
| 122 */ | |
| 123 typedef struct _D3DHAL_CONTEXTCREATEDATA *LPD3DHAL_CONTEXTCREATEDATA; | |
| 124 typedef struct _D3DHAL_CONTEXTDESTROYDATA *LPD3DHAL_CONTEXTDESTROYDATA; | |
| 125 typedef struct _D3DHAL_CONTEXTDESTROYALLDATA *LPD3DHAL_CONTEXTDESTROYALLDATA; | |
| 126 typedef struct _D3DHAL_SCENECAPTUREDATA *LPD3DHAL_SCENECAPTUREDATA; | |
| 127 typedef struct _D3DHAL_RENDERSTATEDATA *LPD3DHAL_RENDERSTATEDATA; | |
| 128 typedef struct _D3DHAL_RENDERPRIMITIVEDATA *LPD3DHAL_RENDERPRIMITIVEDATA; | |
| 129 typedef struct _D3DHAL_TEXTURECREATEDATA *LPD3DHAL_TEXTURECREATEDATA; | |
| 130 typedef struct _D3DHAL_TEXTUREDESTROYDATA *LPD3DHAL_TEXTUREDESTROYDATA; | |
| 131 typedef struct _D3DHAL_TEXTURESWAPDATA *LPD3DHAL_TEXTURESWAPDATA; | |
| 132 typedef struct _D3DHAL_TEXTUREGETSURFDATA *LPD3DHAL_TEXTUREGETSURFDATA; | |
| 133 typedef struct _D3DHAL_GETSTATEDATA *LPD3DHAL_GETSTATEDATA; | |
| 134 | |
| 135 typedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB) (LPD3DHAL_CONTEXTCREATEDATA); | |
| 136 typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB) (LPD3DHAL_CONTEXTDESTROYDATA); | |
| 137 typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA); | |
| 138 typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB) (LPD3DHAL_SCENECAPTUREDATA); | |
| 139 typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB) (LPD3DHAL_RENDERSTATEDATA); | |
| 140 typedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB) (LPD3DHAL_RENDERPRIMITIVEDATA); | |
| 141 typedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB) (LPD3DHAL_TEXTURECREATEDATA); | |
| 142 typedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB) (LPD3DHAL_TEXTUREDESTROYDATA); | |
| 143 typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB) (LPD3DHAL_TEXTURESWAPDATA); | |
| 144 typedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB) (LPD3DHAL_TEXTUREGETSURFDATA); | |
| 145 typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB) (LPD3DHAL_GETSTATEDATA); | |
| 146 | |
| 147 typedef struct _D3DHAL_CALLBACKS { | |
| 148 DWORD dwSize; | |
| 149 LPD3DHAL_CONTEXTCREATECB ContextCreate; | |
| 150 LPD3DHAL_CONTEXTDESTROYCB ContextDestroy; | |
| 151 LPD3DHAL_CONTEXTDESTROYALLCB ContextDestroyAll; | |
| 152 LPD3DHAL_SCENECAPTURECB SceneCapture; | |
| 153 LPVOID lpReserved10; | |
| 154 LPVOID lpReserved11; | |
| 155 LPD3DHAL_RENDERSTATECB RenderState; | |
| 156 LPD3DHAL_RENDERPRIMITIVECB RenderPrimitive; | |
| 157 DWORD dwReserved; | |
| 158 LPD3DHAL_TEXTURECREATECB TextureCreate; | |
| 159 LPD3DHAL_TEXTUREDESTROYCB TextureDestroy; | |
| 160 LPD3DHAL_TEXTURESWAPCB TextureSwap; | |
| 161 LPD3DHAL_TEXTUREGETSURFCB TextureGetSurf; | |
| 162 /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if | |
| 163 * all these reserved fields were available? we may never know */ | |
| 164 LPVOID lpReserved12; | |
| 165 LPVOID lpReserved13; | |
| 166 LPVOID lpReserved14; | |
| 167 LPVOID lpReserved15; | |
| 168 LPVOID lpReserved16; | |
| 169 LPVOID lpReserved17; | |
| 170 LPVOID lpReserved18; | |
| 171 LPVOID lpReserved19; | |
| 172 LPVOID lpReserved20; | |
| 173 LPVOID lpReserved21; | |
| 174 LPD3DHAL_GETSTATECB GetState; | |
| 175 DWORD dwReserved0; | |
| 176 DWORD dwReserved1; | |
| 177 DWORD dwReserved2; | |
| 178 DWORD dwReserved3; | |
| 179 DWORD dwReserved4; | |
| 180 DWORD dwReserved5; | |
| 181 DWORD dwReserved6; | |
| 182 DWORD dwReserved7; | |
| 183 DWORD dwReserved8; | |
| 184 DWORD dwReserved9; | |
| 185 } D3DHAL_CALLBACKS; | |
| 186 | |
| 187 #ifndef D3DHAL_CALLBACKS_DEFINED | |
| 188 typedef D3DHAL_CALLBACKS *LPD3DHAL_CALLBACKS; | |
| 189 #define D3DHAL_CALLBACKS_DEFINED | |
| 190 #endif | |
| 191 | |
| 192 typedef struct _D3DHAL_SETRENDERTARGETDATA *LPD3DHAL_SETRENDERTARGETDATA; | |
| 193 typedef struct _D3DHAL_CLEARDATA *LPD3DHAL_CLEARDATA; | |
| 194 typedef struct _D3DHAL_DRAWONEPRIMITIVEDATA *LPD3DHAL_DRAWONEPRIMITIVEDATA; | |
| 195 typedef struct _D3DHAL_DRAWONEINDEXEDPRIMITIVEDATA *LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA; | |
| 196 typedef struct _D3DHAL_DRAWPRIMITIVESDATA *LPD3DHAL_DRAWPRIMITIVESDATA; | |
| 197 | |
| 198 typedef DWORD (PASCAL *LPD3DHAL_SETRENDERTARGETCB) (LPD3DHAL_SETRENDERTARGETDATA); | |
| 199 typedef DWORD (PASCAL *LPD3DHAL_CLEARCB) (LPD3DHAL_CLEARDATA); | |
| 200 typedef DWORD (PASCAL *LPD3DHAL_DRAWONEPRIMITIVECB) (LPD3DHAL_DRAWONEPRIMITIVEDATA); | |
| 201 typedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA); | |
| 202 typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB) (LPD3DHAL_DRAWPRIMITIVESDATA); | |
| 203 | |
| 204 typedef struct _D3DHAL_CALLBACKS2 { | |
| 205 DWORD dwSize; | |
| 206 DWORD dwFlags; | |
| 207 LPD3DHAL_SETRENDERTARGETCB SetRenderTarget; | |
| 208 LPD3DHAL_CLEARCB Clear; | |
| 209 LPD3DHAL_DRAWONEPRIMITIVECB DrawOnePrimitive; | |
| 210 LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB DrawOneIndexedPrimitive; | |
| 211 LPD3DHAL_DRAWPRIMITIVESCB DrawPrimitives; | |
| 212 } D3DHAL_CALLBACKS2,*LPD3DHAL_CALLBACKS2; | |
| 213 | |
| 214 typedef struct _D3DHAL_CLEAR2DATA *LPD3DHAL_CLEAR2DATA; | |
| 215 typedef struct _D3DHAL_VALIDATETEXTURESTAGESTATEDATA *LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA; | |
| 216 typedef struct _D3DHAL_DRAWPRIMITIVES2DATA *LPD3DHAL_DRAWPRIMITIVES2DATA; | |
| 217 | |
| 218 typedef DWORD (PASCAL *LPD3DHAL_CLEAR2CB) (LPD3DHAL_CLEAR2DATA); | |
| 219 typedef DWORD (PASCAL *LPD3DHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DHAL_VALIDATETEXTURESTAGESTATEDATA); | |
| 220 typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVES2CB) (LPD3DHAL_DRAWPRIMITIVES2DATA); | |
| 221 | |
| 222 typedef struct _D3DHAL_CALLBACKS3 { | |
| 223 DWORD dwSize; | |
| 224 DWORD dwFlags; | |
| 225 LPD3DHAL_CLEAR2CB Clear2; | |
| 226 LPVOID lpvReserved; | |
| 227 LPD3DHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState; | |
| 228 LPD3DHAL_DRAWPRIMITIVES2CB DrawPrimitives2; | |
| 229 } D3DHAL_CALLBACKS3,*LPD3DHAL_CALLBACKS3; | |
| 230 | |
| 231 /***************************************************************************** | |
| 232 * parameter structures | |
| 233 */ | |
| 234 typedef struct _D3DHAL_CONTEXTCREATEDATA { | |
| 235 union { | |
| 236 LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */ | |
| 237 LPDDRAWI_DIRECTDRAW_LCL lpDDLcl; /* DirectX 7 */ | |
| 238 } DUMMYUNIONNAME1; | |
| 239 union { | |
| 240 LPDIRECTDRAWSURFACE lpDDS; | |
| 241 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */ | |
| 242 } DUMMYUNIONNAME2; | |
| 243 union { | |
| 244 LPDIRECTDRAWSURFACE lpDDSZ; | |
| 245 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */ | |
| 246 } DUMMYUNIONNAME3; | |
| 247 union { | |
| 248 DWORD dwPID; | |
| 249 ULONG_PTR dwrstates; | |
| 250 } DUMMYUNIONNAME4; | |
| 251 ULONG_PTR dwhContext; | |
| 252 HRESULT ddrval; | |
| 253 } D3DHAL_CONTEXTCREATEDATA; | |
| 254 | |
| 255 typedef struct _D3DHAL_CONTEXTDESTROYDATA { | |
| 256 ULONG_PTR dwhContext; | |
| 257 HRESULT ddrval; | |
| 258 } D3DHAL_CONTEXTDESTROYDATA; | |
| 259 | |
| 260 typedef struct _D3DHAL_CONTEXTDESTROYALLDATA { | |
| 261 DWORD dwPID; | |
| 262 HRESULT ddrval; | |
| 263 } D3DHAL_CONTEXTDESTROYALLDATA; | |
| 264 | |
| 265 typedef struct _D3DHAL_SCENECAPTUREDATA { | |
| 266 ULONG_PTR dwhContext; | |
| 267 DWORD dwFlag; | |
| 268 HRESULT ddrval; | |
| 269 } D3DHAL_SCENECAPTUREDATA; | |
| 270 | |
| 271 #define D3DHAL_SCENE_CAPTURE_START 0x00000000 | |
| 272 #define D3DHAL_SCENE_CAPTURE_END 0x00000001 | |
| 273 | |
| 274 typedef struct _D3DHAL_SETRENDERTARGETDATA { | |
| 275 ULONG_PTR dwhContext; | |
| 276 union { | |
| 277 LPDIRECTDRAWSURFACE lpDDS; | |
| 278 LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; | |
| 279 } DUMMYUNIONNAME1; | |
| 280 union { | |
| 281 LPDIRECTDRAWSURFACE lpDDSZ; | |
| 282 LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; | |
| 283 } DUMMYUNIONNAME2; | |
| 284 HRESULT ddrval; | |
| 285 } D3DHAL_SETRENDERTARGETDATA; | |
| 286 | |
| 287 typedef struct _D3DHAL_DRAWPRIMITIVES2DATA { | |
| 288 ULONG_PTR dwhContext; | |
| 289 DWORD dwFlags; | |
| 290 DWORD dwVertexType; | |
| 291 LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands; | |
| 292 DWORD dwCommandOffset; | |
| 293 DWORD dwCommandLength; | |
| 294 union { | |
| 295 LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex; | |
| 296 LPVOID lpVertices; | |
| 297 } DUMMYUNIONNAME1; | |
| 298 DWORD dwVertexOffset; | |
| 299 DWORD dwVertexLength; | |
| 300 DWORD dwReqVertexBufSize; | |
| 301 DWORD dwReqCommandBufSize; | |
| 302 LPDWORD lpdwRStates; | |
| 303 union { | |
| 304 DWORD dwVertexSize; | |
| 305 HRESULT ddrval; | |
| 306 } DUMMYUNIONNAME2; | |
| 307 DWORD dwErrorOffset; | |
| 308 } D3DHAL_DRAWPRIMITIVES2DATA; | |
| 309 | |
| 310 #define D3DHALDP2_USERMEMVERTICES 0x00000001 | |
| 311 #define D3DHALDP2_EXECUTEBUFFER 0x00000002 | |
| 312 #define D3DHALDP2_SWAPVERTEXBUFFER 0x00000004 | |
| 313 #define D3DHALDP2_SWAPCOMMANDBUFFER 0x00000008 | |
| 314 #define D3DHALDP2_REQVERTEXBUFSIZE 0x00000010 | |
| 315 #define D3DHALDP2_REQCOMMANDBUFSIZE 0x00000020 | |
| 316 #define D3DHALDP2_VIDMEMVERTEXBUF 0x00000040 | |
| 317 #define D3DHALDP2_VIDMEMCOMMANDBUF 0x00000080 | |
| 318 | |
| 319 /***************************************************************************** | |
| 320 * DrawPrimitives2 command structures | |
| 321 */ | |
| 322 typedef struct _D3DHAL_DP2COMMAND { | |
| 323 BYTE bCommand; | |
| 324 BYTE bReserved; | |
| 325 union { | |
| 326 WORD wPrimitiveCount; | |
| 327 WORD wStateCount; | |
| 328 } DUMMYUNIONNAME; | |
| 329 } D3DHAL_DP2COMMAND,*LPD3DHAL_DP2COMMAND; | |
| 330 | |
| 331 typedef enum _D3DHAL_DP2OPERATION { | |
| 332 D3DDP2OP_POINTS = 1, | |
| 333 D3DDP2OP_INDEXEDLINELIST = 2, | |
| 334 D3DDP2OP_INDEXEDTRIANGLELIST = 3, | |
| 335 D3DDP2OP_RENDERSTATE = 8, | |
| 336 D3DDP2OP_LINELIST = 15, | |
| 337 D3DDP2OP_LINESTRIP = 16, | |
| 338 D3DDP2OP_INDEXEDLINESTRIP = 17, | |
| 339 D3DDP2OP_TRIANGLELIST = 18, | |
| 340 D3DDP2OP_TRIANGLESTRIP = 19, | |
| 341 D3DDP2OP_INDEXEDTRIANGLESTRIP = 20, | |
| 342 D3DDP2OP_TRIANGLEFAN = 21, | |
| 343 D3DDP2OP_INDEXEDTRIANGLEFAN = 22, | |
| 344 D3DDP2OP_TRIANGLEFAN_IMM = 23, | |
| 345 D3DDP2OP_LINELIST_IMM = 24, | |
| 346 D3DDP2OP_TEXTURESTAGESTATE = 25, | |
| 347 D3DDP2OP_INDEXEDTRIANGLELIST2 = 26, | |
| 348 D3DDP2OP_INDEXEDLINELIST2 = 27, | |
| 349 D3DDP2OP_VIEWPORTINFO = 28, | |
| 350 D3DDP2OP_WINFO = 29, | |
| 351 /* pre-DirectX 7 interfaces */ | |
| 352 D3DDP2OP_SETPALETTE = 30, | |
| 353 D3DDP2OP_UPDATEPALETTE = 31, | |
| 354 /* DirectX 7 interfaces */ | |
| 355 D3DDP2OP_ZRANGE = 32, | |
| 356 D3DDP2OP_SETMATERIAL = 33, | |
| 357 D3DDP2OP_SETLIGHT = 34, | |
| 358 D3DDP2OP_CREATELIGHT = 35, | |
| 359 D3DDP2OP_SETTRANSFORM = 36, | |
| 360 D3DDP2OP_TEXBLT = 38, | |
| 361 D3DDP2OP_STATESET = 39, | |
| 362 D3DDP2OP_SETPRIORITY = 40, | |
| 363 /* all interfaces */ | |
| 364 D3DDP2OP_SETRENDERTARGET = 41, | |
| 365 D3DDP2OP_CLEAR = 42, | |
| 366 /* DirectX 7 interfaces */ | |
| 367 D3DDP2OP_SETTEXLOD = 43, | |
| 368 D3DPP2OP_SETCLIPPLANE = 44, | |
| 369 #if(DIRECT3D_VERSION >= 0x0800) | |
| 370 D3DDP2OP_CREATEVERTEXSHADER = 45, | |
| 371 D3DDP2OP_DELETEVERTEXSHADER = 46, | |
| 372 D3DDP2OP_SETVERTEXSHADER = 47, | |
| 373 D3DDP2OP_SETVERTEXSHADERCONST = 48, | |
| 374 D3DDP2OP_SETSTREAMSOURCE = 49, | |
| 375 D3DDP2OP_SETSTREAMSOURCEUM = 50, | |
| 376 D3DDP2OP_SETINDICES = 51, | |
| 377 D3DDP2OP_DRAWPRIMITIVE = 52, | |
| 378 D3DDP2OP_DRAWINDEXEDPRIMITIVE = 53, | |
| 379 D3DDP2OP_CREATEPIXELSHADER = 54, | |
| 380 D3DDP2OP_DELETEPIXELSHADER = 55, | |
| 381 D3DDP2OP_SETPIXELSHADER = 56, | |
| 382 D3DDP2OP_SETPIXELSHADERCONST = 57, | |
| 383 D3DDP2OP_CLIPPEDTRIANGLEFAN = 58, | |
| 384 D3DDP2OP_DRAWPRIMITIVE2 = 59, | |
| 385 D3DDP2OP_DRAWINDEXEDPRIMITIVE2= 60, | |
| 386 D3DDP2OP_DRAWRECTPATCH = 61, | |
| 387 D3DDP2OP_DRAWTRIPATCH = 62, | |
| 388 D3DDP2OP_VOLUMEBLT = 63, | |
| 389 D3DDP2OP_BUFFERBLT = 64, | |
| 390 D3DDP2OP_MULTIPLYTRANSFORM = 65, | |
| 391 D3DDP2OP_ADDDIRTYRECT = 66, | |
| 392 D3DDP2OP_ADDDIRTYBOX = 67, | |
| 393 #endif | |
| 394 #if(DIRECT3D_VERSION >= 0x0900) | |
| 395 D3DDP2OP_CREATEVERTEXSHADERDECL = 71, | |
| 396 D3DDP2OP_DELETEVERTEXSHADERDECL = 72, | |
| 397 D3DDP2OP_SETVERTEXSHADERDECL = 73, | |
| 398 D3DDP2OP_CREATEVERTEXSHADERFUNC = 74, | |
| 399 D3DDP2OP_DELETEVERTEXSHADERFUNC = 75, | |
| 400 D3DDP2OP_SETVERTEXSHADERFUNC = 76, | |
| 401 D3DDP2OP_SETVERTEXSHADERCONSTI = 77, | |
| 402 D3DDP2OP_SETSCISSORRECT = 79, | |
| 403 D3DDP2OP_SETSTREAMSOURCE2 = 80, | |
| 404 D3DDP2OP_BLT = 81, | |
| 405 D3DDP2OP_COLORFILL = 82, | |
| 406 D3DDP2OP_SETVERTEXSHADERCONSTB = 83, | |
| 407 D3DDP2OP_CREATEQUERY = 84, | |
| 408 D3DDP2OP_SETRENDERTARGET2 = 85, | |
| 409 D3DDP2OP_SETDEPTHSTENCIL = 86, | |
| 410 D3DDP2OP_RESPONSECONTINUE = 87, | |
| 411 D3DDP2OP_RESPONSEQUERY = 88, | |
| 412 D3DDP2OP_GENERATEMIPSUBLEVELS = 89, | |
| 413 D3DDP2OP_DELETEQUERY = 90, | |
| 414 D3DDP2OP_ISSUEQUERY = 91, | |
| 415 D3DDP2OP_SETPIXELSHADERCONSTI = 93, | |
| 416 D3DDP2OP_SETPIXELSHADERCONSTB = 94, | |
| 417 D3DDP2OP_SETSTREAMSOURCEFREQ = 95, | |
| 418 D3DDP2OP_SURFACEBLT = 96 | |
| 419 #endif | |
| 420 } D3DHAL_DP2OPERATION; | |
| 421 | |
| 422 /* point primitives */ | |
| 423 | |
| 424 typedef struct _D3DHAL_POINTS { | |
| 425 WORD wCount; | |
| 426 WORD wVStart; | |
| 427 } D3DHAL_DP2POINTS,*LPD3DHAL_DP2POINTS; | |
| 428 | |
| 429 /* line primitives */ | |
| 430 | |
| 431 typedef struct _D3DHAL_DP2STARTVERTEX { | |
| 432 WORD wVStart; | |
| 433 } D3DHAL_DP2STARTVERTEX,*LPD3DHAL_DP2STARTVERTEX; | |
| 434 | |
| 435 typedef struct _D3DHAL_DP2LINELIST { | |
| 436 WORD wVStart; | |
| 437 } D3DHAL_DP2LINELIST,*LPD3DHAL_DP2LINELIST; | |
| 438 | |
| 439 typedef struct _D3DHAL_DP2INDEXEDLINELIST { | |
| 440 WORD wV1; | |
| 441 WORD wV2; | |
| 442 } D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST; | |
| 443 | |
| 444 typedef struct _D3DHAL_DP2LINESTRIP { | |
| 445 WORD wVStart; | |
| 446 } D3DHAL_DP2LINESTRIP,*LPD3DHAL_DP2LINESTRIP; | |
| 447 | |
| 448 typedef struct _D3DHAL_DP2INDEXEDLINESTRIP { | |
| 449 WORD wV[2]; | |
| 450 } D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP; | |
| 451 | |
| 452 /* triangle primitives */ | |
| 453 | |
| 454 typedef struct _D3DHAL_DP2TRIANGLELIST { | |
| 455 WORD wVStart; | |
| 456 } D3DHAL_DP2TRIANGLELIST,*LPD3DHAL_DP2TRIANGLELIST; | |
| 457 | |
| 458 typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST { | |
| 459 WORD wV1; | |
| 460 WORD wV2; | |
| 461 WORD wV3; | |
| 462 WORD wFlags; | |
| 463 } D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST; | |
| 464 | |
| 465 typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 { | |
| 466 WORD wV1; | |
| 467 WORD wV2; | |
| 468 WORD wV3; | |
| 469 } D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2; | |
| 470 | |
| 471 typedef struct _D3DHAL_DP2TRIANGLESTRIP { | |
| 472 WORD wVStart; | |
| 473 } D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP; | |
| 474 | |
| 475 typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP { | |
| 476 WORD wV[3]; | |
| 477 } D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP; | |
| 478 | |
| 479 typedef struct _D3DHAL_DP2TRIANGLEFAN { | |
| 480 WORD wVStart; | |
| 481 } D3DHAL_DP2TRIANGLEFAN,*LPD3DHAL_DP2TRIANGLEFAN; | |
| 482 | |
| 483 typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN { | |
| 484 WORD wV[3]; | |
| 485 } D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN; | |
| 486 | |
| 487 typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM { | |
| 488 DWORD dwEdgeFlags; | |
| 489 } D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM; | |
| 490 | |
| 491 /* render states */ | |
| 492 typedef struct _D3DHAL_DP2RENDERSTATE { | |
| 493 D3DRENDERSTATETYPE RenderState; | |
| 494 union { | |
| 495 D3DVALUE dvState; | |
| 496 DWORD dwState; | |
| 497 } DUMMYUNIONNAME; | |
| 498 } D3DHAL_DP2RENDERSTATE,*LPD3DHAL_DP2RENDERSTATE; | |
| 499 | |
| 500 typedef struct _D3DHAL_DP2TEXTURESTAGESTATE { | |
| 501 WORD wStage; | |
| 502 WORD TSState; | |
| 503 DWORD dwValue; | |
| 504 } D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE; | |
| 505 | |
| 506 #define D3DTSS_TEXTUREMAP 0 | |
| 507 | |
| 508 typedef struct _D3DHAL_DP2VIEWPORTINFO { | |
| 509 DWORD dwX; | |
| 510 DWORD dwY; | |
| 511 DWORD dwWidth; | |
| 512 DWORD dwHeight; | |
| 513 } D3DHAL_DP2VIEWPORTINFO,*LPD3DHAL_DP2VIEWPORTINFO; | |
| 514 | |
| 515 typedef struct _D3DHAL_DP2WINFO { | |
| 516 D3DVALUE dwWNear; | |
| 517 D3DVALUE dwWFar; | |
| 518 } D3DHAL_DP2WINFO,*LPD3DHAL_DP2WINFO; | |
| 519 | |
| 520 typedef struct _D3DHAL_DP2SETPALETTE { | |
| 521 DWORD dwPaletteHandle; | |
| 522 DWORD dwPaletteFlags; | |
| 523 DWORD dwSurfaceHandle; | |
| 524 } D3DHAL_DP2SETPALETTE,*LPD3DHAL_DP2SETPALETTE; | |
| 525 | |
| 526 typedef struct _D3DHAL_DP2UPDATEPALETTE { | |
| 527 DWORD dwPaletteHandle; | |
| 528 WORD wStartIndex; | |
| 529 WORD wNumEntries; | |
| 530 } D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE; | |
| 531 | |
| 532 typedef struct _D3DHAL_DP2ZRANGE { | |
| 533 D3DVALUE dvMinZ; | |
| 534 D3DVALUE dvMaxZ; | |
| 535 } D3DHAL_DP2ZRANGE,*LPD3DHAL_DP2ZRANGE; | |
| 536 | |
| 537 typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL; | |
| 538 | |
| 539 typedef struct _D3DHAL_DP2SETLIGHT { | |
| 540 DWORD dwIndex; | |
| 541 DWORD dwDataType; | |
| 542 } D3DHAL_DP2SETLIGHT,*LPD3DHAL_DP2SETLIGHT; | |
| 543 | |
| 544 #define D3DHAL_SETLIGHT_ENABLE 0 | |
| 545 #define D3DHAL_SETLIGHT_DISABLE 1 | |
| 546 #define D3DHAL_SETLIGHT_DATA 2 | |
| 547 | |
| 548 typedef struct _D3DHAL_DP2CREATELIGHT { | |
| 549 DWORD dwIndex; | |
| 550 } D3DHAL_DP2CREATELIGHT,*LPD3DHAL_DP2CREATELIGHT; | |
| 551 | |
| 552 typedef struct _D3DHAL_DP2SETTRANSFORM { | |
| 553 D3DTRANSFORMSTATETYPE xfrmType; | |
| 554 D3DMATRIX matrix; | |
| 555 } D3DHAL_DP2SETTRANSFORM,*LPD3DHAL_DP2SETTRANSFORM; | |
| 556 | |
| 557 typedef struct _D3DHAL_DP2TEXBLT { | |
| 558 DWORD dwDDDestSurface; | |
| 559 DWORD dwDDSrcSurface; | |
| 560 POINT pDest; | |
| 561 RECTL rSrc; | |
| 562 DWORD dwFlags; | |
| 563 } D3DHAL_DP2TEXBLT,*LPD3DHAL_DP2TEXBLT; | |
| 564 | |
| 565 typedef struct _D3DHAL_DP2STATESET { | |
| 566 DWORD dwOperation; | |
| 567 DWORD dwParam; | |
| 568 D3DSTATEBLOCKTYPE sbType; | |
| 569 } D3DHAL_DP2STATESET,*LPD3DHAL_DP2STATESET; | |
| 570 | |
| 571 #define D3DHAL_STATESETBEGIN 0 | |
| 572 #define D3DHAL_STATESETEND 1 | |
| 573 #define D3DHAL_STATESETDELETE 2 | |
| 574 #define D3DHAL_STATESETEXECUTE 3 | |
| 575 #define D3DHAL_STATESETCAPTURE 4 | |
| 576 | |
| 577 typedef struct _D3DHAL_DP2SETPRIORITY { | |
| 578 DWORD dwDDSurface; | |
| 579 DWORD dwPriority; | |
| 580 } D3DHAL_DP2SETPRIORITY,*LPD3DHAL_DP2SETPRIORITY; | |
| 581 | |
| 582 typedef struct _D3DHAL_DP2SETRENDERTARGET { | |
| 583 DWORD hRenderTarget; | |
| 584 DWORD hZBuffer; | |
| 585 } D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET; | |
| 586 | |
| 587 typedef struct _D3DHAL_DP2CLEAR { | |
| 588 DWORD dwFlags; | |
| 589 DWORD dwFillColor; | |
| 590 D3DVALUE dvFillDepth; | |
| 591 DWORD dwFillStencil; | |
| 592 RECT Rects[1]; | |
| 593 } D3DHAL_DP2CLEAR,*LPD3DHAL_DP2CLEAR; | |
| 594 | |
| 595 typedef struct _D3DHAL_DP2SETTEXLOD { | |
| 596 DWORD dwDDSurface; | |
| 597 DWORD dwLOD; | |
| 598 } D3DHAL_DP2SETTEXLOD,*LPD3DHAL_DP2SETTEXLOD; | |
| 599 | |
| 600 | |
| 601 #if (DIRECT3D_VERSION >= 0x0900) | |
| 602 | |
| 603 #define DX9_DDI_VERSION 4 | |
| 604 | |
| 605 #ifndef D3DVTXPCAPS_NO_VSDT_UBYTE4 | |
| 606 #define D3DVTXPCAPS_NO_VSDT_UBYTE4 0x00000080 | |
| 607 #endif | |
| 608 | |
| 609 #define D3DPMISCCAPS_LINEPATTERNREP 0x00000004 | |
| 610 | |
| 611 #define D3DDEVCAPS_HWVERTEXBUFFER 0x02000000 | |
| 612 #define D3DDEVCAPS_HWINDEXBUFFER 0x04000000 | |
| 613 #define D3DDEVCAPS_SUBVOLUMELOCK 0x08000000 | |
| 614 | |
| 615 #ifndef D3DPMISCCAPS_FOGINFVF | |
| 616 #define D3DPMISCCAPS_FOGINFVF 0x00002000 | |
| 617 #endif | |
| 618 | |
| 619 #ifndef D3DFVF_FOG | |
| 620 #define D3DFVF_FOG 0x00002000 | |
| 621 #endif | |
| 622 | |
| 623 typedef struct _DD_GETDRIVERINFO2DATA | |
| 624 { | |
| 625 DWORD dwReserved; | |
| 626 DWORD dwMagic; | |
| 627 DWORD dwType; | |
| 628 DWORD dwExpectedSize; | |
| 629 } DD_GETDRIVERINFO2DATA; | |
| 630 | |
| 631 /** | |
| 632 * A driver must check DD_GETDRIVERINFO2DATA.dwHeight for | |
| 633 * D3DGDI2_MAGIC to see if the passed GUID is GUID_GetDriverInfo2 | |
| 634 * or a GUID_DDStereoMode. | |
| 635 */ | |
| 636 #define GUID_GetDriverInfo2 GUID_DDStereoMode | |
| 637 | |
| 638 /** | |
| 639 * Magic number used in DD_GETDRIVERINFO2DATA.dwHeight when | |
| 640 * GUID_GetDriverInfo2/GUID_DDStereoMode is specified in a | |
| 641 * GetDriverInfo call. | |
| 642 */ | |
| 643 #define D3DGDI2_MAGIC 0xFFFFFFFF | |
| 644 | |
| 645 #define D3DGDI2_TYPE_GETD3DCAPS8 0x00000001 | |
| 646 #define D3DGDI2_TYPE_GETFORMATCOUNT 0x00000002 | |
| 647 #define D3DGDI2_TYPE_GETFORMAT 0x00000003 | |
| 648 #define D3DGDI2_TYPE_DXVERSION 0x00000004 /* Make driver aware of currently used DirectX version */ | |
| 649 #define D3DGDI2_TYPE_GETD3DCAPS9 0x00000010 | |
| 650 #define D3DGDI2_TYPE_GETEXTENDEDMODECOUNT 0x00000011 | |
| 651 #define D3DGDI2_TYPE_GETEXTENDEDMODE 0x00000012 | |
| 652 #define D3DGDI2_TYPE_GETADAPTERGROUP 0x00000013 | |
| 653 #define D3DGDI2_TYPE_GETMULTISAMPLEQUALITYLEVELS 0x00000016 | |
| 654 #define D3DGDI2_TYPE_DEFERRED_AGP_AWARE 0x00000018 | |
| 655 #define D3DGDI2_TYPE_FREE_DEFERRED_AGP 0x00000019 | |
| 656 #define D3DGDI2_TYPE_DEFER_AGP_FREES 0x00000020 | |
| 657 #define D3DGDI2_TYPE_GETD3DQUERYCOUNT 0x00000021 | |
| 658 #define D3DGDI2_TYPE_GETD3DQUERY 0x00000022 | |
| 659 #define D3DGDI2_TYPE_GETDDIVERSION 0x00000023 /* Returns DX9_DDI_VERSION, used to check which DDK version the driver is compiled against */ | |
| 660 | |
| 661 typedef struct _D3DCAPS8 | |
| 662 { | |
| 663 D3DDEVTYPE DeviceType; | |
| 664 UINT AdapterOrdinal; | |
| 665 DWORD Caps; | |
| 666 DWORD Caps2; | |
| 667 DWORD Caps3; | |
| 668 DWORD PresentationIntervals; | |
| 669 DWORD CursorCaps; | |
| 670 DWORD DevCaps; | |
| 671 DWORD PrimitiveMiscCaps; | |
| 672 DWORD RasterCaps; | |
| 673 DWORD ZCmpCaps; | |
| 674 DWORD SrcBlendCaps; | |
| 675 DWORD DestBlendCaps; | |
| 676 DWORD AlphaCmpCaps; | |
| 677 DWORD ShadeCaps; | |
| 678 DWORD TextureCaps; | |
| 679 DWORD TextureFilterCaps; | |
| 680 DWORD CubeTextureFilterCaps; | |
| 681 DWORD VolumeTextureFilterCaps; | |
| 682 DWORD TextureAddressCaps; | |
| 683 DWORD VolumeTextureAddressCaps; | |
| 684 DWORD LineCaps; | |
| 685 DWORD MaxTextureWidth; | |
| 686 DWORD MaxTextureHeight; | |
| 687 DWORD MaxVolumeExtent; | |
| 688 DWORD MaxTextureRepeat; | |
| 689 DWORD MaxTextureAspectRatio; | |
| 690 DWORD MaxAnisotropy; | |
| 691 float MaxVertexW; | |
| 692 float GuardBandLeft; | |
| 693 float GuardBandTop; | |
| 694 float GuardBandRight; | |
| 695 float GuardBandBottom; | |
| 696 float ExtentsAdjust; | |
| 697 DWORD StencilCaps; | |
| 698 DWORD FVFCaps; | |
| 699 DWORD TextureOpCaps; | |
| 700 DWORD MaxTextureBlendStages; | |
| 701 DWORD MaxSimultaneousTextures; | |
| 702 DWORD VertexProcessingCaps; | |
| 703 DWORD MaxActiveLights; | |
| 704 DWORD MaxUserClipPlanes; | |
| 705 DWORD MaxVertexBlendMatrices; | |
| 706 DWORD MaxVertexBlendMatrixIndex; | |
| 707 float MaxPointSize; | |
| 708 DWORD MaxPrimitiveCount; | |
| 709 DWORD MaxVertexIndex; | |
| 710 DWORD MaxStreams; | |
| 711 DWORD MaxStreamStride; | |
| 712 DWORD VertexShaderVersion; | |
| 713 DWORD MaxVertexShaderConst; | |
| 714 DWORD PixelShaderVersion; | |
| 715 float MaxPixelShaderValue; | |
| 716 } D3DCAPS8; | |
| 717 | |
| 718 typedef struct _DD_GETFORMATCOUNTDATA | |
| 719 { | |
| 720 DD_GETDRIVERINFO2DATA gdi2; | |
| 721 DWORD dwFormatCount; | |
| 722 DWORD dwReserved; | |
| 723 } DD_GETFORMATCOUNTDATA; | |
| 724 | |
| 725 typedef struct _DD_GETFORMATDATA | |
| 726 { | |
| 727 DD_GETDRIVERINFO2DATA gdi2; | |
| 728 DWORD dwFormatIndex; | |
| 729 DDPIXELFORMAT format; | |
| 730 } DD_GETFORMATDATA; | |
| 731 | |
| 732 typedef struct _DD_DXVERSION | |
| 733 { | |
| 734 DD_GETDRIVERINFO2DATA gdi2; | |
| 735 DWORD dwDXVersion; | |
| 736 DWORD dwReserved; | |
| 737 } DD_DXVERSION; | |
| 738 | |
| 739 typedef struct _DD_DEFERRED_AGP_AWARE_DATA | |
| 740 { | |
| 741 DD_GETDRIVERINFO2DATA gdi2; | |
| 742 } DD_DEFERRED_AGP_AWARE_DATA; | |
| 743 | |
| 744 typedef struct _DD_FREE_DEFERRED_AGP_DATA | |
| 745 { | |
| 746 DD_GETDRIVERINFO2DATA gdi2; | |
| 747 DWORD dwProcessId; | |
| 748 } DD_FREE_DEFERRED_AGP_DATA; | |
| 749 | |
| 750 typedef struct _DD_GETEXTENDEDMODECOUNTDATA | |
| 751 { | |
| 752 DD_GETDRIVERINFO2DATA gdi2; | |
| 753 DWORD dwModeCount; | |
| 754 DWORD dwReserved; | |
| 755 } DD_GETEXTENDEDMODECOUNTDATA; | |
| 756 | |
| 757 typedef struct _DD_GETEXTENDEDMODEDATA | |
| 758 { | |
| 759 DD_GETDRIVERINFO2DATA gdi2; | |
| 760 DWORD dwModeIndex; | |
| 761 D3DDISPLAYMODE mode; | |
| 762 } DD_GETEXTENDEDMODEDATA; | |
| 763 | |
| 764 typedef struct _DD_GETADAPTERGROUPDATA | |
| 765 { | |
| 766 DD_GETDRIVERINFO2DATA gdi2; | |
| 767 ULONG_PTR ulUniqueAdapterGroupId; | |
| 768 DWORD dwReserved1; | |
| 769 DWORD dwReserved2; | |
| 770 } DD_GETADAPTERGROUPDATA; | |
| 771 | |
| 772 typedef struct _DD_MULTISAMPLEQUALITYLEVELSDATA | |
| 773 { | |
| 774 DD_GETDRIVERINFO2DATA gdi2; | |
| 775 D3DFORMAT Format; | |
| 776 BOOL bFlip : 1; | |
| 777 D3DMULTISAMPLE_TYPE MSType : 31; | |
| 778 DWORD QualityLevels; | |
| 779 } DD_MULTISAMPLEQUALITYLEVELSDATA; | |
| 780 | |
| 781 typedef struct _DD_GETD3DQUERYCOUNTDATA | |
| 782 { | |
| 783 DD_GETDRIVERINFO2DATA gdi2; | |
| 784 DWORD dwNumQueries; | |
| 785 } DD_GETD3DQUERYCOUNTDATA; | |
| 786 | |
| 787 typedef struct _DD_GETD3DQUERYDATA | |
| 788 { | |
| 789 DD_GETDRIVERINFO2DATA gdi2; | |
| 790 union | |
| 791 { | |
| 792 DWORD dwQueryIndex; | |
| 793 D3DQUERYTYPE QueryType; | |
| 794 }; | |
| 795 } DD_GETD3DQUERYDATA; | |
| 796 | |
| 797 typedef struct _DD_GETDDIVERSIONDATA | |
| 798 { | |
| 799 DD_GETDRIVERINFO2DATA gdi2; | |
| 800 DWORD dwDXVersion; | |
| 801 DWORD dwDDIVersion; | |
| 802 } DD_GETDDIVERSIONDATA; | |
| 803 | |
| 804 #endif /* (DIRECT3D_VERSION >= 0x0900) */ | |
| 805 | |
| 806 #ifdef __cplusplus | |
| 807 } /* extern "C" */ | |
| 808 #endif | |
| 809 | |
| 810 #endif /* _D3DHAL_H_ */ |
