~steve-sk2/mingw-w64/oneiric

« back to all changes in this revision

Viewing changes to mingw-w64-headers/ddk/include/ddk/d3dhal.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Kitt
  • Date: 2010-11-18 00:04:46 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101118000446-xe24b423su55onyl
Tags: 1.0+20101003-1
* New maintainer. (Closes: #594371.)
* New upstream snapshot:
  - Includes getopt.h. (Closes: #569914.)
* Build g++ for Win64. (Closes: #600451.)
* Standards-Version 3.9.1 (new packaging).
* Include patch from
  http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=3715
  as suggested by Rafaël Carré.

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
 * device info structures
53
53
 */
54
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;
 
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
69
 
70
70
/* this is to allow keeping the bulk of our OpenGL code out of x11drv */
71
71
#define D3DDD_WINE_OPENGL_DEVICE 0x00008000
72
72
 
73
73
typedef struct _D3DHAL_GLOBALDRIVERDATA {
74
 
  DWORD                 dwSize;
75
 
  D3DDEVICEDESC_V1      hwCaps;
76
 
  DWORD                 dwNumVertices;
77
 
  DWORD                 dwNumClipVertices;
78
 
  DWORD                 dwNumTextureFormats;
79
 
  LPDDSURFACEDESC       lpTextureFormats;
 
74
  DWORD dwSize;
 
75
  D3DDEVICEDESC_V1 hwCaps;
 
76
  DWORD dwNumVertices;
 
77
  DWORD dwNumClipVertices;
 
78
  DWORD dwNumTextureFormats;
 
79
  LPDDSURFACEDESC lpTextureFormats;
80
80
} D3DHAL_GLOBALDRIVERDATA;
81
81
 
82
82
#ifndef D3DHAL_GLOBALDRIVERDATA_DEFINED
85
85
#endif
86
86
 
87
87
typedef struct _D3DHAL_D3DEXTENDEDCAPS {
88
 
  DWORD                 dwSize;
 
88
  DWORD dwSize;
89
89
  /* DirectX 5 */
90
 
  DWORD                 dwMinTextureWidth, dwMaxTextureWidth;
91
 
  DWORD                 dwMinTextureHeight, dwMaxTextureHeight;
92
 
  DWORD                 dwMinStippleWidth, dwMaxStippleWidth;
93
 
  DWORD                 dwMinStippleHeight, dwMaxStippleHeight;
 
90
  DWORD dwMinTextureWidth, dwMaxTextureWidth;
 
91
  DWORD dwMinTextureHeight, dwMaxTextureHeight;
 
92
  DWORD dwMinStippleWidth, dwMaxStippleWidth;
 
93
  DWORD dwMinStippleHeight, dwMaxStippleHeight;
94
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;
 
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
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;
 
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
119
 
120
120
/*****************************************************************************
121
121
 * d3d->driver callbacks
122
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;
 
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
134
 
135
135
typedef DWORD (PASCAL *LPD3DHAL_CONTEXTCREATECB)    (LPD3DHAL_CONTEXTCREATEDATA);
136
136
typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYCB)   (LPD3DHAL_CONTEXTDESTROYDATA);
137
137
typedef DWORD (PASCAL *LPD3DHAL_CONTEXTDESTROYALLCB)(LPD3DHAL_CONTEXTDESTROYALLDATA);
138
 
typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB)     (LPD3DHAL_SCENECAPTUREDATA);
139
 
typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB)      (LPD3DHAL_RENDERSTATEDATA);
 
138
typedef DWORD (PASCAL *LPD3DHAL_SCENECAPTURECB)     (LPD3DHAL_SCENECAPTUREDATA);
 
139
typedef DWORD (PASCAL *LPD3DHAL_RENDERSTATECB)      (LPD3DHAL_RENDERSTATEDATA);
140
140
typedef DWORD (PASCAL *LPD3DHAL_RENDERPRIMITIVECB)  (LPD3DHAL_RENDERPRIMITIVEDATA);
141
141
typedef DWORD (PASCAL *LPD3DHAL_TEXTURECREATECB)    (LPD3DHAL_TEXTURECREATEDATA);
142
142
typedef DWORD (PASCAL *LPD3DHAL_TEXTUREDESTROYCB)   (LPD3DHAL_TEXTUREDESTROYDATA);
143
 
typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB)      (LPD3DHAL_TEXTURESWAPDATA);
 
143
typedef DWORD (PASCAL *LPD3DHAL_TEXTURESWAPCB)      (LPD3DHAL_TEXTURESWAPDATA);
144
144
typedef DWORD (PASCAL *LPD3DHAL_TEXTUREGETSURFCB)   (LPD3DHAL_TEXTUREGETSURFDATA);
145
 
typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB)         (LPD3DHAL_GETSTATEDATA);
 
145
typedef DWORD (PASCAL *LPD3DHAL_GETSTATECB)         (LPD3DHAL_GETSTATEDATA);
146
146
 
147
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;
 
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
162
  /* now why did MS create CALLBACKS2 and CALLBACKS3 structures if
163
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;
 
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
185
} D3DHAL_CALLBACKS;
186
186
 
187
187
#ifndef D3DHAL_CALLBACKS_DEFINED
189
189
#define D3DHAL_CALLBACKS_DEFINED
190
190
#endif
191
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;
 
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
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);
 
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
201
typedef DWORD (PASCAL *LPD3DHAL_DRAWONEINDEXEDPRIMITIVECB)(LPD3DHAL_DRAWONEINDEXEDPRIMITIVEDATA);
202
 
typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB)         (LPD3DHAL_DRAWPRIMITIVESDATA);
 
202
typedef DWORD (PASCAL *LPD3DHAL_DRAWPRIMITIVESCB)         (LPD3DHAL_DRAWPRIMITIVESDATA);
203
203
 
204
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);
 
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
221
 
222
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;
 
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
230
 
231
231
/*****************************************************************************
232
232
 * parameter structures
233
233
 */
234
234
typedef struct _D3DHAL_CONTEXTCREATEDATA {
235
 
  union {
236
 
    LPDDRAWI_DIRECTDRAW_GBL     lpDDGbl; /* pre-DirectX 7 */
237
 
    LPDDRAWI_DIRECTDRAW_LCL     lpDDLcl; /* DirectX 7 */
 
235
  _ANONYMOUS_UNION union {
 
236
    LPDDRAWI_DIRECTDRAW_GBL lpDDGbl; /* pre-DirectX 7 */
 
237
    LPDDRAWI_DIRECTDRAW_LCL lpDDLcl; /* DirectX 7 */
238
238
  } DUMMYUNIONNAME1;
239
 
  union {
240
 
    LPDIRECTDRAWSURFACE         lpDDS;
241
 
    LPDDRAWI_DDRAWSURFACE_LCL   lpDDSLcl; /* DirectX 7 */
 
239
  _ANONYMOUS_UNION union {
 
240
    LPDIRECTDRAWSURFACE lpDDS;
 
241
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl; /* DirectX 7 */
242
242
  } DUMMYUNIONNAME2;
243
 
  union {
244
 
    LPDIRECTDRAWSURFACE         lpDDSZ;
245
 
    LPDDRAWI_DDRAWSURFACE_LCL   lpDDSZLcl; /* DirectX 7 */
 
243
  _ANONYMOUS_UNION union {
 
244
    LPDIRECTDRAWSURFACE lpDDSZ;
 
245
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl; /* DirectX 7 */
246
246
  } DUMMYUNIONNAME3;
247
 
  union {
248
 
    DWORD                       dwPID;
249
 
    ULONG_PTR                   dwrstates;
 
247
  _ANONYMOUS_UNION union {
 
248
    DWORD dwPID;
 
249
    ULONG_PTR dwrstates;
250
250
  } DUMMYUNIONNAME4;
251
 
  ULONG_PTR                     dwhContext;
252
 
  HRESULT                       ddrval;
 
251
  ULONG_PTR dwhContext;
 
252
  HRESULT ddrval;
253
253
} D3DHAL_CONTEXTCREATEDATA;
254
254
 
255
255
typedef struct _D3DHAL_CONTEXTDESTROYDATA {
256
 
  ULONG_PTR                     dwhContext;
257
 
  HRESULT                       ddrval;
 
256
  ULONG_PTR dwhContext;
 
257
  HRESULT ddrval;
258
258
} D3DHAL_CONTEXTDESTROYDATA;
259
259
 
260
260
typedef struct _D3DHAL_CONTEXTDESTROYALLDATA {
261
 
  DWORD                         dwPID;
262
 
  HRESULT                       ddrval;
 
261
  DWORD dwPID;
 
262
  HRESULT ddrval;
263
263
} D3DHAL_CONTEXTDESTROYALLDATA;
264
264
 
265
265
typedef struct _D3DHAL_SCENECAPTUREDATA {
266
 
  ULONG_PTR                     dwhContext;
267
 
  DWORD                         dwFlag;
268
 
  HRESULT                       ddrval;
 
266
  ULONG_PTR dwhContext;
 
267
  DWORD dwFlag;
 
268
  HRESULT ddrval;
269
269
} D3DHAL_SCENECAPTUREDATA;
270
270
 
271
 
#define D3DHAL_SCENE_CAPTURE_START      0x00000000
272
 
#define D3DHAL_SCENE_CAPTURE_END        0x00000001
 
271
#define D3DHAL_SCENE_CAPTURE_START 0x00000000
 
272
#define D3DHAL_SCENE_CAPTURE_END   0x00000001
273
273
 
274
274
typedef struct _D3DHAL_SETRENDERTARGETDATA {
275
 
  ULONG_PTR                     dwhContext;
276
 
  union {
277
 
    LPDIRECTDRAWSURFACE         lpDDS;
278
 
    LPDDRAWI_DDRAWSURFACE_LCL   lpDDSLcl;
 
275
  ULONG_PTR dwhContext;
 
276
  _ANONYMOUS_UNION union {
 
277
    LPDIRECTDRAWSURFACE lpDDS;
 
278
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
279
279
  } DUMMYUNIONNAME1;
280
 
  union {
281
 
    LPDIRECTDRAWSURFACE         lpDDSZ;
282
 
    LPDDRAWI_DDRAWSURFACE_LCL   lpDDSZLcl;
 
280
  _ANONYMOUS_UNION union {
 
281
    LPDIRECTDRAWSURFACE lpDDSZ;
 
282
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
283
283
  } DUMMYUNIONNAME2;
284
 
  HRESULT                       ddrval;
 
284
  HRESULT ddrval;
285
285
} D3DHAL_SETRENDERTARGETDATA;
286
286
 
287
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;
 
288
  ULONG_PTR dwhContext;
 
289
  DWORD dwFlags;
 
290
  DWORD dwVertexType;
 
291
  LPDDRAWI_DDRAWSURFACE_LCL lpDDCommands;
 
292
  DWORD dwCommandOffset;
 
293
  DWORD dwCommandLength;
 
294
  _ANONYMOUS_UNION union {
 
295
    LPDDRAWI_DDRAWSURFACE_LCL lpDDVertex;
 
296
    LPVOID lpVertices;
297
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;
 
298
  DWORD dwVertexOffset;
 
299
  DWORD dwVertexLength;
 
300
  DWORD dwReqVertexBufSize;
 
301
  DWORD dwReqCommandBufSize;
 
302
  LPDWORD lpdwRStates;
 
303
  _ANONYMOUS_UNION union {
 
304
    DWORD dwVertexSize;
 
305
    HRESULT ddrval;
306
306
  } DUMMYUNIONNAME2;
307
 
  DWORD                         dwErrorOffset;
 
307
  DWORD dwErrorOffset;
308
308
} D3DHAL_DRAWPRIMITIVES2DATA;
309
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
 
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
318
 
319
319
/*****************************************************************************
320
320
 * DrawPrimitives2 command structures
322
322
typedef struct _D3DHAL_DP2COMMAND {
323
323
  BYTE bCommand;
324
324
  BYTE bReserved;
325
 
  union {
 
325
  _ANONYMOUS_UNION union {
326
326
    WORD wPrimitiveCount;
327
327
    WORD wStateCount;
328
328
  } DUMMYUNIONNAME;
329
 
} D3DHAL_DP2COMMAND,*LPD3DHAL_DP2COMMAND;
 
329
} D3DHAL_DP2COMMAND, *LPD3DHAL_DP2COMMAND;
330
330
 
331
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,
 
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
351
  /* pre-DirectX 7 interfaces */
352
 
  D3DDP2OP_SETPALETTE           = 30,
353
 
  D3DDP2OP_UPDATEPALETTE        = 31,
 
352
  D3DDP2OP_SETPALETTE = 30,
 
353
  D3DDP2OP_UPDATEPALETTE = 31,
354
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,
 
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
363
  /* all interfaces */
364
 
  D3DDP2OP_SETRENDERTARGET      = 41,
365
 
  D3DDP2OP_CLEAR                = 42,
 
364
  D3DDP2OP_SETRENDERTARGET = 41,
 
365
  D3DDP2OP_CLEAR = 42,
366
366
  /* DirectX 7 interfaces */
367
 
  D3DDP2OP_SETTEXLOD            = 43,
368
 
  D3DPP2OP_SETCLIPPLANE         = 44,
 
367
  D3DDP2OP_SETTEXLOD = 43,
 
368
  D3DPP2OP_SETCLIPPLANE = 44,
369
369
#if(DIRECT3D_VERSION >= 0x0800)
370
370
  D3DDP2OP_CREATEVERTEXSHADER   = 45,
371
371
  D3DDP2OP_DELETEVERTEXSHADER   = 46,
424
424
typedef struct _D3DHAL_POINTS {
425
425
  WORD wCount;
426
426
  WORD wVStart;
427
 
} D3DHAL_DP2POINTS,*LPD3DHAL_DP2POINTS;
 
427
} D3DHAL_DP2POINTS, *LPD3DHAL_DP2POINTS;
428
428
 
429
429
/* line primitives */
430
430
 
431
431
typedef struct _D3DHAL_DP2STARTVERTEX {
432
432
  WORD wVStart;
433
 
} D3DHAL_DP2STARTVERTEX,*LPD3DHAL_DP2STARTVERTEX;
 
433
} D3DHAL_DP2STARTVERTEX, *LPD3DHAL_DP2STARTVERTEX;
434
434
 
435
435
typedef struct _D3DHAL_DP2LINELIST {
436
436
  WORD wVStart;
437
 
} D3DHAL_DP2LINELIST,*LPD3DHAL_DP2LINELIST;
 
437
} D3DHAL_DP2LINELIST, *LPD3DHAL_DP2LINELIST;
438
438
 
439
439
typedef struct _D3DHAL_DP2INDEXEDLINELIST {
440
440
  WORD wV1;
441
441
  WORD wV2;
442
 
} D3DHAL_DP2INDEXEDLINELIST,*LPD3DHAL_DP2INDEXEDLINELIST;
 
442
} D3DHAL_DP2INDEXEDLINELIST, *LPD3DHAL_DP2INDEXEDLINELIST;
443
443
 
444
444
typedef struct _D3DHAL_DP2LINESTRIP {
445
445
  WORD wVStart;
446
 
} D3DHAL_DP2LINESTRIP,*LPD3DHAL_DP2LINESTRIP;
 
446
} D3DHAL_DP2LINESTRIP, *LPD3DHAL_DP2LINESTRIP;
447
447
 
448
448
typedef struct _D3DHAL_DP2INDEXEDLINESTRIP {
449
449
  WORD wV[2];
450
 
} D3DHAL_DP2INDEXEDLINESTRIP,*LPD3DHAL_DP2INDEXEDLINESTRIP;
 
450
} D3DHAL_DP2INDEXEDLINESTRIP, *LPD3DHAL_DP2INDEXEDLINESTRIP;
451
451
 
452
452
/* triangle primitives */
453
453
 
454
454
typedef struct _D3DHAL_DP2TRIANGLELIST {
455
455
  WORD wVStart;
456
 
} D3DHAL_DP2TRIANGLELIST,*LPD3DHAL_DP2TRIANGLELIST;
 
456
} D3DHAL_DP2TRIANGLELIST, *LPD3DHAL_DP2TRIANGLELIST;
457
457
 
458
458
typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
459
459
  WORD wV1;
460
460
  WORD wV2;
461
461
  WORD wV3;
462
462
  WORD wFlags;
463
 
} D3DHAL_DP2INDEXEDTRIANGLELIST,*LPD3DHAL_DP2INDEXEDTRIANGLELIST;
 
463
} D3DHAL_DP2INDEXEDTRIANGLELIST, *LPD3DHAL_DP2INDEXEDTRIANGLELIST;
464
464
 
465
465
typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST2 {
466
466
  WORD wV1;
467
467
  WORD wV2;
468
468
  WORD wV3;
469
 
} D3DHAL_DP2INDEXEDTRIANGLELIST2,*LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
 
469
} D3DHAL_DP2INDEXEDTRIANGLELIST2, *LPD3DHAL_DP2INDEXEDTRIANGLELIST2;
470
470
 
471
471
typedef struct _D3DHAL_DP2TRIANGLESTRIP {
472
472
  WORD wVStart;
473
 
} D3DHAL_DP2TRIANGLESTRIP,*LPD3DHAL_DP2TRIANGLESTRIP;
 
473
} D3DHAL_DP2TRIANGLESTRIP, *LPD3DHAL_DP2TRIANGLESTRIP;
474
474
 
475
475
typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
476
476
  WORD wV[3];
477
 
} D3DHAL_DP2INDEXEDTRIANGLESTRIP,*LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
 
477
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
478
478
 
479
479
typedef struct _D3DHAL_DP2TRIANGLEFAN {
480
480
  WORD wVStart;
481
 
} D3DHAL_DP2TRIANGLEFAN,*LPD3DHAL_DP2TRIANGLEFAN;
 
481
} D3DHAL_DP2TRIANGLEFAN, *LPD3DHAL_DP2TRIANGLEFAN;
482
482
 
483
483
typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
484
484
  WORD wV[3];
485
 
} D3DHAL_DP2INDEXEDTRIANGLEFAN,*LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
 
485
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
486
486
 
487
487
typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
488
488
  DWORD dwEdgeFlags;
489
 
} D3DHAL_DP2TRIANGLEFAN_IMM,*LPD3DHAL_DP2TRIANGLEFAN_IMM;
 
489
} D3DHAL_DP2TRIANGLEFAN_IMM, *LPD3DHAL_DP2TRIANGLEFAN_IMM;
490
490
 
491
491
/* render states */
492
492
typedef struct _D3DHAL_DP2RENDERSTATE {
493
 
  D3DRENDERSTATETYPE    RenderState;
494
 
  union {
 
493
  D3DRENDERSTATETYPE RenderState;
 
494
  _ANONYMOUS_UNION union {
495
495
    D3DVALUE dvState;
496
496
    DWORD dwState;
497
497
  } DUMMYUNIONNAME;
498
 
} D3DHAL_DP2RENDERSTATE,*LPD3DHAL_DP2RENDERSTATE;
 
498
} D3DHAL_DP2RENDERSTATE, *LPD3DHAL_DP2RENDERSTATE;
499
499
 
500
500
typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
501
 
  WORD  wStage;
502
 
  WORD  TSState;
 
501
  WORD wStage;
 
502
  WORD TSState;
503
503
  DWORD dwValue;
504
 
} D3DHAL_DP2TEXTURESTAGESTATE,*LPD3DHAL_DP2TEXTURESTAGESTATE;
 
504
} D3DHAL_DP2TEXTURESTAGESTATE, *LPD3DHAL_DP2TEXTURESTAGESTATE;
505
505
 
506
506
#define D3DTSS_TEXTUREMAP 0
507
507
 
510
510
  DWORD dwY;
511
511
  DWORD dwWidth;
512
512
  DWORD dwHeight;
513
 
} D3DHAL_DP2VIEWPORTINFO,*LPD3DHAL_DP2VIEWPORTINFO;
 
513
} D3DHAL_DP2VIEWPORTINFO, *LPD3DHAL_DP2VIEWPORTINFO;
514
514
 
515
515
typedef struct _D3DHAL_DP2WINFO {
516
516
  D3DVALUE dwWNear;
517
517
  D3DVALUE dwWFar;
518
 
} D3DHAL_DP2WINFO,*LPD3DHAL_DP2WINFO;
 
518
} D3DHAL_DP2WINFO, *LPD3DHAL_DP2WINFO;
519
519
 
520
520
typedef struct _D3DHAL_DP2SETPALETTE {
521
521
  DWORD dwPaletteHandle;
522
522
  DWORD dwPaletteFlags;
523
523
  DWORD dwSurfaceHandle;
524
 
} D3DHAL_DP2SETPALETTE,*LPD3DHAL_DP2SETPALETTE;
 
524
} D3DHAL_DP2SETPALETTE, *LPD3DHAL_DP2SETPALETTE;
525
525
 
526
526
typedef struct _D3DHAL_DP2UPDATEPALETTE {
527
527
  DWORD dwPaletteHandle;
528
 
  WORD  wStartIndex;
529
 
  WORD  wNumEntries;
530
 
} D3DHAL_DP2UPDATEPALETTE,*LPD3DHAL_DP2UPDATEPALETTE;
 
528
  WORD wStartIndex;
 
529
  WORD wNumEntries;
 
530
} D3DHAL_DP2UPDATEPALETTE, *LPD3DHAL_DP2UPDATEPALETTE;
531
531
 
532
532
typedef struct _D3DHAL_DP2ZRANGE {
533
533
  D3DVALUE dvMinZ;
534
534
  D3DVALUE dvMaxZ;
535
 
} D3DHAL_DP2ZRANGE,*LPD3DHAL_DP2ZRANGE;
 
535
} D3DHAL_DP2ZRANGE, *LPD3DHAL_DP2ZRANGE;
536
536
 
537
537
typedef D3DMATERIAL7 D3DHAL_DP2SETMATERIAL,*LPD3DHAL_DP2SETMATERIAL;
538
538
 
539
539
typedef struct _D3DHAL_DP2SETLIGHT {
540
540
  DWORD dwIndex;
541
541
  DWORD dwDataType;
542
 
} D3DHAL_DP2SETLIGHT,*LPD3DHAL_DP2SETLIGHT;
 
542
} D3DHAL_DP2SETLIGHT, *LPD3DHAL_DP2SETLIGHT;
543
543
 
544
 
#define D3DHAL_SETLIGHT_ENABLE  0
545
 
#define D3DHAL_SETLIGHT_DISABLE 1
546
 
#define D3DHAL_SETLIGHT_DATA    2
 
544
#define D3DHAL_SETLIGHT_ENABLE  0
 
545
#define D3DHAL_SETLIGHT_DISABLE 1
 
546
#define D3DHAL_SETLIGHT_DATA    2
547
547
 
548
548
typedef struct _D3DHAL_DP2CREATELIGHT {
549
549
  DWORD dwIndex;
550
 
} D3DHAL_DP2CREATELIGHT,*LPD3DHAL_DP2CREATELIGHT;
 
550
} D3DHAL_DP2CREATELIGHT, *LPD3DHAL_DP2CREATELIGHT;
551
551
 
552
552
typedef struct _D3DHAL_DP2SETTRANSFORM {
553
 
  D3DTRANSFORMSTATETYPE xfrmType;
554
 
  D3DMATRIX             matrix;
555
 
} D3DHAL_DP2SETTRANSFORM,*LPD3DHAL_DP2SETTRANSFORM;
 
553
  D3DTRANSFORMSTATETYPE xfrmType;
 
554
  D3DMATRIX matrix;
 
555
} D3DHAL_DP2SETTRANSFORM, *LPD3DHAL_DP2SETTRANSFORM;
556
556
 
557
557
typedef struct _D3DHAL_DP2TEXBLT {
558
558
  DWORD dwDDDestSurface;
560
560
  POINT pDest;
561
561
  RECTL rSrc;
562
562
  DWORD dwFlags;
563
 
} D3DHAL_DP2TEXBLT,*LPD3DHAL_DP2TEXBLT;
 
563
} D3DHAL_DP2TEXBLT, *LPD3DHAL_DP2TEXBLT;
564
564
 
565
565
typedef struct _D3DHAL_DP2STATESET {
566
 
  DWORD               dwOperation;
567
 
  DWORD               dwParam;
568
 
  D3DSTATEBLOCKTYPE   sbType;
569
 
} D3DHAL_DP2STATESET,*LPD3DHAL_DP2STATESET;
 
566
  DWORD dwOperation;
 
567
  DWORD dwParam;
 
568
  D3DSTATEBLOCKTYPE sbType;
 
569
} D3DHAL_DP2STATESET, *LPD3DHAL_DP2STATESET;
570
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
 
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
576
 
577
577
typedef struct _D3DHAL_DP2SETPRIORITY {
578
578
  DWORD dwDDSurface;
579
579
  DWORD dwPriority;
580
 
} D3DHAL_DP2SETPRIORITY,*LPD3DHAL_DP2SETPRIORITY;
 
580
} D3DHAL_DP2SETPRIORITY, *LPD3DHAL_DP2SETPRIORITY;
581
581
 
582
582
typedef struct _D3DHAL_DP2SETRENDERTARGET {
583
583
  DWORD hRenderTarget;
584
584
  DWORD hZBuffer;
585
 
} D3DHAL_DP2SETRENDERTARGET,*LPD3DHAL_DP2SETRENDERTARGET;
 
585
} D3DHAL_DP2SETRENDERTARGET, *LPD3DHAL_DP2SETRENDERTARGET;
586
586
 
587
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;
 
588
  DWORD dwFlags;
 
589
  DWORD dwFillColor;
 
590
  D3DVALUE dvFillDepth;
 
591
  DWORD dwFillStencil;
 
592
  RECT Rects[1];
 
593
} D3DHAL_DP2CLEAR, *LPD3DHAL_DP2CLEAR;
594
594
 
595
595
typedef struct _D3DHAL_DP2SETTEXLOD {
596
596
  DWORD dwDDSurface;
597
597
  DWORD dwLOD;
598
 
} D3DHAL_DP2SETTEXLOD,*LPD3DHAL_DP2SETTEXLOD;
599
 
 
 
598
} D3DHAL_DP2SETTEXLOD, *LPD3DHAL_DP2SETTEXLOD;
600
599
 
601
600
#if (DIRECT3D_VERSION >= 0x0900)
602
601
 
603
 
#define DX9_DDI_VERSION     4
 
602
#define DX9_DDI_VERSION 4
604
603
 
605
604
#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
 
605
#define D3DVTXPCAPS_NO_VSDT_UBYTE4 0x00000080
 
606
#endif
 
607
 
 
608
#ifndef D3DPMISCCAPS_LINEPATTERNREP
 
609
#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004
 
610
#endif
 
611
 
 
612
#define D3DDEVCAPS_HWVERTEXBUFFER 0x02000000
 
613
#define D3DDEVCAPS_HWINDEXBUFFER  0x04000000
 
614
#define D3DDEVCAPS_SUBVOLUMELOCK  0x08000000
614
615
 
615
616
#ifndef D3DPMISCCAPS_FOGINFVF
616
 
#define D3DPMISCCAPS_FOGINFVF               0x00002000
 
617
#define D3DPMISCCAPS_FOGINFVF 0x00002000
617
618
#endif
618
619
 
619
620
#ifndef D3DFVF_FOG
620
 
#define D3DFVF_FOG                          0x00002000
 
621
#define D3DFVF_FOG 0x00002000
621
622
#endif
622
623
 
623
 
typedef struct _DD_GETDRIVERINFO2DATA
624
 
{
625
 
    DWORD       dwReserved;
626
 
    DWORD       dwMagic;
627
 
    DWORD       dwType;
628
 
    DWORD       dwExpectedSize;
 
624
typedef struct _DD_GETDRIVERINFO2DATA {
 
625
  DWORD dwReserved;
 
626
  DWORD dwMagic;
 
627
  DWORD dwType;
 
628
  DWORD dwExpectedSize;
629
629
} DD_GETDRIVERINFO2DATA;
630
630
 
631
631
/**
633
633
 * D3DGDI2_MAGIC to see if the passed GUID is GUID_GetDriverInfo2
634
634
 * or a GUID_DDStereoMode.
635
635
 */
636
 
#define GUID_GetDriverInfo2                         GUID_DDStereoMode
 
636
#define GUID_GetDriverInfo2 GUID_DDStereoMode
637
637
 
638
638
/**
639
639
 * Magic number used in DD_GETDRIVERINFO2DATA.dwHeight when
640
640
 * GUID_GetDriverInfo2/GUID_DDStereoMode is specified in a
641
641
 * GetDriverInfo call.
642
642
 */
643
 
#define D3DGDI2_MAGIC                               0xFFFFFFFF
 
643
#define D3DGDI2_MAGIC 0xFFFFFFFF
644
644
 
645
645
#define D3DGDI2_TYPE_GETD3DCAPS8                    0x00000001
646
646
#define D3DGDI2_TYPE_GETFORMATCOUNT                 0x00000002
647
647
#define D3DGDI2_TYPE_GETFORMAT                      0x00000003
648
 
#define D3DGDI2_TYPE_DXVERSION                      0x00000004  /* Make driver aware of currently used DirectX version */
 
648
#define D3DGDI2_TYPE_DXVERSION                      0x00000004 /* Make driver aware of currently used DirectX version */
649
649
#define D3DGDI2_TYPE_GETD3DCAPS9                    0x00000010
650
650
#define D3DGDI2_TYPE_GETEXTENDEDMODECOUNT           0x00000011
651
651
#define D3DGDI2_TYPE_GETEXTENDEDMODE                0x00000012
656
656
#define D3DGDI2_TYPE_DEFER_AGP_FREES                0x00000020
657
657
#define D3DGDI2_TYPE_GETD3DQUERYCOUNT               0x00000021
658
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 */
 
659
#define D3DGDI2_TYPE_GETDDIVERSION                  0x00000023 /* Returns DX9_DDI_VERSION, used to check which DDK version the driver is compiled against */
660
660
 
661
 
typedef struct _D3DCAPS8
662
 
{
 
661
typedef struct _D3DCAPS8 {
663
662
  D3DDEVTYPE DeviceType;
664
663
  UINT AdapterOrdinal;
665
664
  DWORD Caps;
715
714
  float MaxPixelShaderValue;
716
715
} D3DCAPS8;
717
716
 
718
 
typedef struct _DD_GETFORMATCOUNTDATA
719
 
{
720
 
    DD_GETDRIVERINFO2DATA gdi2;
721
 
    DWORD dwFormatCount;
722
 
    DWORD dwReserved;
 
717
typedef struct _DD_GETFORMATCOUNTDATA {
 
718
  DD_GETDRIVERINFO2DATA gdi2;
 
719
  DWORD dwFormatCount;
 
720
  DWORD dwReserved;
723
721
} DD_GETFORMATCOUNTDATA;
724
722
 
725
 
typedef struct _DD_GETFORMATDATA
726
 
{
727
 
    DD_GETDRIVERINFO2DATA gdi2;
728
 
    DWORD dwFormatIndex;
729
 
    DDPIXELFORMAT format;
 
723
typedef struct _DD_GETFORMATDATA {
 
724
  DD_GETDRIVERINFO2DATA gdi2;
 
725
  DWORD dwFormatIndex;
 
726
  DDPIXELFORMAT format;
730
727
} DD_GETFORMATDATA;
731
728
 
732
 
typedef struct _DD_DXVERSION
733
 
{
734
 
    DD_GETDRIVERINFO2DATA gdi2;
735
 
    DWORD dwDXVersion;
736
 
    DWORD dwReserved;
 
729
typedef struct _DD_DXVERSION {
 
730
  DD_GETDRIVERINFO2DATA gdi2;
 
731
  DWORD dwDXVersion;
 
732
  DWORD dwReserved;
737
733
} DD_DXVERSION;
738
734
 
739
 
typedef struct _DD_DEFERRED_AGP_AWARE_DATA
740
 
{
741
 
    DD_GETDRIVERINFO2DATA gdi2;
 
735
typedef struct _DD_DEFERRED_AGP_AWARE_DATA {
 
736
  DD_GETDRIVERINFO2DATA gdi2;
742
737
} DD_DEFERRED_AGP_AWARE_DATA;
743
738
 
744
 
typedef struct _DD_FREE_DEFERRED_AGP_DATA
745
 
{
746
 
    DD_GETDRIVERINFO2DATA gdi2;
747
 
    DWORD dwProcessId;
 
739
typedef struct _DD_FREE_DEFERRED_AGP_DATA {
 
740
  DD_GETDRIVERINFO2DATA gdi2;
 
741
  DWORD dwProcessId;
748
742
} DD_FREE_DEFERRED_AGP_DATA;
749
743
 
750
 
typedef struct _DD_GETEXTENDEDMODECOUNTDATA
751
 
{
752
 
    DD_GETDRIVERINFO2DATA gdi2;
753
 
    DWORD dwModeCount;
754
 
    DWORD dwReserved;
 
744
typedef struct _DD_GETEXTENDEDMODECOUNTDATA {
 
745
  DD_GETDRIVERINFO2DATA gdi2;
 
746
  DWORD dwModeCount;
 
747
  DWORD dwReserved;
755
748
} DD_GETEXTENDEDMODECOUNTDATA;
756
749
 
757
 
typedef struct _DD_GETEXTENDEDMODEDATA
758
 
{
759
 
    DD_GETDRIVERINFO2DATA gdi2;
760
 
    DWORD                 dwModeIndex;
761
 
    D3DDISPLAYMODE        mode;
 
750
typedef struct _DD_GETEXTENDEDMODEDATA {
 
751
  DD_GETDRIVERINFO2DATA gdi2;
 
752
  DWORD dwModeIndex;
 
753
  D3DDISPLAYMODE mode;
762
754
} DD_GETEXTENDEDMODEDATA;
763
755
 
764
 
typedef struct _DD_GETADAPTERGROUPDATA
765
 
{
766
 
    DD_GETDRIVERINFO2DATA gdi2;
767
 
    ULONG_PTR ulUniqueAdapterGroupId;
768
 
    DWORD dwReserved1;
769
 
    DWORD dwReserved2;
 
756
typedef struct _DD_GETADAPTERGROUPDATA {
 
757
  DD_GETDRIVERINFO2DATA gdi2;
 
758
  ULONG_PTR ulUniqueAdapterGroupId;
 
759
  DWORD dwReserved1;
 
760
  DWORD dwReserved2;
770
761
} DD_GETADAPTERGROUPDATA;
771
762
 
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;
 
763
typedef struct _DD_MULTISAMPLEQUALITYLEVELSDATA {
 
764
  DD_GETDRIVERINFO2DATA gdi2;
 
765
  D3DFORMAT Format;
 
766
  WINBOOL bFlip : 1;
 
767
  D3DMULTISAMPLE_TYPE MSType : 31;
 
768
  DWORD QualityLevels;
779
769
} DD_MULTISAMPLEQUALITYLEVELSDATA;
780
770
 
781
 
typedef struct _DD_GETD3DQUERYCOUNTDATA
782
 
{
783
 
    DD_GETDRIVERINFO2DATA gdi2;
784
 
    DWORD dwNumQueries;
 
771
typedef struct _DD_GETD3DQUERYCOUNTDATA {
 
772
  DD_GETDRIVERINFO2DATA gdi2;
 
773
  DWORD dwNumQueries;
785
774
} DD_GETD3DQUERYCOUNTDATA;
786
775
 
787
 
typedef struct _DD_GETD3DQUERYDATA
788
 
{
789
 
    DD_GETDRIVERINFO2DATA gdi2;
790
 
    union
791
 
    {
792
 
        DWORD dwQueryIndex;
793
 
        D3DQUERYTYPE QueryType;
794
 
    };
 
776
typedef struct _DD_GETD3DQUERYDATA {
 
777
  DD_GETDRIVERINFO2DATA gdi2;
 
778
  __GNU_EXTENSION union {
 
779
    DWORD dwQueryIndex;
 
780
    D3DQUERYTYPE QueryType;
 
781
  };
795
782
} DD_GETD3DQUERYDATA;
796
783
 
797
 
typedef struct _DD_GETDDIVERSIONDATA
798
 
{
799
 
    DD_GETDRIVERINFO2DATA gdi2;
800
 
    DWORD dwDXVersion;
801
 
    DWORD dwDDIVersion;
 
784
typedef struct _DD_GETDDIVERSIONDATA {
 
785
  DD_GETDRIVERINFO2DATA gdi2;
 
786
  DWORD dwDXVersion;
 
787
  DWORD dwDDIVersion;
802
788
} DD_GETDDIVERSIONDATA;
803
789
 
804
790
#endif /* (DIRECT3D_VERSION >= 0x0900) */