2 * Direct3D NT driver interface
5 #ifndef __DDK_D3DNTHAL_H
6 #define __DDK_D3DNTHAL_H
8 #include <ddk/ddrawint.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
*PD3DNTHAL_CONTEXTCREATEDATA
;
24 typedef struct _D3DNTHAL_CONTEXTDESTROYDATA
*PD3DNTHAL_CONTEXTDESTROYDATA
;
25 typedef struct _D3DNTHAL_DRAWPRIMITIVES2DATA
*PD3DNTHAL_DRAWPRIMITIVES2DATA
;
26 typedef struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
*PD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
;
28 /* DIRECT3D object callbacks */
29 typedef DWORD (STDCALL
*PD3DNTHAL_CONTEXTCREATECB
)(PD3DNTHAL_CONTEXTCREATEDATA
);
30 typedef DWORD (STDCALL
*PD3DNTHAL_CONTEXTDESTROYCB
)(PD3DNTHAL_CONTEXTDESTROYDATA
);
32 typedef struct _D3DNTHAL_CALLBACKS
{
34 PD3DNTHAL_CONTEXTCREATECB ContextCreate
;
35 PD3DNTHAL_CONTEXTDESTROYCB ContextDestroy
;
38 typedef D3DNTHAL_CALLBACKS
*PD3DNTHAL_CALLBACKS
;
40 /* Structures to report driver capabilities */
42 typedef struct _D3DNTHAL_DEVICEDESC
{
45 D3DCOLORMODEL dcmColorModel
;
47 D3DTRANSFORMCAPS dtcTransformCaps
;
49 D3DLIGHTINGCAPS dlcLightingCaps
;
50 D3DPRIMCAPS dpcLineCaps
;
51 D3DPRIMCAPS dpcTriCaps
;
52 DWORD dwDeviceRenderBitDepth
;
53 DWORD dwDeviceZBufferBitDepth
;
54 DWORD dwMaxBufferSize
;
55 DWORD dwMaxVertexCount
;
56 } D3DNTHAL_DEVICEDESC
, *PD3DNT_HALDEVICEDESC
;
58 typedef struct _D3DNTHAL_GLOBALDRIVERDATA
{
60 D3DNTHAL_DEVICEDESC hwCaps
;
62 DWORD dwNumClipVertices
;
63 DWORD dwNumTextureFormats
;
64 LPDDSURFACEDESC lpTextureFormats
;
65 } D3DNTHAL_GLOBALDRIVERDATA
, *PD3DNTHAL_GLOBALDRIVERDATA
;
72 #endif /* __DDK_D3DNTHAL_H */