1/*
2 * Copyright (C) 2002-2003 Jason Edmeades
3 *                         Raphael Junqueira
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#ifndef __WINE_D3D9CAPS_H
21#define __WINE_D3D9CAPS_H
22
23#ifdef __i386__
24#include <pshpack4.h>
25#endif
26
27/*
28 * Definitions
29 */
30#define D3DCAPS_READ_SCANLINE 0x20000
31
32#define D3DCURSORCAPS_COLOR   1
33#define D3DCURSORCAPS_LOWRES  2
34
35
36#define D3DDEVCAPS2_STREAMOFFSET                        __MSABI_LONG(0x00000001)
37#define D3DDEVCAPS2_DMAPNPATCH                          __MSABI_LONG(0x00000002)
38#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH                 __MSABI_LONG(0x00000004)
39#define D3DDEVCAPS2_ADAPTIVETESSNPATCH                  __MSABI_LONG(0x00000008)
40#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES       __MSABI_LONG(0x00000010)
41#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH                __MSABI_LONG(0x00000020)
42#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET  __MSABI_LONG(0x00000040)
43
44#define D3DDEVCAPS_EXECUTESYSTEMMEMORY     0x0000010
45#define D3DDEVCAPS_EXECUTEVIDEOMEMORY      0x0000020
46#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY    0x0000040
47#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY     0x0000080
48#define D3DDEVCAPS_TEXTURESYSTEMMEMORY     0x0000100
49#define D3DDEVCAPS_TEXTUREVIDEOMEMORY      0x0000200
50#define D3DDEVCAPS_DRAWPRIMTLVERTEX        0x0000400
51#define D3DDEVCAPS_CANRENDERAFTERFLIP      0x0000800
52#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM   0x0001000
53#define D3DDEVCAPS_DRAWPRIMITIVES2         0x0002000
54#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000
55#define D3DDEVCAPS_DRAWPRIMITIVES2EX       0x0008000
56#define D3DDEVCAPS_HWTRANSFORMANDLIGHT     0x0010000
57#define D3DDEVCAPS_CANBLTSYSTONONLOCAL     0x0020000
58#define D3DDEVCAPS_HWRASTERIZATION         0x0080000
59#define D3DDEVCAPS_PUREDEVICE              0x0100000
60#define D3DDEVCAPS_QUINTICRTPATCHES        0x0200000
61#define D3DDEVCAPS_RTPATCHES               0x0400000
62#define D3DDEVCAPS_RTPATCHHANDLEZERO       0x0800000
63#define D3DDEVCAPS_NPATCHES                0x1000000
64
65#define D3DFVFCAPS_TEXCOORDCOUNTMASK  0x00FFFF
66#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000
67#define D3DFVFCAPS_PSIZE              0x100000
68
69#define D3DLINECAPS_TEXTURE           0x01
70#define D3DLINECAPS_ZTEST             0x02
71#define D3DLINECAPS_BLEND             0x04
72#define D3DLINECAPS_ALPHACMP          0x08
73#define D3DLINECAPS_FOG               0x10
74#define D3DLINECAPS_ANTIALIAS         0x20
75
76#define D3DPBLENDCAPS_ZERO            0x00000001
77#define D3DPBLENDCAPS_ONE             0x00000002
78#define D3DPBLENDCAPS_SRCCOLOR        0x00000004
79#define D3DPBLENDCAPS_INVSRCCOLOR     0x00000008
80#define D3DPBLENDCAPS_SRCALPHA        0x00000010
81#define D3DPBLENDCAPS_INVSRCALPHA     0x00000020
82#define D3DPBLENDCAPS_DESTALPHA       0x00000040
83#define D3DPBLENDCAPS_INVDESTALPHA    0x00000080
84#define D3DPBLENDCAPS_DESTCOLOR       0x00000100
85#define D3DPBLENDCAPS_INVDESTCOLOR    0x00000200
86#define D3DPBLENDCAPS_SRCALPHASAT     0x00000400
87#define D3DPBLENDCAPS_BOTHSRCALPHA    0x00000800
88#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
89#define D3DPBLENDCAPS_BLENDFACTOR     0x00002000
90
91#define D3DPCMPCAPS_NEVER        0x01
92#define D3DPCMPCAPS_LESS         0x02
93#define D3DPCMPCAPS_EQUAL        0x04
94#define D3DPCMPCAPS_LESSEQUAL    0x08
95#define D3DPCMPCAPS_GREATER      0x10
96#define D3DPCMPCAPS_NOTEQUAL     0x20
97#define D3DPCMPCAPS_GREATEREQUAL 0x40
98#define D3DPCMPCAPS_ALWAYS       0x80
99
100#define D3DPMISCCAPS_MASKZ                      __MSABI_LONG(0x00000002)
101#define D3DPMISCCAPS_LINEPATTERNREP             __MSABI_LONG(0x00000004)
102#define D3DPMISCCAPS_CULLNONE                   __MSABI_LONG(0x00000010)
103#define D3DPMISCCAPS_CULLCW                     __MSABI_LONG(0x00000020)
104#define D3DPMISCCAPS_CULLCCW                    __MSABI_LONG(0x00000040)
105#define D3DPMISCCAPS_COLORWRITEENABLE           __MSABI_LONG(0x00000080)
106#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS      __MSABI_LONG(0x00000100)
107#define D3DPMISCCAPS_CLIPTLVERTS                __MSABI_LONG(0x00000200)
108#define D3DPMISCCAPS_TSSARGTEMP                 __MSABI_LONG(0x00000400)
109#define D3DPMISCCAPS_BLENDOP                    __MSABI_LONG(0x00000800)
110#define D3DPMISCCAPS_NULLREFERENCE              __MSABI_LONG(0x00001000)
111#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS      __MSABI_LONG(0x00004000)
112#define D3DPMISCCAPS_PERSTAGECONSTANT           __MSABI_LONG(0x00008000)
113#define D3DPMISCCAPS_FOGANDSPECULARALPHA        __MSABI_LONG(0x00010000)
114#define D3DPMISCCAPS_SEPARATEALPHABLEND         __MSABI_LONG(0x00020000)
115#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS    __MSABI_LONG(0x00040000)
116#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING __MSABI_LONG(0x00080000)
117#define D3DPMISCCAPS_FOGVERTEXCLAMPED           __MSABI_LONG(0x00100000)
118
119#ifndef D3D_DISABLE_9EX
120#define D3DPMISCCAPS_POSTBLENDSRGBCONVERT       __MSABI_LONG(0x00200000)
121#endif
122
123#define D3DPRASTERCAPS_DITHER                     __MSABI_LONG(0x00000001)
124#define D3DPRASTERCAPS_PAT                        __MSABI_LONG(0x00000008)
125#define D3DPRASTERCAPS_ZTEST                      __MSABI_LONG(0x00000010)
126#define D3DPRASTERCAPS_FOGVERTEX                  __MSABI_LONG(0x00000080)
127#define D3DPRASTERCAPS_FOGTABLE                   __MSABI_LONG(0x00000100)
128#define D3DPRASTERCAPS_ANTIALIASEDGES             __MSABI_LONG(0x00001000)
129#define D3DPRASTERCAPS_MIPMAPLODBIAS              __MSABI_LONG(0x00002000)
130#define D3DPRASTERCAPS_ZBIAS                      __MSABI_LONG(0x00004000)
131#define D3DPRASTERCAPS_ZBUFFERLESSHSR             __MSABI_LONG(0x00008000)
132#define D3DPRASTERCAPS_FOGRANGE                   __MSABI_LONG(0x00010000)
133#define D3DPRASTERCAPS_ANISOTROPY                 __MSABI_LONG(0x00020000)
134#define D3DPRASTERCAPS_WBUFFER                    __MSABI_LONG(0x00040000)
135#define D3DPRASTERCAPS_WFOG                       __MSABI_LONG(0x00100000)
136#define D3DPRASTERCAPS_ZFOG                       __MSABI_LONG(0x00200000)
137#define D3DPRASTERCAPS_COLORPERSPECTIVE           __MSABI_LONG(0x00400000)
138#define D3DPRASTERCAPS_SCISSORTEST                __MSABI_LONG(0x01000000)
139#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS        __MSABI_LONG(0x02000000)
140#define D3DPRASTERCAPS_DEPTHBIAS                  __MSABI_LONG(0x04000000)
141#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE         __MSABI_LONG(0x08000000)
142
143#define D3DPRESENT_INTERVAL_DEFAULT               0x00000000
144#define D3DPRESENT_INTERVAL_ONE                   0x00000001
145#define D3DPRESENT_INTERVAL_TWO                   0x00000002
146#define D3DPRESENT_INTERVAL_THREE                 0x00000004
147#define D3DPRESENT_INTERVAL_FOUR                  0x00000008
148#define D3DPRESENT_INTERVAL_IMMEDIATE             0x80000000
149
150#define D3DPSHADECAPS_COLORGOURAUDRGB             0x00008
151#define D3DPSHADECAPS_SPECULARGOURAUDRGB          0x00200
152#define D3DPSHADECAPS_ALPHAGOURAUDBLEND           0x04000
153#define D3DPSHADECAPS_FOGGOURAUD                  0x80000
154
155#define D3DPTADDRESSCAPS_WRAP                     0x01
156#define D3DPTADDRESSCAPS_MIRROR                   0x02
157#define D3DPTADDRESSCAPS_CLAMP                    0x04
158#define D3DPTADDRESSCAPS_BORDER                   0x08
159#define D3DPTADDRESSCAPS_INDEPENDENTUV            0x10
160#define D3DPTADDRESSCAPS_MIRRORONCE               0x20
161
162#define D3DPTEXTURECAPS_PERSPECTIVE              __MSABI_LONG(0x00000001)
163#define D3DPTEXTURECAPS_POW2                     __MSABI_LONG(0x00000002)
164#define D3DPTEXTURECAPS_ALPHA                    __MSABI_LONG(0x00000004)
165#define D3DPTEXTURECAPS_SQUAREONLY               __MSABI_LONG(0x00000020)
166#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE __MSABI_LONG(0x00000040)
167#define D3DPTEXTURECAPS_ALPHAPALETTE             __MSABI_LONG(0x00000080)
168#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL       __MSABI_LONG(0x00000100)
169#define D3DPTEXTURECAPS_PROJECTED                __MSABI_LONG(0x00000400)
170#define D3DPTEXTURECAPS_CUBEMAP                  __MSABI_LONG(0x00000800)
171#define D3DPTEXTURECAPS_VOLUMEMAP                __MSABI_LONG(0x00002000)
172#define D3DPTEXTURECAPS_MIPMAP                   __MSABI_LONG(0x00004000)
173#define D3DPTEXTURECAPS_MIPVOLUMEMAP             __MSABI_LONG(0x00008000)
174#define D3DPTEXTURECAPS_MIPCUBEMAP               __MSABI_LONG(0x00010000)
175#define D3DPTEXTURECAPS_CUBEMAP_POW2             __MSABI_LONG(0x00020000)
176#define D3DPTEXTURECAPS_VOLUMEMAP_POW2           __MSABI_LONG(0x00040000)
177#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV       __MSABI_LONG(0x00200000)
178
179#define D3DPTFILTERCAPS_MINFPOINT                0x00000100
180#define D3DPTFILTERCAPS_MINFLINEAR               0x00000200
181#define D3DPTFILTERCAPS_MINFANISOTROPIC          0x00000400
182#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD        0x00000800
183#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD         0x00001000
184#define D3DPTFILTERCAPS_MIPFPOINT                0x00010000
185#define D3DPTFILTERCAPS_MIPFLINEAR               0x00020000
186#define D3DPTFILTERCAPS_MAGFPOINT                0x01000000
187#define D3DPTFILTERCAPS_MAGFLINEAR               0x02000000
188#define D3DPTFILTERCAPS_MAGFANISOTROPIC          0x04000000
189#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD        0x08000000
190#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD         0x10000000
191
192#define D3DSTENCILCAPS_KEEP                      0x01
193#define D3DSTENCILCAPS_ZERO                      0x02
194#define D3DSTENCILCAPS_REPLACE                   0x04
195#define D3DSTENCILCAPS_INCRSAT                   0x08
196#define D3DSTENCILCAPS_DECRSAT                   0x10
197#define D3DSTENCILCAPS_INVERT                    0x20
198#define D3DSTENCILCAPS_INCR                      0x40
199#define D3DSTENCILCAPS_DECR                      0x80
200#define D3DSTENCILCAPS_TWOSIDED                  0x100
201
202#define D3DTEXOPCAPS_DISABLE                     0x0000001
203#define D3DTEXOPCAPS_SELECTARG1                  0x0000002
204#define D3DTEXOPCAPS_SELECTARG2                  0x0000004
205#define D3DTEXOPCAPS_MODULATE                    0x0000008
206#define D3DTEXOPCAPS_MODULATE2X                  0x0000010
207#define D3DTEXOPCAPS_MODULATE4X                  0x0000020
208#define D3DTEXOPCAPS_ADD                         0x0000040
209#define D3DTEXOPCAPS_ADDSIGNED                   0x0000080
210#define D3DTEXOPCAPS_ADDSIGNED2X                 0x0000100
211#define D3DTEXOPCAPS_SUBTRACT                    0x0000200
212#define D3DTEXOPCAPS_ADDSMOOTH                   0x0000400
213#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA           0x0000800
214#define D3DTEXOPCAPS_BLENDTEXTUREALPHA           0x0001000
215#define D3DTEXOPCAPS_BLENDFACTORALPHA            0x0002000
216#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM         0x0004000
217#define D3DTEXOPCAPS_BLENDCURRENTALPHA           0x0008000
218#define D3DTEXOPCAPS_PREMODULATE                 0x0010000
219#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR      0x0020000
220#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA      0x0040000
221#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR   0x0080000
222#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA   0x0100000
223#define D3DTEXOPCAPS_BUMPENVMAP                  0x0200000
224#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE         0x0400000
225#define D3DTEXOPCAPS_DOTPRODUCT3                 0x0800000
226#define D3DTEXOPCAPS_MULTIPLYADD                 0x1000000
227#define D3DTEXOPCAPS_LERP                        0x2000000
228
229#define D3DVTXPCAPS_TEXGEN                         __MSABI_LONG(0x00000001)
230#define D3DVTXPCAPS_MATERIALSOURCE7                __MSABI_LONG(0x00000002)
231#define D3DVTXPCAPS_DIRECTIONALLIGHTS              __MSABI_LONG(0x00000008)
232#define D3DVTXPCAPS_POSITIONALLIGHTS               __MSABI_LONG(0x00000010)
233#define D3DVTXPCAPS_LOCALVIEWER                    __MSABI_LONG(0x00000020)
234#define D3DVTXPCAPS_TWEENING                       __MSABI_LONG(0x00000040)
235#define D3DVTXPCAPS_TEXGEN_SPHEREMAP               __MSABI_LONG(0x00000100)
236#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER       __MSABI_LONG(0x00000200)
237
238#define D3DDTCAPS_UBYTE4                           __MSABI_LONG(0x00000001)
239#define D3DDTCAPS_UBYTE4N                          __MSABI_LONG(0x00000002)
240#define D3DDTCAPS_SHORT2N                          __MSABI_LONG(0x00000004)
241#define D3DDTCAPS_SHORT4N                          __MSABI_LONG(0x00000008)
242#define D3DDTCAPS_USHORT2N                         __MSABI_LONG(0x00000010)
243#define D3DDTCAPS_USHORT4N                         __MSABI_LONG(0x00000020)
244#define D3DDTCAPS_UDEC3                            __MSABI_LONG(0x00000040)
245#define D3DDTCAPS_DEC3N                            __MSABI_LONG(0x00000080)
246#define D3DDTCAPS_FLOAT16_2                        __MSABI_LONG(0x00000100)
247#define D3DDTCAPS_FLOAT16_4                        __MSABI_LONG(0x00000200)
248
249#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD  __MSABI_LONG(0x00000020)
250#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION       __MSABI_LONG(0x00000080)
251#define D3DCAPS3_COPY_TO_VIDMEM                    __MSABI_LONG(0x00000100)
252#define D3DCAPS3_COPY_TO_SYSTEMMEM                 __MSABI_LONG(0x00000200)
253#define D3DCAPS3_RESERVED                          __MSABI_LONG(0x8000001F)
254
255#define D3DCAPS2_NO2DDURING3DSCENE                 __MSABI_LONG(0x00000002)
256#define D3DCAPS2_FULLSCREENGAMMA                   __MSABI_LONG(0x00020000)
257#define D3DCAPS2_CANRENDERWINDOWED                 __MSABI_LONG(0x00080000)
258#define D3DCAPS2_CANCALIBRATEGAMMA                 __MSABI_LONG(0x00100000)
259#define D3DCAPS2_RESERVED                          __MSABI_LONG(0x02000000)
260#define D3DCAPS2_CANMANAGERESOURCE                 __MSABI_LONG(0x10000000)
261#define D3DCAPS2_DYNAMICTEXTURES                   __MSABI_LONG(0x20000000)
262#define D3DCAPS2_CANAUTOGENMIPMAP                  __MSABI_LONG(0x40000000)
263
264
265#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH  24
266#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH  0
267#define D3DVS20_MAX_NUMTEMPS                 32
268#define D3DVS20_MIN_NUMTEMPS                 12
269#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH   4
270#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH   1
271
272#define D3DVS20CAPS_PREDICATION              (1 << 0)
273
274#define D3DPS20CAPS_ARBITRARYSWIZZLE         (1 << 0)
275#define D3DPS20CAPS_GRADIENTINSTRUCTIONS     (1 << 1)
276#define D3DPS20CAPS_PREDICATION              (1 << 2)
277#define D3DPS20CAPS_NODEPENDENTREADLIMIT     (1 << 3)
278#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT    (1 << 4)
279
280#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH  24
281#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH  0
282#define D3DPS20_MAX_NUMTEMPS                 32
283#define D3DPS20_MIN_NUMTEMPS                 12
284#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH   4
285#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH   0
286#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS      512
287#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS      96
288
289#define D3DMIN30SHADERINSTRUCTIONS          512
290#define D3DMAX30SHADERINSTRUCTIONS          32768
291
292
293typedef struct _D3DVSHADERCAPS2_0 {
294  DWORD  Caps;
295  INT    DynamicFlowControlDepth;
296  INT    NumTemps;
297  INT    StaticFlowControlDepth;
298} D3DVSHADERCAPS2_0;
299
300typedef struct _D3DPSHADERCAPS2_0 {
301  DWORD  Caps;
302  INT    DynamicFlowControlDepth;
303  INT    NumTemps;
304  INT    StaticFlowControlDepth;
305  INT    NumInstructionSlots;
306} D3DPSHADERCAPS2_0;
307
308/*
309 * The d3dcaps9 structure
310 */
311typedef struct _D3DCAPS9 {
312  D3DDEVTYPE          DeviceType;
313  UINT                AdapterOrdinal;
314
315  DWORD               Caps;
316  DWORD               Caps2;
317  DWORD               Caps3;
318  DWORD               PresentationIntervals;
319
320  DWORD               CursorCaps;
321
322  DWORD               DevCaps;
323
324  DWORD               PrimitiveMiscCaps;
325  DWORD               RasterCaps;
326  DWORD               ZCmpCaps;
327  DWORD               SrcBlendCaps;
328  DWORD               DestBlendCaps;
329  DWORD               AlphaCmpCaps;
330  DWORD               ShadeCaps;
331  DWORD               TextureCaps;
332  DWORD               TextureFilterCaps;
333  DWORD               CubeTextureFilterCaps;
334  DWORD               VolumeTextureFilterCaps;
335  DWORD               TextureAddressCaps;
336  DWORD               VolumeTextureAddressCaps;
337
338  DWORD               LineCaps;
339
340  DWORD               MaxTextureWidth, MaxTextureHeight;
341  DWORD               MaxVolumeExtent;
342
343  DWORD               MaxTextureRepeat;
344  DWORD               MaxTextureAspectRatio;
345  DWORD               MaxAnisotropy;
346  float               MaxVertexW;
347
348  float               GuardBandLeft;
349  float               GuardBandTop;
350  float               GuardBandRight;
351  float               GuardBandBottom;
352
353  float               ExtentsAdjust;
354  DWORD               StencilCaps;
355
356  DWORD               FVFCaps;
357  DWORD               TextureOpCaps;
358  DWORD               MaxTextureBlendStages;
359  DWORD               MaxSimultaneousTextures;
360
361  DWORD               VertexProcessingCaps;
362  DWORD               MaxActiveLights;
363  DWORD               MaxUserClipPlanes;
364  DWORD               MaxVertexBlendMatrices;
365  DWORD               MaxVertexBlendMatrixIndex;
366
367  float               MaxPointSize;
368
369  DWORD               MaxPrimitiveCount;
370  DWORD               MaxVertexIndex;
371  DWORD               MaxStreams;
372  DWORD               MaxStreamStride;
373
374  DWORD               VertexShaderVersion;
375  DWORD               MaxVertexShaderConst;
376
377  DWORD               PixelShaderVersion;
378  float               PixelShader1xMaxValue;
379
380  /* DX 9 */
381  DWORD               DevCaps2;
382
383  float               MaxNpatchTessellationLevel;
384  DWORD               Reserved5;
385
386  UINT                MasterAdapterOrdinal;
387  UINT                AdapterOrdinalInGroup;
388  UINT                NumberOfAdaptersInGroup;
389  DWORD               DeclTypes;
390  DWORD               NumSimultaneousRTs;
391  DWORD               StretchRectFilterCaps;
392  D3DVSHADERCAPS2_0   VS20Caps;
393  D3DPSHADERCAPS2_0   PS20Caps;
394  DWORD               VertexTextureFilterCaps;
395  DWORD               MaxVShaderInstructionsExecuted;
396  DWORD               MaxPShaderInstructionsExecuted;
397  DWORD               MaxVertexShader30InstructionSlots;
398  DWORD               MaxPixelShader30InstructionSlots;
399
400} D3DCAPS9;
401
402#ifdef __i386__
403#include <poppack.h>
404#endif
405
406#endif
407