VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/d3d9caps.h@ 33223

Last change on this file since 33223 was 16477, checked in by vboxsync, 16 years ago

LGPL disclaimer by filemuncher

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette