2 * Direct3D NT driver interface
5 #ifndef __DDK_D3DNTHAL_H
6 #define __DDK_D3DNTHAL_H
16 DEFINE_GUID(GUID_D3DCallbacks
, 0x7BF06990, 0x8794, 0x11D0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xD2, 0xEF, 0x02);
17 DEFINE_GUID(GUID_D3DCallbacks3
, 0xDDF41230, 0xEC0A, 0x11D0, 0xA9, 0xB6, 0x00, 0xAA, 0x00, 0xC0, 0x99, 0x3E);
18 DEFINE_GUID(GUID_D3DExtendedCaps
, 0x7DE41F80, 0x9D93, 0x11D0, 0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29);
19 DEFINE_GUID(GUID_D3DParseUnknownCommandCallback
, 0x2E04FFA0, 0x98E4, 0x11D1, 0x8C, 0xE1, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8);
20 DEFINE_GUID(GUID_ZPixelFormats
, 0x93869880, 0x36CF, 0x11D1, 0x9B, 0x1B, 0x00, 0xAA, 0x00, 0xBB, 0xB8, 0xAE);
21 DEFINE_GUID(GUID_DDStereoMode
, 0xF828169C, 0xA8E8, 0x11D2, 0xA1, 0xF2, 0x00, 0xA0, 0xC9, 0x83, 0xEA, 0xF6);
23 typedef struct _D3DNTHAL_CONTEXTCREATEDATA
27 PDD_DIRECTDRAW_GLOBAL lpDDGbl
;
28 PDD_DIRECTDRAW_LOCAL lpDDLcl
;
32 PDD_SURFACE_LOCAL lpDDS
;
33 PDD_SURFACE_LOCAL lpDDSLcl
;
37 PDD_SURFACE_LOCAL lpDDSZ
;
38 PDD_SURFACE_LOCAL lpDDSZLcl
;
43 } D3DNTHAL_CONTEXTCREATEDATA
, *LPD3DNTHAL_CONTEXTCREATEDATA
;
45 typedef struct _D3DNTHAL_CONTEXTDESTROYDATA
49 } D3DNTHAL_CONTEXTDESTROYDATA
, *LPD3DNTHAL_CONTEXTDESTROYDATA
;
51 typedef struct _D3DNTHAL_CONTEXTDESTROYALLDATA
55 } D3DNTHAL_CONTEXTDESTROYALLDATA
, *LPD3DNTHAL_CONTEXTDESTROYALLDATA
;
57 typedef struct _D3DNTHAL_SCENECAPTUREDATA
62 } D3DNTHAL_SCENECAPTUREDATA
, *LPD3DNTHAL_SCENECAPTUREDATA
;
64 typedef struct _D3DNTHAL_TEXTURECREATEDATA
70 } D3DNTHAL_TEXTURECREATEDATA
, *LPD3DNTHAL_TEXTURECREATEDATA
;
72 typedef struct _D3DNTHAL_TEXTUREDESTROYDATA
77 } D3DNTHAL_TEXTUREDESTROYDATA
, *LPD3DNTHAL_TEXTUREDESTROYDATA
;
79 typedef struct _D3DNTHAL_TEXTURESWAPDATA
85 } D3DNTHAL_TEXTURESWAPDATA
, *LPD3DNTHAL_TEXTURESWAPDATA
;
87 typedef struct _D3DNTHAL_TEXTUREGETSURFDATA
93 } D3DNTHAL_TEXTUREGETSURFDATA
, *LPD3DNTHAL_TEXTUREGETSURFDATA
;
95 typedef DWORD (APIENTRY
*LPD3DNTHAL_CONTEXTCREATECB
)(LPD3DNTHAL_CONTEXTCREATEDATA
);
96 typedef DWORD (APIENTRY
*LPD3DNTHAL_CONTEXTDESTROYCB
)(LPD3DNTHAL_CONTEXTDESTROYDATA
);
97 typedef DWORD (APIENTRY
*LPD3DNTHAL_CONTEXTDESTROYALLCB
)(LPD3DNTHAL_CONTEXTDESTROYALLDATA
);
98 typedef DWORD (APIENTRY
*LPD3DNTHAL_SCENECAPTURECB
)(LPD3DNTHAL_SCENECAPTUREDATA
);
99 typedef DWORD (APIENTRY
*LPD3DNTHAL_TEXTURECREATECB
)(LPD3DNTHAL_TEXTURECREATEDATA
);
100 typedef DWORD (APIENTRY
*LPD3DNTHAL_TEXTUREDESTROYCB
)(LPD3DNTHAL_TEXTUREDESTROYDATA
);
101 typedef DWORD (APIENTRY
*LPD3DNTHAL_TEXTURESWAPCB
)(LPD3DNTHAL_TEXTURESWAPDATA
);
102 typedef DWORD (APIENTRY
*LPD3DNTHAL_TEXTUREGETSURFCB
)(LPD3DNTHAL_TEXTUREGETSURFDATA
);
104 typedef struct _D3DNTHALDeviceDesc_V1
108 D3DCOLORMODEL dcmColorModel
;
110 D3DTRANSFORMCAPS dtcTransformCaps
;
112 D3DLIGHTINGCAPS dlcLightingCaps
;
113 D3DPRIMCAPS dpcLineCaps
;
114 D3DPRIMCAPS dpcTriCaps
;
115 DWORD dwDeviceRenderBitDepth
;
116 DWORD dwDeviceZBufferBitDepth
;
117 DWORD dwMaxBufferSize
;
118 DWORD dwMaxVertexCount
;
119 } D3DNTHALDEVICEDESC_V1
, *LPD3DNTHALDEVICEDESC_V1
;
121 typedef struct _D3DNTHAL_GLOBALDRIVERDATA
124 D3DNTHALDEVICEDESC_V1 hwCaps
;
126 DWORD dwNumClipVertices
;
127 DWORD dwNumTextureFormats
;
128 LPDDSURFACEDESC lpTextureFormats
;
129 } D3DNTHAL_GLOBALDRIVERDATA
, *LPD3DNTHAL_GLOBALDRIVERDATA
;
131 typedef struct _D3DNTHAL_CALLBACKS
134 LPD3DNTHAL_CONTEXTCREATECB ContextCreate
;
135 LPD3DNTHAL_CONTEXTDESTROYCB ContextDestroy
;
136 LPD3DNTHAL_CONTEXTDESTROYALLCB ContextDestroyAll
;
137 LPD3DNTHAL_SCENECAPTURECB SceneCapture
;
142 ULONG_PTR dwReserved
;
143 LPD3DNTHAL_TEXTURECREATECB TextureCreate
;
144 LPD3DNTHAL_TEXTUREDESTROYCB TextureDestroy
;
145 LPD3DNTHAL_TEXTURESWAPCB TextureSwap
;
146 LPD3DNTHAL_TEXTUREGETSURFCB TextureGetSurf
;
158 ULONG_PTR dwReserved0
;
159 ULONG_PTR dwReserved1
;
160 ULONG_PTR dwReserved2
;
161 ULONG_PTR dwReserved3
;
162 ULONG_PTR dwReserved4
;
163 ULONG_PTR dwReserved5
;
164 ULONG_PTR dwReserved6
;
165 ULONG_PTR dwReserved7
;
166 ULONG_PTR dwReserved8
;
167 ULONG_PTR dwReserved9
;
168 } D3DNTHAL_CALLBACKS
, *LPD3DNTHAL_CALLBACKS
;
170 typedef struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
172 ULONG_PTR dwhContext
;
174 ULONG_PTR dwReserved
;
177 } D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
, FAR
*LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
;
179 typedef struct _D3DNTHAL_DRAWPRIMITIVES2DATA
181 ULONG_PTR dwhContext
;
184 PDD_SURFACE_LOCAL lpDDCommands
;
185 DWORD dwCommandOffset
;
186 DWORD dwCommandLength
;
189 PDD_SURFACE_LOCAL lpDDVertex
;
192 DWORD dwVertexOffset
;
193 DWORD dwVertexLength
;
194 DWORD dwReqVertexBufSize
;
195 DWORD dwReqCommandBufSize
;
203 } D3DNTHAL_DRAWPRIMITIVES2DATA
, FAR
*LPD3DNTHAL_DRAWPRIMITIVES2DATA
;
209 #endif /* __DDK_D3DNTHAL_H */