push 460a69df99a5ad9f5823a97170ef7a215171c033
[wine/hacks.git] / include / wine / wined3d.idl
blob21e55c112dee2612ad37ed7207ab8bba37d70b92
1 /*
2 * Copyright 2002-2003 The wine-d3d team
3 * Copyright 2002-2003 Jason Edmeades
4 * Copyright 2002-2003 Raphael Junqueira
5 * Copyright 2005 Oliver Stieber
6 * Copyright 2006 Stefan Dösinger
7 * Copyright 2006 Stefan Dösinger for CodeWeavers
8 * Copyright 2007 Henri Verbeet
9 * Copyright 2008 Henri Verbeet for CodeWeavers
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this library; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
26 import "unknwn.idl";
28 cpp_quote("#if 0")
29 typedef HANDLE HMONITOR;
31 typedef struct _RGNDATAHEADER
33 DWORD dwSize;
34 DWORD iType;
35 DWORD nCount;
36 DWORD nRgnSize;
37 RECT rcBound;
38 } RGNDATAHEADER;
40 typedef struct _RGNDATA
42 RGNDATAHEADER rdh;
43 char Buffer[1];
44 } RGNDATA;
45 cpp_quote("#endif")
47 cpp_quote("#define WINED3D_OK S_OK")
49 const UINT _FACWINED3D = 0x876;
50 cpp_quote("#define MAKE_WINED3DSTATUS(code) MAKE_HRESULT(0, _FACWINED3D, code)")
51 cpp_quote("#define WINED3DOK_NOAUTOGEN MAKE_WINED3DSTATUS(2159)")
53 cpp_quote("#define MAKE_WINED3DHRESULT(code) MAKE_HRESULT(1, _FACWINED3D, code)")
54 cpp_quote("#define WINED3DERR_WRONGTEXTUREFORMAT MAKE_WINED3DHRESULT(2072)")
55 cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLOROPERATION MAKE_WINED3DHRESULT(2073)")
56 cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLORARG MAKE_WINED3DHRESULT(2074)")
57 cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAOPERATION MAKE_WINED3DHRESULT(2075)")
58 cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAARG MAKE_WINED3DHRESULT(2076)")
59 cpp_quote("#define WINED3DERR_TOOMANYOPERATIONS MAKE_WINED3DHRESULT(2077)")
60 cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREFILTER MAKE_WINED3DHRESULT(2078)")
61 cpp_quote("#define WINED3DERR_UNSUPPORTEDFACTORVALUE MAKE_WINED3DHRESULT(2079)")
62 cpp_quote("#define WINED3DERR_CONFLICTINGRENDERSTATE MAKE_WINED3DHRESULT(2081)")
63 cpp_quote("#define WINED3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_WINED3DHRESULT(2082)")
64 cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREPALETTE MAKE_WINED3DHRESULT(2086)")
65 cpp_quote("#define WINED3DERR_DRIVERINTERNALERROR MAKE_WINED3DHRESULT(2087)")
66 cpp_quote("#define WINED3DERR_NOTFOUND MAKE_WINED3DHRESULT(2150)")
67 cpp_quote("#define WINED3DERR_MOREDATA MAKE_WINED3DHRESULT(2151)")
68 cpp_quote("#define WINED3DERR_DEVICELOST MAKE_WINED3DHRESULT(2152)")
69 cpp_quote("#define WINED3DERR_DEVICENOTRESET MAKE_WINED3DHRESULT(2153)")
70 cpp_quote("#define WINED3DERR_NOTAVAILABLE MAKE_WINED3DHRESULT(2154)")
71 cpp_quote("#define WINED3DERR_OUTOFVIDEOMEMORY MAKE_WINED3DHRESULT(380)")
72 cpp_quote("#define WINED3DERR_INVALIDDEVICE MAKE_WINED3DHRESULT(2155)")
73 cpp_quote("#define WINED3DERR_INVALIDCALL MAKE_WINED3DHRESULT(2156)")
74 cpp_quote("#define WINED3DERR_DRIVERINVALIDCALL MAKE_WINED3DHRESULT(2157)")
75 cpp_quote("#define WINED3DERR_WASSTILLDRAWING MAKE_WINED3DHRESULT(540)")
76 cpp_quote("#define WINEDDERR_NOTAOVERLAYSURFACE MAKE_WINED3DHRESULT(580)")
77 cpp_quote("#define WINEDDERR_NOTLOCKED MAKE_WINED3DHRESULT(584)")
78 cpp_quote("#define WINEDDERR_NODC MAKE_WINED3DHRESULT(586)")
79 cpp_quote("#define WINEDDERR_DCALREADYCREATED MAKE_WINED3DHRESULT(620)")
80 cpp_quote("#define WINEDDERR_NOTFLIPPABLE MAKE_WINED3DHRESULT(582)")
81 cpp_quote("#define WINEDDERR_SURFACEBUSY MAKE_WINED3DHRESULT(430)")
82 cpp_quote("#define WINEDDERR_INVALIDRECT MAKE_WINED3DHRESULT(150)")
83 cpp_quote("#define WINEDDERR_NOCLIPLIST MAKE_WINED3DHRESULT(205)")
84 cpp_quote("#define WINEDDERR_OVERLAYNOTVISIBLE MAKE_WINED3DHRESULT(577)")
86 typedef DWORD WINED3DCOLOR;
88 typedef enum _WINED3DLIGHTTYPE
90 WINED3DLIGHT_POINT = 1,
91 WINED3DLIGHT_SPOT = 2,
92 WINED3DLIGHT_DIRECTIONAL = 3,
93 WINED3DLIGHT_PARALLELPOINT = 4, /* D3D7 */
94 WINED3DLIGHT_GLSPOT = 5, /* D3D7 */
95 WINED3DLIGHT_FORCE_DWORD = 0x7fffffff
96 } WINED3DLIGHTTYPE;
98 typedef enum _WINED3DPRIMITIVETYPE
100 WINED3DPT_POINTLIST = 1,
101 WINED3DPT_LINELIST = 2,
102 WINED3DPT_LINESTRIP = 3,
103 WINED3DPT_TRIANGLELIST = 4,
104 WINED3DPT_TRIANGLESTRIP = 5,
105 WINED3DPT_TRIANGLEFAN = 6,
106 WINED3DPT_FORCE_DWORD = 0x7fffffff
107 } WINED3DPRIMITIVETYPE;
109 typedef enum _WINED3DDEVTYPE
111 WINED3DDEVTYPE_HAL = 1,
112 WINED3DDEVTYPE_REF = 2,
113 WINED3DDEVTYPE_SW = 3,
114 WINED3DDEVTYPE_NULLREF = 4,
115 WINED3DDEVTYPE_FORCE_DWORD = 0xffffffff
116 } WINED3DDEVTYPE;
118 typedef enum _WINED3DDEGREETYPE
120 WINED3DDEGREE_LINEAR = 1,
121 WINED3DDEGREE_QUADRATIC = 2,
122 WINED3DDEGREE_CUBIC = 3,
123 WINED3DDEGREE_QUINTIC = 5,
124 WINED3DDEGREE_FORCE_DWORD = 0x7fffffff
125 } WINED3DDEGREETYPE;
127 typedef enum _WINED3DFORMAT
129 WINED3DFMT_UNKNOWN = 0,
130 WINED3DFMT_R8G8B8 = 20,
131 WINED3DFMT_A8R8G8B8 = 21,
132 WINED3DFMT_X8R8G8B8 = 22,
133 WINED3DFMT_R5G6B5 = 23,
134 WINED3DFMT_X1R5G5B5 = 24,
135 WINED3DFMT_A1R5G5B5 = 25,
136 WINED3DFMT_A4R4G4B4 = 26,
137 WINED3DFMT_R3G3B2 = 27,
138 WINED3DFMT_A8 = 28,
139 WINED3DFMT_A8R3G3B2 = 29,
140 WINED3DFMT_X4R4G4B4 = 30,
141 WINED3DFMT_A2B10G10R10 = 31,
142 WINED3DFMT_A8B8G8R8 = 32,
143 WINED3DFMT_X8B8G8R8 = 33,
144 WINED3DFMT_G16R16 = 34,
145 WINED3DFMT_A2R10G10B10 = 35,
146 WINED3DFMT_A16B16G16R16 = 36,
147 WINED3DFMT_A8P8 = 40,
148 WINED3DFMT_P8 = 41,
149 WINED3DFMT_L8 = 50,
150 WINED3DFMT_A8L8 = 51,
151 WINED3DFMT_A4L4 = 52,
152 WINED3DFMT_V8U8 = 60,
153 WINED3DFMT_L6V5U5 = 61,
154 WINED3DFMT_X8L8V8U8 = 62,
155 WINED3DFMT_Q8W8V8U8 = 63,
156 WINED3DFMT_V16U16 = 64,
157 WINED3DFMT_W11V11U10 = 65,
158 WINED3DFMT_A2W10V10U10 = 67,
159 WINED3DFMT_D16_LOCKABLE = 70,
160 WINED3DFMT_D32 = 71,
161 WINED3DFMT_D15S1 = 73,
162 WINED3DFMT_D24S8 = 75,
163 WINED3DFMT_D24X8 = 77,
164 WINED3DFMT_D24X4S4 = 79,
165 WINED3DFMT_D16 = 80,
166 WINED3DFMT_L16 = 81,
167 WINED3DFMT_D32F_LOCKABLE = 82,
168 WINED3DFMT_D24FS8 = 83,
169 WINED3DFMT_VERTEXDATA = 100,
170 WINED3DFMT_INDEX16 = 101,
171 WINED3DFMT_INDEX32 = 102,
172 WINED3DFMT_Q16W16V16U16 = 110,
173 WINED3DFMT_R16F = 111,
174 WINED3DFMT_G16R16F = 112,
175 WINED3DFMT_A16B16G16R16F = 113,
176 WINED3DFMT_R32F = 114,
177 WINED3DFMT_G32R32F = 115,
178 WINED3DFMT_A32B32G32R32F = 116,
179 WINED3DFMT_CxV8U8 = 117,
180 WINED3DFMT_FORCE_DWORD = 0xffffffff
181 } WINED3DFORMAT;
182 cpp_quote("#define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \\")
183 cpp_quote(" ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \\")
184 cpp_quote(" ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))")
185 cpp_quote("#define WINED3DFMT_UYVY WINEMAKEFOURCC('U', 'Y', 'V', 'Y')")
186 cpp_quote("#define WINED3DFMT_YUY2 WINEMAKEFOURCC('Y', 'U', 'Y', '2')")
187 cpp_quote("#define WINED3DFMT_YV12 WINEMAKEFOURCC('Y', 'V', '1', '2')")
188 cpp_quote("#define WINED3DFMT_DXT1 WINEMAKEFOURCC('D', 'X', 'T', '1')")
189 cpp_quote("#define WINED3DFMT_DXT2 WINEMAKEFOURCC('D', 'X', 'T', '2')")
190 cpp_quote("#define WINED3DFMT_DXT3 WINEMAKEFOURCC('D', 'X', 'T', '3')")
191 cpp_quote("#define WINED3DFMT_DXT4 WINEMAKEFOURCC('D', 'X', 'T', '4')")
192 cpp_quote("#define WINED3DFMT_DXT5 WINEMAKEFOURCC('D', 'X', 'T', '5')")
193 cpp_quote("#define WINED3DFMT_MULTI2_ARGB8 WINEMAKEFOURCC('M', 'E', 'T', '1')")
194 cpp_quote("#define WINED3DFMT_G8R8_G8B8 WINEMAKEFOURCC('G', 'R', 'G', 'B')")
195 cpp_quote("#define WINED3DFMT_R8G8_B8G8 WINEMAKEFOURCC('R', 'G', 'B', 'G')")
196 /* Vendor specific formats */
197 cpp_quote("#define WINED3DFMT_ATI2N WINEMAKEFOURCC('A', 'T', 'I', '2')")
198 cpp_quote("#define WINED3DFMT_NVHU WINEMAKEFOURCC('N', 'V', 'H', 'U')")
199 cpp_quote("#define WINED3DFMT_NVHS WINEMAKEFOURCC('N', 'V', 'H', 'S')")
201 typedef enum _WINED3DRENDERSTATETYPE
203 WINED3DRS_TEXTUREHANDLE = 1, /* d3d7 */
204 WINED3DRS_ANTIALIAS = 2, /* d3d7 */
205 WINED3DRS_TEXTUREADDRESS = 3, /* d3d7 */
206 WINED3DRS_TEXTUREPERSPECTIVE = 4, /* d3d7 */
207 WINED3DRS_WRAPU = 5, /* d3d7 */
208 WINED3DRS_WRAPV = 6, /* d3d7 */
209 WINED3DRS_ZENABLE = 7,
210 WINED3DRS_FILLMODE = 8,
211 WINED3DRS_SHADEMODE = 9,
212 WINED3DRS_LINEPATTERN = 10, /* d3d7, d3d8 */
213 WINED3DRS_MONOENABLE = 11, /* d3d7 */
214 WINED3DRS_ROP2 = 12, /* d3d7 */
215 WINED3DRS_PLANEMASK = 13, /* d3d7 */
216 WINED3DRS_ZWRITEENABLE = 14,
217 WINED3DRS_ALPHATESTENABLE = 15,
218 WINED3DRS_LASTPIXEL = 16,
219 WINED3DRS_TEXTUREMAG = 17, /* d3d7 */
220 WINED3DRS_TEXTUREMIN = 18, /* d3d7 */
221 WINED3DRS_SRCBLEND = 19,
222 WINED3DRS_DESTBLEND = 20,
223 WINED3DRS_TEXTUREMAPBLEND = 21, /* d3d7 */
224 WINED3DRS_CULLMODE = 22,
225 WINED3DRS_ZFUNC = 23,
226 WINED3DRS_ALPHAREF = 24,
227 WINED3DRS_ALPHAFUNC = 25,
228 WINED3DRS_DITHERENABLE = 26,
229 WINED3DRS_ALPHABLENDENABLE = 27,
230 WINED3DRS_FOGENABLE = 28,
231 WINED3DRS_SPECULARENABLE = 29,
232 WINED3DRS_ZVISIBLE = 30, /* d3d7, d3d8 */
233 WINED3DRS_SUBPIXEL = 31, /* d3d7 */
234 WINED3DRS_SUBPIXELX = 32, /* d3d7 */
235 WINED3DRS_STIPPLEDALPHA = 33, /* d3d7 */
236 WINED3DRS_FOGCOLOR = 34,
237 WINED3DRS_FOGTABLEMODE = 35,
238 WINED3DRS_FOGSTART = 36,
239 WINED3DRS_FOGEND = 37,
240 WINED3DRS_FOGDENSITY = 38,
241 WINED3DRS_STIPPLEENABLE = 39, /* d3d7 */
242 WINED3DRS_EDGEANTIALIAS = 40, /* d3d7, d3d8 */
243 WINED3DRS_COLORKEYENABLE = 41, /* d3d7 */
244 WINED3DRS_BORDERCOLOR = 43, /* d3d7 */
245 WINED3DRS_TEXTUREADDRESSU = 44, /* d3d7 */
246 WINED3DRS_TEXTUREADDRESSV = 45, /* d3d7 */
247 WINED3DRS_MIPMAPLODBIAS = 46, /* d3d7 */
248 WINED3DRS_ZBIAS = 47, /* d3d7, d3d8 */
249 WINED3DRS_RANGEFOGENABLE = 48,
250 WINED3DRS_ANISOTROPY = 49, /* d3d7 */
251 WINED3DRS_FLUSHBATCH = 50, /* d3d7 */
252 WINED3DRS_TRANSLUCENTSORTINDEPENDENT = 51, /* d3d7 */
253 WINED3DRS_STENCILENABLE = 52,
254 WINED3DRS_STENCILFAIL = 53,
255 WINED3DRS_STENCILZFAIL = 54,
256 WINED3DRS_STENCILPASS = 55,
257 WINED3DRS_STENCILFUNC = 56,
258 WINED3DRS_STENCILREF = 57,
259 WINED3DRS_STENCILMASK = 58,
260 WINED3DRS_STENCILWRITEMASK = 59,
261 WINED3DRS_TEXTUREFACTOR = 60,
262 WINED3DRS_STIPPLEPATTERN00 = 64,
263 WINED3DRS_STIPPLEPATTERN01 = 65,
264 WINED3DRS_STIPPLEPATTERN02 = 66,
265 WINED3DRS_STIPPLEPATTERN03 = 67,
266 WINED3DRS_STIPPLEPATTERN04 = 68,
267 WINED3DRS_STIPPLEPATTERN05 = 69,
268 WINED3DRS_STIPPLEPATTERN06 = 70,
269 WINED3DRS_STIPPLEPATTERN07 = 71,
270 WINED3DRS_STIPPLEPATTERN08 = 72,
271 WINED3DRS_STIPPLEPATTERN09 = 73,
272 WINED3DRS_STIPPLEPATTERN10 = 74,
273 WINED3DRS_STIPPLEPATTERN11 = 75,
274 WINED3DRS_STIPPLEPATTERN12 = 76,
275 WINED3DRS_STIPPLEPATTERN13 = 77,
276 WINED3DRS_STIPPLEPATTERN14 = 78,
277 WINED3DRS_STIPPLEPATTERN15 = 79,
278 WINED3DRS_STIPPLEPATTERN16 = 80,
279 WINED3DRS_STIPPLEPATTERN17 = 81,
280 WINED3DRS_STIPPLEPATTERN18 = 82,
281 WINED3DRS_STIPPLEPATTERN19 = 83,
282 WINED3DRS_STIPPLEPATTERN20 = 84,
283 WINED3DRS_STIPPLEPATTERN21 = 85,
284 WINED3DRS_STIPPLEPATTERN22 = 86,
285 WINED3DRS_STIPPLEPATTERN23 = 87,
286 WINED3DRS_STIPPLEPATTERN24 = 88,
287 WINED3DRS_STIPPLEPATTERN25 = 89,
288 WINED3DRS_STIPPLEPATTERN26 = 90,
289 WINED3DRS_STIPPLEPATTERN27 = 91,
290 WINED3DRS_STIPPLEPATTERN28 = 92,
291 WINED3DRS_STIPPLEPATTERN29 = 93,
292 WINED3DRS_STIPPLEPATTERN30 = 94,
293 WINED3DRS_STIPPLEPATTERN31 = 95,
294 WINED3DRS_WRAP0 = 128,
295 WINED3DRS_WRAP1 = 129,
296 WINED3DRS_WRAP2 = 130,
297 WINED3DRS_WRAP3 = 131,
298 WINED3DRS_WRAP4 = 132,
299 WINED3DRS_WRAP5 = 133,
300 WINED3DRS_WRAP6 = 134,
301 WINED3DRS_WRAP7 = 135,
302 WINED3DRS_CLIPPING = 136,
303 WINED3DRS_LIGHTING = 137,
304 WINED3DRS_EXTENTS = 138, /* d3d7 */
305 WINED3DRS_AMBIENT = 139,
306 WINED3DRS_FOGVERTEXMODE = 140,
307 WINED3DRS_COLORVERTEX = 141,
308 WINED3DRS_LOCALVIEWER = 142,
309 WINED3DRS_NORMALIZENORMALS = 143,
310 WINED3DRS_COLORKEYBLENDENABLE = 144, /* d3d7 */
311 WINED3DRS_DIFFUSEMATERIALSOURCE = 145,
312 WINED3DRS_SPECULARMATERIALSOURCE = 146,
313 WINED3DRS_AMBIENTMATERIALSOURCE = 147,
314 WINED3DRS_EMISSIVEMATERIALSOURCE = 148,
315 WINED3DRS_VERTEXBLEND = 151,
316 WINED3DRS_CLIPPLANEENABLE = 152,
317 WINED3DRS_SOFTWAREVERTEXPROCESSING = 153, /* d3d8 */
318 WINED3DRS_POINTSIZE = 154,
319 WINED3DRS_POINTSIZE_MIN = 155,
320 WINED3DRS_POINTSPRITEENABLE = 156,
321 WINED3DRS_POINTSCALEENABLE = 157,
322 WINED3DRS_POINTSCALE_A = 158,
323 WINED3DRS_POINTSCALE_B = 159,
324 WINED3DRS_POINTSCALE_C = 160,
325 WINED3DRS_MULTISAMPLEANTIALIAS = 161,
326 WINED3DRS_MULTISAMPLEMASK = 162,
327 WINED3DRS_PATCHEDGESTYLE = 163,
328 WINED3DRS_PATCHSEGMENTS = 164, /* d3d8 */
329 WINED3DRS_DEBUGMONITORTOKEN = 165,
330 WINED3DRS_POINTSIZE_MAX = 166,
331 WINED3DRS_INDEXEDVERTEXBLENDENABLE = 167,
332 WINED3DRS_COLORWRITEENABLE = 168,
333 WINED3DRS_TWEENFACTOR = 170,
334 WINED3DRS_BLENDOP = 171,
335 WINED3DRS_POSITIONORDER = 172,
336 WINED3DRS_NORMALORDER = 173,
337 WINED3DRS_POSITIONDEGREE = 172,
338 WINED3DRS_NORMALDEGREE = 173,
339 WINED3DRS_SCISSORTESTENABLE = 174,
340 WINED3DRS_SLOPESCALEDEPTHBIAS = 175,
341 WINED3DRS_ANTIALIASEDLINEENABLE = 176,
342 WINED3DRS_MINTESSELLATIONLEVEL = 178,
343 WINED3DRS_MAXTESSELLATIONLEVEL = 179,
344 WINED3DRS_ADAPTIVETESS_X = 180,
345 WINED3DRS_ADAPTIVETESS_Y = 181,
346 WINED3DRS_ADAPTIVETESS_Z = 182,
347 WINED3DRS_ADAPTIVETESS_W = 183,
348 WINED3DRS_ENABLEADAPTIVETESSELLATION = 184,
349 WINED3DRS_TWOSIDEDSTENCILMODE = 185,
350 WINED3DRS_CCW_STENCILFAIL = 186,
351 WINED3DRS_CCW_STENCILZFAIL = 187,
352 WINED3DRS_CCW_STENCILPASS = 188,
353 WINED3DRS_CCW_STENCILFUNC = 189,
354 WINED3DRS_COLORWRITEENABLE1 = 190,
355 WINED3DRS_COLORWRITEENABLE2 = 191,
356 WINED3DRS_COLORWRITEENABLE3 = 192,
357 WINED3DRS_BLENDFACTOR = 193,
358 WINED3DRS_SRGBWRITEENABLE = 194,
359 WINED3DRS_DEPTHBIAS = 195,
360 WINED3DRS_WRAP8 = 198,
361 WINED3DRS_WRAP9 = 199,
362 WINED3DRS_WRAP10 = 200,
363 WINED3DRS_WRAP11 = 201,
364 WINED3DRS_WRAP12 = 202,
365 WINED3DRS_WRAP13 = 203,
366 WINED3DRS_WRAP14 = 204,
367 WINED3DRS_WRAP15 = 205,
368 WINED3DRS_SEPARATEALPHABLENDENABLE = 206,
369 WINED3DRS_SRCBLENDALPHA = 207,
370 WINED3DRS_DESTBLENDALPHA = 208,
371 WINED3DRS_BLENDOPALPHA = 209,
372 WINED3DRS_FORCE_DWORD = 0x7fffffff
373 } WINED3DRENDERSTATETYPE;
374 const UINT WINEHIGHEST_RENDER_STATE = WINED3DRS_BLENDOPALPHA;
376 typedef enum _WINED3DBLEND
378 WINED3DBLEND_ZERO = 1,
379 WINED3DBLEND_ONE = 2,
380 WINED3DBLEND_SRCCOLOR = 3,
381 WINED3DBLEND_INVSRCCOLOR = 4,
382 WINED3DBLEND_SRCALPHA = 5,
383 WINED3DBLEND_INVSRCALPHA = 6,
384 WINED3DBLEND_DESTALPHA = 7,
385 WINED3DBLEND_INVDESTALPHA = 8,
386 WINED3DBLEND_DESTCOLOR = 9,
387 WINED3DBLEND_INVDESTCOLOR = 10,
388 WINED3DBLEND_SRCALPHASAT = 11,
389 WINED3DBLEND_BOTHSRCALPHA = 12,
390 WINED3DBLEND_BOTHINVSRCALPHA = 13,
391 WINED3DBLEND_BLENDFACTOR = 14,
392 WINED3DBLEND_INVBLENDFACTOR = 15,
393 WINED3DBLEND_FORCE_DWORD = 0x7fffffff
394 } WINED3DBLEND;
396 typedef enum _WINED3DBLENDOP
398 WINED3DBLENDOP_ADD = 1,
399 WINED3DBLENDOP_SUBTRACT = 2,
400 WINED3DBLENDOP_REVSUBTRACT = 3,
401 WINED3DBLENDOP_MIN = 4,
402 WINED3DBLENDOP_MAX = 5,
403 WINED3DBLENDOP_FORCE_DWORD = 0x7fffffff
404 } WINED3DBLENDOP;
406 typedef enum _WINED3DVERTEXBLENDFLAGS
408 WINED3DVBF_DISABLE = 0,
409 WINED3DVBF_1WEIGHTS = 1,
410 WINED3DVBF_2WEIGHTS = 2,
411 WINED3DVBF_3WEIGHTS = 3,
412 WINED3DVBF_TWEENING = 255,
413 WINED3DVBF_0WEIGHTS = 256
414 } WINED3DVERTEXBLENDFLAGS;
416 typedef enum _WINED3DCMPFUNC
418 WINED3DCMP_NEVER = 1,
419 WINED3DCMP_LESS = 2,
420 WINED3DCMP_EQUAL = 3,
421 WINED3DCMP_LESSEQUAL = 4,
422 WINED3DCMP_GREATER = 5,
423 WINED3DCMP_NOTEQUAL = 6,
424 WINED3DCMP_GREATEREQUAL = 7,
425 WINED3DCMP_ALWAYS = 8,
426 WINED3DCMP_FORCE_DWORD = 0x7fffffff
427 } WINED3DCMPFUNC;
429 typedef enum _WINED3DZBUFFERTYPE
431 WINED3DZB_FALSE = 0,
432 WINED3DZB_TRUE = 1,
433 WINED3DZB_USEW = 2,
434 WINED3DZB_FORCE_DWORD = 0x7fffffff
435 } WINED3DZBUFFERTYPE;
437 typedef enum _WINED3DFOGMODE
439 WINED3DFOG_NONE = 0,
440 WINED3DFOG_EXP = 1,
441 WINED3DFOG_EXP2 = 2,
442 WINED3DFOG_LINEAR = 3,
443 WINED3DFOG_FORCE_DWORD = 0x7fffffff
444 } WINED3DFOGMODE;
446 typedef enum _WINED3DSHADEMODE
448 WINED3DSHADE_FLAT = 1,
449 WINED3DSHADE_GOURAUD = 2,
450 WINED3DSHADE_PHONG = 3,
451 WINED3DSHADE_FORCE_DWORD = 0x7fffffff
452 } WINED3DSHADEMODE;
454 typedef enum _WINED3DFILLMODE
456 WINED3DFILL_POINT = 1,
457 WINED3DFILL_WIREFRAME = 2,
458 WINED3DFILL_SOLID = 3,
459 WINED3DFILL_FORCE_DWORD = 0x7fffffff
460 } WINED3DFILLMODE;
462 typedef enum _WINED3DCULL
464 WINED3DCULL_NONE = 1,
465 WINED3DCULL_CW = 2,
466 WINED3DCULL_CCW = 3,
467 WINED3DCULL_FORCE_DWORD = 0x7fffffff
468 } WINED3DCULL;
470 typedef enum _WINED3DSTENCILOP
472 WINED3DSTENCILOP_KEEP = 1,
473 WINED3DSTENCILOP_ZERO = 2,
474 WINED3DSTENCILOP_REPLACE = 3,
475 WINED3DSTENCILOP_INCRSAT = 4,
476 WINED3DSTENCILOP_DECRSAT = 5,
477 WINED3DSTENCILOP_INVERT = 6,
478 WINED3DSTENCILOP_INCR = 7,
479 WINED3DSTENCILOP_DECR = 8,
480 WINED3DSTENCILOP_FORCE_DWORD = 0x7fffffff
481 } WINED3DSTENCILOP;
483 typedef enum _WINED3DMATERIALCOLORSOURCE
485 WINED3DMCS_MATERIAL = 0,
486 WINED3DMCS_COLOR1 = 1,
487 WINED3DMCS_COLOR2 = 2,
488 WINED3DMCS_FORCE_DWORD = 0x7fffffff
489 } WINED3DMATERIALCOLORSOURCE;
491 typedef enum _WINED3DPATCHEDGESTYLE
493 WINED3DPATCHEDGE_DISCRETE = 0,
494 WINED3DPATCHEDGE_CONTINUOUS = 1,
495 WINED3DPATCHEDGE_FORCE_DWORD = 0x7fffffff
496 } WINED3DPATCHEDGESTYLE;
498 typedef enum _WINED3DBACKBUFFER_TYPE
500 WINED3DBACKBUFFER_TYPE_MONO = 0,
501 WINED3DBACKBUFFER_TYPE_LEFT = 1,
502 WINED3DBACKBUFFER_TYPE_RIGHT = 2,
503 WINED3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
504 } WINED3DBACKBUFFER_TYPE;
506 typedef enum _WINED3DSWAPEFFECT
508 WINED3DSWAPEFFECT_DISCARD = 1,
509 WINED3DSWAPEFFECT_FLIP = 2,
510 WINED3DSWAPEFFECT_COPY = 3,
511 WINED3DSWAPEFFECT_COPY_VSYNC = 4,
512 WINED3DSWAPEFFECT_FORCE_DWORD = 0xffffffff
513 } WINED3DSWAPEFFECT;
515 typedef enum _WINED3DSAMPLERSTATETYPE
517 WINED3DSAMP_ADDRESSU = 1,
518 WINED3DSAMP_ADDRESSV = 2,
519 WINED3DSAMP_ADDRESSW = 3,
520 WINED3DSAMP_BORDERCOLOR = 4,
521 WINED3DSAMP_MAGFILTER = 5,
522 WINED3DSAMP_MINFILTER = 6,
523 WINED3DSAMP_MIPFILTER = 7,
524 WINED3DSAMP_MIPMAPLODBIAS = 8,
525 WINED3DSAMP_MAXMIPLEVEL = 9,
526 WINED3DSAMP_MAXANISOTROPY = 10,
527 WINED3DSAMP_SRGBTEXTURE = 11,
528 WINED3DSAMP_ELEMENTINDEX = 12,
529 WINED3DSAMP_DMAPOFFSET = 13,
530 WINED3DSAMP_FORCE_DWORD = 0x7fffffff,
531 } WINED3DSAMPLERSTATETYPE;
532 const UINT WINED3D_HIGHEST_SAMPLER_STATE = WINED3DSAMP_DMAPOFFSET;
534 typedef enum _WINED3DMULTISAMPLE_TYPE
536 WINED3DMULTISAMPLE_NONE = 0,
537 WINED3DMULTISAMPLE_NONMASKABLE = 1,
538 WINED3DMULTISAMPLE_2_SAMPLES = 2,
539 WINED3DMULTISAMPLE_3_SAMPLES = 3,
540 WINED3DMULTISAMPLE_4_SAMPLES = 4,
541 WINED3DMULTISAMPLE_5_SAMPLES = 5,
542 WINED3DMULTISAMPLE_6_SAMPLES = 6,
543 WINED3DMULTISAMPLE_7_SAMPLES = 7,
544 WINED3DMULTISAMPLE_8_SAMPLES = 8,
545 WINED3DMULTISAMPLE_9_SAMPLES = 9,
546 WINED3DMULTISAMPLE_10_SAMPLES = 10,
547 WINED3DMULTISAMPLE_11_SAMPLES = 11,
548 WINED3DMULTISAMPLE_12_SAMPLES = 12,
549 WINED3DMULTISAMPLE_13_SAMPLES = 13,
550 WINED3DMULTISAMPLE_14_SAMPLES = 14,
551 WINED3DMULTISAMPLE_15_SAMPLES = 15,
552 WINED3DMULTISAMPLE_16_SAMPLES = 16,
553 WINED3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
554 } WINED3DMULTISAMPLE_TYPE;
556 typedef enum _WINED3DTEXTURESTAGESTATETYPE
558 WINED3DTSS_COLOROP = 0,
559 WINED3DTSS_COLORARG1 = 1,
560 WINED3DTSS_COLORARG2 = 2,
561 WINED3DTSS_ALPHAOP = 3,
562 WINED3DTSS_ALPHAARG1 = 4,
563 WINED3DTSS_ALPHAARG2 = 5,
564 WINED3DTSS_BUMPENVMAT00 = 6,
565 WINED3DTSS_BUMPENVMAT01 = 7,
566 WINED3DTSS_BUMPENVMAT10 = 8,
567 WINED3DTSS_BUMPENVMAT11 = 9,
568 WINED3DTSS_TEXCOORDINDEX = 10,
569 WINED3DTSS_BUMPENVLSCALE = 11,
570 WINED3DTSS_BUMPENVLOFFSET = 12,
571 WINED3DTSS_TEXTURETRANSFORMFLAGS = 13,
572 WINED3DTSS_COLORARG0 = 14,
573 WINED3DTSS_ALPHAARG0 = 15,
574 WINED3DTSS_RESULTARG = 16,
575 WINED3DTSS_CONSTANT = 17,
576 WINED3DTSS_FORCE_DWORD = 0x7fffffff
577 } WINED3DTEXTURESTAGESTATETYPE;
578 const UINT WINED3D_HIGHEST_TEXTURE_STATE = WINED3DTSS_CONSTANT;
580 typedef enum _WINED3DTEXTURETRANSFORMFLAGS
582 WINED3DTTFF_DISABLE = 0,
583 WINED3DTTFF_COUNT1 = 1,
584 WINED3DTTFF_COUNT2 = 2,
585 WINED3DTTFF_COUNT3 = 3,
586 WINED3DTTFF_COUNT4 = 4,
587 WINED3DTTFF_PROJECTED = 256,
588 WINED3DTTFF_FORCE_DWORD = 0x7fffffff
589 } WINED3DTEXTURETRANSFORMFLAGS;
591 typedef enum _WINED3DTEXTUREOP
593 WINED3DTOP_DISABLE = 1,
594 WINED3DTOP_SELECTARG1 = 2,
595 WINED3DTOP_SELECTARG2 = 3,
596 WINED3DTOP_MODULATE = 4,
597 WINED3DTOP_MODULATE2X = 5,
598 WINED3DTOP_MODULATE4X = 6,
599 WINED3DTOP_ADD = 7,
600 WINED3DTOP_ADDSIGNED = 8,
601 WINED3DTOP_ADDSIGNED2X = 9,
602 WINED3DTOP_SUBTRACT = 10,
603 WINED3DTOP_ADDSMOOTH = 11,
604 WINED3DTOP_BLENDDIFFUSEALPHA = 12,
605 WINED3DTOP_BLENDTEXTUREALPHA = 13,
606 WINED3DTOP_BLENDFACTORALPHA = 14,
607 WINED3DTOP_BLENDTEXTUREALPHAPM = 15,
608 WINED3DTOP_BLENDCURRENTALPHA = 16,
609 WINED3DTOP_PREMODULATE = 17,
610 WINED3DTOP_MODULATEALPHA_ADDCOLOR = 18,
611 WINED3DTOP_MODULATECOLOR_ADDALPHA = 19,
612 WINED3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
613 WINED3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
614 WINED3DTOP_BUMPENVMAP = 22,
615 WINED3DTOP_BUMPENVMAPLUMINANCE = 23,
616 WINED3DTOP_DOTPRODUCT3 = 24,
617 WINED3DTOP_MULTIPLYADD = 25,
618 WINED3DTOP_LERP = 26,
619 WINED3DTOP_FORCE_DWORD = 0x7fffffff,
620 } WINED3DTEXTUREOP;
622 typedef enum _WINED3DTEXTUREADDRESS
624 WINED3DTADDRESS_WRAP = 1,
625 WINED3DTADDRESS_MIRROR = 2,
626 WINED3DTADDRESS_CLAMP = 3,
627 WINED3DTADDRESS_BORDER = 4,
628 WINED3DTADDRESS_MIRRORONCE = 5,
629 WINED3DTADDRESS_FORCE_DWORD = 0x7fffffff
630 } WINED3DTEXTUREADDRESS;
632 typedef enum _WINED3DTRANSFORMSTATETYPE
634 WINED3DTS_VIEW = 2,
635 WINED3DTS_PROJECTION = 3,
636 WINED3DTS_TEXTURE0 = 16,
637 WINED3DTS_TEXTURE1 = 17,
638 WINED3DTS_TEXTURE2 = 18,
639 WINED3DTS_TEXTURE3 = 19,
640 WINED3DTS_TEXTURE4 = 20,
641 WINED3DTS_TEXTURE5 = 21,
642 WINED3DTS_TEXTURE6 = 22,
643 WINED3DTS_TEXTURE7 = 23,
644 WINED3DTS_FORCE_DWORD = 0x7fffffff
645 } WINED3DTRANSFORMSTATETYPE;
646 cpp_quote("#define WINED3DTS_WORLD WINED3DTS_WORLDMATRIX(0)")
647 cpp_quote("#define WINED3DTS_WORLD1 WINED3DTS_WORLDMATRIX(1)")
648 cpp_quote("#define WINED3DTS_WORLD2 WINED3DTS_WORLDMATRIX(2)")
649 cpp_quote("#define WINED3DTS_WORLD3 WINED3DTS_WORLDMATRIX(3)")
650 cpp_quote("#define WINED3DTS_WORLDMATRIX(index) (WINED3DTRANSFORMSTATETYPE)(index + 256)")
652 typedef enum _WINED3DBASISTYPE
654 WINED3DBASIS_BEZIER = 0,
655 WINED3DBASIS_BSPLINE = 1,
656 WINED3DBASIS_INTERPOLATE = 2,
657 WINED3DBASIS_FORCE_DWORD = 0x7fffffff
658 } WINED3DBASISTYPE;
660 typedef enum _WINED3DCUBEMAP_FACES
662 WINED3DCUBEMAP_FACE_POSITIVE_X = 0,
663 WINED3DCUBEMAP_FACE_NEGATIVE_X = 1,
664 WINED3DCUBEMAP_FACE_POSITIVE_Y = 2,
665 WINED3DCUBEMAP_FACE_NEGATIVE_Y = 3,
666 WINED3DCUBEMAP_FACE_POSITIVE_Z = 4,
667 WINED3DCUBEMAP_FACE_NEGATIVE_Z = 5,
668 WINED3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
669 } WINED3DCUBEMAP_FACES;
671 typedef enum _WINED3DTEXTUREFILTERTYPE
673 WINED3DTEXF_NONE = 0,
674 WINED3DTEXF_POINT = 1,
675 WINED3DTEXF_LINEAR = 2,
676 WINED3DTEXF_ANISOTROPIC = 3,
677 WINED3DTEXF_FLATCUBIC = 4,
678 WINED3DTEXF_GAUSSIANCUBIC = 5,
679 WINED3DTEXF_PYRAMIDALQUAD = 6,
680 WINED3DTEXF_GAUSSIANQUAD = 7,
681 WINED3DTEXF_FORCE_DWORD = 0x7fffffff
682 } WINED3DTEXTUREFILTERTYPE;
684 typedef enum _WINED3DRESOURCETYPE
686 WINED3DRTYPE_SURFACE = 1,
687 WINED3DRTYPE_VOLUME = 2,
688 WINED3DRTYPE_TEXTURE = 3,
689 WINED3DRTYPE_VOLUMETEXTURE = 4,
690 WINED3DRTYPE_CUBETEXTURE = 5,
691 WINED3DRTYPE_VERTEXBUFFER = 6,
692 WINED3DRTYPE_INDEXBUFFER = 7,
693 WINED3DRTYPE_FORCE_DWORD = 0x7fffffff
694 } WINED3DRESOURCETYPE;
695 const UINT WINED3DRTYPECOUNT = WINED3DRTYPE_INDEXBUFFER + 1;
697 typedef enum _WINED3DPOOL
699 WINED3DPOOL_DEFAULT = 0,
700 WINED3DPOOL_MANAGED = 1,
701 WINED3DPOOL_SYSTEMMEM = 2,
702 WINED3DPOOL_SCRATCH = 3,
703 WINED3DPOOL_FORCE_DWORD = 0x7fffffff
704 } WINED3DPOOL;
706 typedef enum _WINED3DQUERYTYPE
708 WINED3DQUERYTYPE_VCACHE = 4,
709 WINED3DQUERYTYPE_RESOURCEMANAGER = 5,
710 WINED3DQUERYTYPE_VERTEXSTATS = 6,
711 WINED3DQUERYTYPE_EVENT = 8,
712 WINED3DQUERYTYPE_OCCLUSION = 9,
713 WINED3DQUERYTYPE_TIMESTAMP = 10,
714 WINED3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
715 WINED3DQUERYTYPE_TIMESTAMPFREQ = 12,
716 WINED3DQUERYTYPE_PIPELINETIMINGS = 13,
717 WINED3DQUERYTYPE_INTERFACETIMINGS = 14,
718 WINED3DQUERYTYPE_VERTEXTIMINGS = 15,
719 WINED3DQUERYTYPE_PIXELTIMINGS = 16,
720 WINED3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
721 WINED3DQUERYTYPE_CACHEUTILIZATION = 18
722 } WINED3DQUERYTYPE;
724 const UINT WINED3DISSUE_BEGIN = (1 << 1);
725 const UINT WINED3DISSUE_END = (1 << 0);
726 const UINT WINED3DGETDATA_FLUSH = (1 << 0);
728 typedef enum _WINED3DSTATEBLOCKTYPE
730 WINED3DSBT_INIT = 0,
731 WINED3DSBT_ALL = 1,
732 WINED3DSBT_PIXELSTATE = 2,
733 WINED3DSBT_VERTEXSTATE = 3,
734 WINED3DSBT_RECORDED = 4, /* WineD3D private */
735 WINED3DSBT_FORCE_DWORD = 0xffffffff
736 } WINED3DSTATEBLOCKTYPE;
738 typedef enum _WINED3DDECLMETHOD
740 WINED3DDECLMETHOD_DEFAULT = 0,
741 WINED3DDECLMETHOD_PARTIALU = 1,
742 WINED3DDECLMETHOD_PARTIALV = 2,
743 WINED3DDECLMETHOD_CROSSUV = 3,
744 WINED3DDECLMETHOD_UV = 4,
745 WINED3DDECLMETHOD_LOOKUP = 5,
746 WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
747 } WINED3DDECLMETHOD;
749 typedef enum _WINED3DDECLTYPE
751 WINED3DDECLTYPE_FLOAT1 = 0,
752 WINED3DDECLTYPE_FLOAT2 = 1,
753 WINED3DDECLTYPE_FLOAT3 = 2,
754 WINED3DDECLTYPE_FLOAT4 = 3,
755 WINED3DDECLTYPE_D3DCOLOR = 4,
756 WINED3DDECLTYPE_UBYTE4 = 5,
757 WINED3DDECLTYPE_SHORT2 = 6,
758 WINED3DDECLTYPE_SHORT4 = 7,
759 /* VS 2.0 */
760 WINED3DDECLTYPE_UBYTE4N = 8,
761 WINED3DDECLTYPE_SHORT2N = 9,
762 WINED3DDECLTYPE_SHORT4N = 10,
763 WINED3DDECLTYPE_USHORT2N = 11,
764 WINED3DDECLTYPE_USHORT4N = 12,
765 WINED3DDECLTYPE_UDEC3 = 13,
766 WINED3DDECLTYPE_DEC3N = 14,
767 WINED3DDECLTYPE_FLOAT16_2 = 15,
768 WINED3DDECLTYPE_FLOAT16_4 = 16,
769 WINED3DDECLTYPE_UNUSED = 17,
770 } WINED3DDECLTYPE;
771 cpp_quote("#define WINED3DDECL_END() {0xFF, 0, WINED3DDECLTYPE_UNUSED, 0, 0, 0, -1}")
773 typedef enum _WINED3DDECLUSAGE
775 WINED3DDECLUSAGE_POSITION = 0,
776 WINED3DDECLUSAGE_BLENDWEIGHT = 1,
777 WINED3DDECLUSAGE_BLENDINDICES = 2,
778 WINED3DDECLUSAGE_NORMAL = 3,
779 WINED3DDECLUSAGE_PSIZE = 4,
780 WINED3DDECLUSAGE_TEXCOORD = 5,
781 WINED3DDECLUSAGE_TANGENT = 6,
782 WINED3DDECLUSAGE_BINORMAL = 7,
783 WINED3DDECLUSAGE_TESSFACTOR = 8,
784 WINED3DDECLUSAGE_POSITIONT = 9,
785 WINED3DDECLUSAGE_COLOR = 10,
786 WINED3DDECLUSAGE_FOG = 11,
787 WINED3DDECLUSAGE_DEPTH = 12,
788 WINED3DDECLUSAGE_SAMPLE = 13
789 } WINED3DDECLUSAGE;
791 typedef enum _WINED3DSURFTYPE
793 SURFACE_UNKNOWN = 0, /* Default / Unknown surface type */
794 SURFACE_OPENGL, /* OpenGL surface: Renders using libGL, needed for 3D */
795 SURFACE_GDI, /* User surface. No 3D, DirectDraw rendering with GDI */
796 } WINED3DSURFTYPE;
798 const UINT WINED3DCOLORWRITEENABLE_RED = (1<<0);
799 const UINT WINED3DCOLORWRITEENABLE_GREEN = (1<<1);
800 const UINT WINED3DCOLORWRITEENABLE_BLUE = (1<<2);
801 const UINT WINED3DCOLORWRITEENABLE_ALPHA = (1<<3);
803 const UINT WINED3DADAPTER_DEFAULT = 0;
804 const UINT WINED3DENUM_NO_WHQL_LEVEL = 2;
805 const UINT WINED3DPRESENT_BACK_BUFFER_MAX = 3;
807 const UINT WINED3DTSS_TCI_PASSTHRU = 0x00000;
808 const UINT WINED3DTSS_TCI_CAMERASPACENORMAL = 0x10000;
809 const UINT WINED3DTSS_TCI_CAMERASPACEPOSITION = 0x20000;
810 const UINT WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = 0x30000;
811 const UINT WINED3DTSS_TCI_SPHEREMAP = 0x40000;
813 const UINT WINED3DTA_SELECTMASK = 0x0000000f;
814 const UINT WINED3DTA_DIFFUSE = 0x00000000;
815 const UINT WINED3DTA_CURRENT = 0x00000001;
816 const UINT WINED3DTA_TEXTURE = 0x00000002;
817 const UINT WINED3DTA_TFACTOR = 0x00000003;
818 const UINT WINED3DTA_SPECULAR = 0x00000004;
819 const UINT WINED3DTA_TEMP = 0x00000005;
820 const UINT WINED3DTA_CONSTANT = 0x00000006;
821 const UINT WINED3DTA_COMPLEMENT = 0x00000010;
822 const UINT WINED3DTA_ALPHAREPLICATE = 0x00000020;
824 const UINT WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001;
825 const UINT WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL = 0x00000002;
826 const UINT WINED3DPRESENTFLAG_DEVICECLIP = 0x00000004;
827 const UINT WINED3DPRESENTFLAG_VIDEO = 0x00000010;
828 const UINT WINED3DPRESENTFLAG_NOAUTOROTATE = 0x00000020;
829 const UINT WINED3DPRESENTFLAG_UNPRUNEDMODE = 0x00000040;
831 const UINT WINED3DDP_MAXTEXCOORD = 8;
833 const UINT WINED3DUSAGE_RENDERTARGET = 0x00000001;
834 const UINT WINED3DUSAGE_DEPTHSTENCIL = 0x00000002;
835 const UINT WINED3DUSAGE_WRITEONLY = 0x00000008;
836 const UINT WINED3DUSAGE_SOFTWAREPROCESSING = 0x00000010;
837 const UINT WINED3DUSAGE_DONOTCLIP = 0x00000020;
838 const UINT WINED3DUSAGE_POINTS = 0x00000040;
839 const UINT WINED3DUSAGE_RTPATCHES = 0x00000080;
840 const UINT WINED3DUSAGE_NPATCHES = 0x00000100;
841 const UINT WINED3DUSAGE_DYNAMIC = 0x00000200;
842 const UINT WINED3DUSAGE_AUTOGENMIPMAP = 0x00000400;
843 const UINT WINED3DUSAGE_DMAP = 0x00004000;
844 const UINT WINED3DUSAGE_MASK = 0x00004fff;
845 const UINT WINED3DUSAGE_OVERLAY = 0x80000000;
847 const UINT WINED3DUSAGE_QUERY_LEGACYBUMPMAP = 0x00008000;
848 const UINT WINED3DUSAGE_QUERY_FILTER = 0x00020000;
849 const UINT WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING = 0x00080000;
850 const UINT WINED3DUSAGE_QUERY_SRGBREAD = 0x00010000;
851 const UINT WINED3DUSAGE_QUERY_SRGBWRITE = 0x00040000;
852 const UINT WINED3DUSAGE_QUERY_VERTEXTEXTURE = 0x00100000;
853 const UINT WINED3DUSAGE_QUERY_WRAPANDMIP = 0x00200000;
854 const UINT WINED3DUSAGE_QUERY_MASK = 0x003f8000;
856 const UINT WINED3DLOCK_READONLY = 0x0010;
857 const UINT WINED3DLOCK_NOSYSLOCK = 0x0800;
858 const UINT WINED3DLOCK_NOOVERWRITE = 0x1000;
859 const UINT WINED3DLOCK_DISCARD = 0x2000;
860 const UINT WINED3DLOCK_DONOTWAIT = 0x4000;
861 const UINT WINED3DLOCK_NO_DIRTY_UPDATE = 0x8000;
863 const UINT WINED3DPRESENT_RATE_DEFAULT = 0x000000000;
865 const UINT WINED3DPRESENT_INTERVAL_DEFAULT = 0x00000000;
866 const UINT WINED3DPRESENT_INTERVAL_ONE = 0x00000001;
867 const UINT WINED3DPRESENT_INTERVAL_TWO = 0x00000002;
868 const UINT WINED3DPRESENT_INTERVAL_THREE = 0x00000004;
869 const UINT WINED3DPRESENT_INTERVAL_FOUR = 0x00000008;
870 const UINT WINED3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000;
872 const UINT WINED3DMAXUSERCLIPPLANES = 32;
873 const UINT WINED3DCLIPPLANE0 = (1 << 0);
874 const UINT WINED3DCLIPPLANE1 = (1 << 1);
875 const UINT WINED3DCLIPPLANE2 = (1 << 2);
876 const UINT WINED3DCLIPPLANE3 = (1 << 3);
877 const UINT WINED3DCLIPPLANE4 = (1 << 4);
878 const UINT WINED3DCLIPPLANE5 = (1 << 5);
880 /* FVF (Flexible Vertex Format) codes */
881 const UINT WINED3DFVF_RESERVED0 = 0x0001;
882 const UINT WINED3DFVF_POSITION_MASK = 0x400e;
883 const UINT WINED3DFVF_XYZ = 0x0002;
884 const UINT WINED3DFVF_XYZRHW = 0x0004;
885 const UINT WINED3DFVF_XYZB1 = 0x0006;
886 const UINT WINED3DFVF_XYZB2 = 0x0008;
887 const UINT WINED3DFVF_XYZB3 = 0x000a;
888 const UINT WINED3DFVF_XYZB4 = 0x000c;
889 const UINT WINED3DFVF_XYZB5 = 0x000e;
890 const UINT WINED3DFVF_XYZW = 0x4002;
891 const UINT WINED3DFVF_NORMAL = 0x0010;
892 const UINT WINED3DFVF_PSIZE = 0x0020;
893 const UINT WINED3DFVF_DIFFUSE = 0x0040;
894 const UINT WINED3DFVF_SPECULAR = 0x0080;
895 const UINT WINED3DFVF_TEXCOUNT_MASK = 0x0f00;
896 const UINT WINED3DFVF_TEXCOUNT_SHIFT = 8;
897 const UINT WINED3DFVF_TEX0 = 0x0000;
898 const UINT WINED3DFVF_TEX1 = 0x0100;
899 const UINT WINED3DFVF_TEX2 = 0x0200;
900 const UINT WINED3DFVF_TEX3 = 0x0300;
901 const UINT WINED3DFVF_TEX4 = 0x0400;
902 const UINT WINED3DFVF_TEX5 = 0x0500;
903 const UINT WINED3DFVF_TEX6 = 0x0600;
904 const UINT WINED3DFVF_TEX7 = 0x0700;
905 const UINT WINED3DFVF_TEX8 = 0x0800;
906 const UINT WINED3DFVF_LASTBETA_UBYTE4 = 0x1000;
907 const UINT WINED3DFVF_LASTBETA_D3DCOLOR = 0x8000;
908 const UINT WINED3DFVF_RESERVED2 = 0x6000;
910 const UINT WINED3DFVF_TEXTUREFORMAT1 = 3;
911 const UINT WINED3DFVF_TEXTUREFORMAT2 = 0;
912 const UINT WINED3DFVF_TEXTUREFORMAT3 = 1;
913 const UINT WINED3DFVF_TEXTUREFORMAT4 = 2;
914 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE1(CoordIndex) (WINED3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))")
915 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE2(CoordIndex) (WINED3DFVF_TEXTUREFORMAT2)")
916 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE3(CoordIndex) (WINED3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))")
917 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE4(CoordIndex) (WINED3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))")
919 /* Clear flags */
920 const UINT WINED3DCLEAR_TARGET = 0x00000001;
921 const UINT WINED3DCLEAR_ZBUFFER = 0x00000002;
922 const UINT WINED3DCLEAR_STENCIL = 0x00000004;
924 /* Stream source flags */
925 const UINT WINED3DSTREAMSOURCE_INDEXEDDATA = (1 << 30);
926 const UINT WINED3DSTREAMSOURCE_INSTANCEDATA = (2 << 30);
928 /* SetPrivateData flags */
929 const UINT WINED3DSPD_IUNKNOWN = 0x00000001;
931 /* IWineD3D::CreateDevice behaviour flags */
932 const UINT WINED3DCREATE_FPU_PRESERVE = 0x00000002;
933 const UINT WINED3DCREATE_PUREDEVICE = 0x00000010;
934 const UINT WINED3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020;
935 const UINT WINED3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040;
936 const UINT WINED3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080;
937 const UINT WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100;
938 const UINT WINED3DCREATE_ADAPTERGROUP_DEVICE = 0x00000200;
940 /* VTF defines */
941 const UINT WINED3DDMAPSAMPLER = 0x100;
942 const UINT WINED3DVERTEXTEXTURESAMPLER0 = (WINED3DDMAPSAMPLER + 1);
943 const UINT WINED3DVERTEXTEXTURESAMPLER1 = (WINED3DDMAPSAMPLER + 2);
944 const UINT WINED3DVERTEXTEXTURESAMPLER2 = (WINED3DDMAPSAMPLER + 3);
945 const UINT WINED3DVERTEXTEXTURESAMPLER3 = (WINED3DDMAPSAMPLER + 4);
947 const UINT WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD = 0x00000020;
948 const UINT WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION = 0x00000080;
949 const UINT WINED3DCAPS3_COPY_TO_VIDMEM = 0x00000100;
950 const UINT WINED3DCAPS3_COPY_TO_SYSTEMMEM = 0x00000200;
951 const UINT WINED3DCAPS3_RESERVED = 0x8000001f;
953 const UINT WINED3DDEVCAPS2_STREAMOFFSET = 0x00000001;
954 const UINT WINED3DDEVCAPS2_DMAPNPATCH = 0x00000002;
955 const UINT WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH = 0x00000004;
956 const UINT WINED3DDEVCAPS2_ADAPTIVETESSNPATCH = 0x00000008;
957 const UINT WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES = 0x00000010;
958 const UINT WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH = 0x00000020;
959 const UINT WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET = 0x00000040;
961 const UINT WINED3DDTCAPS_UBYTE4 = 0x00000001;
962 const UINT WINED3DDTCAPS_UBYTE4N = 0x00000002;
963 const UINT WINED3DDTCAPS_SHORT2N = 0x00000004;
964 const UINT WINED3DDTCAPS_SHORT4N = 0x00000008;
965 const UINT WINED3DDTCAPS_USHORT2N = 0x00000010;
966 const UINT WINED3DDTCAPS_USHORT4N = 0x00000020;
967 const UINT WINED3DDTCAPS_UDEC3 = 0x00000040;
968 const UINT WINED3DDTCAPS_DEC3N = 0x00000080;
969 const UINT WINED3DDTCAPS_FLOAT16_2 = 0x00000100;
970 const UINT WINED3DDTCAPS_FLOAT16_4 = 0x00000200;
972 const UINT WINED3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffff;
973 const UINT WINED3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000;
974 const UINT WINED3DFVFCAPS_PSIZE = 0x00100000;
976 const UINT WINED3DLINECAPS_TEXTURE = 0x00000001;
977 const UINT WINED3DLINECAPS_ZTEST = 0x00000002;
978 const UINT WINED3DLINECAPS_BLEND = 0x00000004;
979 const UINT WINED3DLINECAPS_ALPHACMP = 0x00000008;
980 const UINT WINED3DLINECAPS_FOG = 0x00000010;
981 const UINT WINED3DLINECAPS_ANTIALIAS = 0x00000020;
983 const UINT WINED3DMAX30SHADERINSTRUCTIONS = 32768;
984 const UINT WINED3DMIN30SHADERINSTRUCTIONS = 512;
986 const UINT WINED3DPBLENDCAPS_ZERO = 0x00000001;
987 const UINT WINED3DPBLENDCAPS_ONE = 0x00000002;
988 const UINT WINED3DPBLENDCAPS_SRCCOLOR = 0x00000004;
989 const UINT WINED3DPBLENDCAPS_INVSRCCOLOR = 0x00000008;
990 const UINT WINED3DPBLENDCAPS_SRCALPHA = 0x00000010;
991 const UINT WINED3DPBLENDCAPS_INVSRCALPHA = 0x00000020;
992 const UINT WINED3DPBLENDCAPS_DESTALPHA = 0x00000040;
993 const UINT WINED3DPBLENDCAPS_INVDESTALPHA = 0x00000080;
994 const UINT WINED3DPBLENDCAPS_DESTCOLOR = 0x00000100;
995 const UINT WINED3DPBLENDCAPS_INVDESTCOLOR = 0x00000200;
996 const UINT WINED3DPBLENDCAPS_SRCALPHASAT = 0x00000400;
997 const UINT WINED3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800;
998 const UINT WINED3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000;
999 const UINT WINED3DPBLENDCAPS_BLENDFACTOR = 0x00002000;
1001 const UINT WINED3DPCMPCAPS_NEVER = 0x00000001;
1002 const UINT WINED3DPCMPCAPS_LESS = 0x00000002;
1003 const UINT WINED3DPCMPCAPS_EQUAL = 0x00000004;
1004 const UINT WINED3DPCMPCAPS_LESSEQUAL = 0x00000008;
1005 const UINT WINED3DPCMPCAPS_GREATER = 0x00000010;
1006 const UINT WINED3DPCMPCAPS_NOTEQUAL = 0x00000020;
1007 const UINT WINED3DPCMPCAPS_GREATEREQUAL = 0x00000040;
1008 const UINT WINED3DPCMPCAPS_ALWAYS = 0x00000080;
1010 const UINT WINED3DPMISCCAPS_MASKZ = 0x00000002;
1011 const UINT WINED3DPMISCCAPS_LINEPATTERNREP = 0x00000004;
1012 const UINT WINED3DPMISCCAPS_CULLNONE = 0x00000010;
1013 const UINT WINED3DPMISCCAPS_CULLCW = 0x00000020;
1014 const UINT WINED3DPMISCCAPS_CULLCCW = 0x00000040;
1015 const UINT WINED3DPMISCCAPS_COLORWRITEENABLE = 0x00000080;
1016 const UINT WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS = 0x00000100;
1017 const UINT WINED3DPMISCCAPS_CLIPTLVERTS = 0x00000200;
1018 const UINT WINED3DPMISCCAPS_TSSARGTEMP = 0x00000400;
1019 const UINT WINED3DPMISCCAPS_BLENDOP = 0x00000800;
1020 const UINT WINED3DPMISCCAPS_NULLREFERENCE = 0x00001000;
1021 const UINT WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS = 0x00004000;
1022 const UINT WINED3DPMISCCAPS_PERSTAGECONSTANT = 0x00008000;
1023 const UINT WINED3DPMISCCAPS_FOGANDSPECULARALPHA = 0x00010000;
1024 const UINT WINED3DPMISCCAPS_SEPARATEALPHABLEND = 0x00020000;
1025 const UINT WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS = 0x00040000;
1026 const UINT WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING = 0x00080000;
1027 const UINT WINED3DPMISCCAPS_FOGVERTEXCLAMPED = 0x00100000;
1029 const UINT WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
1030 const UINT WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
1031 const UINT WINED3DPS20_MAX_NUMTEMPS = 32;
1032 const UINT WINED3DPS20_MIN_NUMTEMPS = 12;
1033 const UINT WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH = 4;
1034 const UINT WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH = 0;
1035 const UINT WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS = 512;
1036 const UINT WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS = 96;
1038 const UINT WINED3DPS20CAPS_ARBITRARYSWIZZLE = 0x00000001;
1039 const UINT WINED3DPS20CAPS_GRADIENTINSTRUCTIONS = 0x00000002;
1040 const UINT WINED3DPS20CAPS_PREDICATION = 0x00000004;
1041 const UINT WINED3DPS20CAPS_NODEPENDENTREADLIMIT = 0x00000008;
1042 const UINT WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT = 0x00000010;
1044 const UINT WINED3DPTADDRESSCAPS_WRAP = 0x00000001;
1045 const UINT WINED3DPTADDRESSCAPS_MIRROR = 0x00000002;
1046 const UINT WINED3DPTADDRESSCAPS_CLAMP = 0x00000004;
1047 const UINT WINED3DPTADDRESSCAPS_BORDER = 0x00000008;
1048 const UINT WINED3DPTADDRESSCAPS_INDEPENDENTUV = 0x00000010;
1049 const UINT WINED3DPTADDRESSCAPS_MIRRORONCE = 0x00000020;
1051 const UINT WINED3DSTENCILCAPS_KEEP = 0x00000001;
1052 const UINT WINED3DSTENCILCAPS_ZERO = 0x00000002;
1053 const UINT WINED3DSTENCILCAPS_REPLACE = 0x00000004;
1054 const UINT WINED3DSTENCILCAPS_INCRSAT = 0x00000008;
1055 const UINT WINED3DSTENCILCAPS_DECRSAT = 0x00000010;
1056 const UINT WINED3DSTENCILCAPS_INVERT = 0x00000020;
1057 const UINT WINED3DSTENCILCAPS_INCR = 0x00000040;
1058 const UINT WINED3DSTENCILCAPS_DECR = 0x00000080;
1059 const UINT WINED3DSTENCILCAPS_TWOSIDED = 0x00000100;
1061 const UINT WINED3DTEXOPCAPS_DISABLE = 0x00000001;
1062 const UINT WINED3DTEXOPCAPS_SELECTARG1 = 0x00000002;
1063 const UINT WINED3DTEXOPCAPS_SELECTARG2 = 0x00000004;
1064 const UINT WINED3DTEXOPCAPS_MODULATE = 0x00000008;
1065 const UINT WINED3DTEXOPCAPS_MODULATE2X = 0x00000010;
1066 const UINT WINED3DTEXOPCAPS_MODULATE4X = 0x00000020;
1067 const UINT WINED3DTEXOPCAPS_ADD = 0x00000040;
1068 const UINT WINED3DTEXOPCAPS_ADDSIGNED = 0x00000080;
1069 const UINT WINED3DTEXOPCAPS_ADDSIGNED2X = 0x00000100;
1070 const UINT WINED3DTEXOPCAPS_SUBTRACT = 0x00000200;
1071 const UINT WINED3DTEXOPCAPS_ADDSMOOTH = 0x00000400;
1072 const UINT WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA = 0x00000800;
1073 const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHA = 0x00001000;
1074 const UINT WINED3DTEXOPCAPS_BLENDFACTORALPHA = 0x00002000;
1075 const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM = 0x00004000;
1076 const UINT WINED3DTEXOPCAPS_BLENDCURRENTALPHA = 0x00008000;
1077 const UINT WINED3DTEXOPCAPS_PREMODULATE = 0x00010000;
1078 const UINT WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR = 0x00020000;
1079 const UINT WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA = 0x00040000;
1080 const UINT WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR = 0x00080000;
1081 const UINT WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA = 0x00100000;
1082 const UINT WINED3DTEXOPCAPS_BUMPENVMAP = 0x00200000;
1083 const UINT WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE = 0x00400000;
1084 const UINT WINED3DTEXOPCAPS_DOTPRODUCT3 = 0x00800000;
1085 const UINT WINED3DTEXOPCAPS_MULTIPLYADD = 0x01000000;
1086 const UINT WINED3DTEXOPCAPS_LERP = 0x02000000;
1088 const UINT WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
1089 const UINT WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
1090 const UINT WINED3DVS20_MAX_NUMTEMPS = 32;
1091 const UINT WINED3DVS20_MIN_NUMTEMPS = 12;
1092 const UINT WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH = 4;
1093 const UINT WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH = 1;
1095 const UINT WINED3DVS20CAPS_PREDICATION = 0x00000001;
1097 const UINT WINED3DCAPS2_NO2DDURING3DSCENE = 0x00000002;
1098 const UINT WINED3DCAPS2_FULLSCREENGAMMA = 0x00020000;
1099 const UINT WINED3DCAPS2_CANRENDERWINDOWED = 0x00080000;
1100 const UINT WINED3DCAPS2_CANCALIBRATEGAMMA = 0x00100000;
1101 const UINT WINED3DCAPS2_RESERVED = 0x02000000;
1102 const UINT WINED3DCAPS2_CANMANAGERESOURCE = 0x10000000;
1103 const UINT WINED3DCAPS2_DYNAMICTEXTURES = 0x20000000;
1104 const UINT WINED3DCAPS2_CANAUTOGENMIPMAP = 0x40000000;
1106 const UINT WINED3DPRASTERCAPS_DITHER = 0x00000001;
1107 const UINT WINED3DPRASTERCAPS_ROP2 = 0x00000002;
1108 const UINT WINED3DPRASTERCAPS_XOR = 0x00000004;
1109 const UINT WINED3DPRASTERCAPS_PAT = 0x00000008;
1110 const UINT WINED3DPRASTERCAPS_ZTEST = 0x00000010;
1111 const UINT WINED3DPRASTERCAPS_SUBPIXEL = 0x00000020;
1112 const UINT WINED3DPRASTERCAPS_SUBPIXELX = 0x00000040;
1113 const UINT WINED3DPRASTERCAPS_FOGVERTEX = 0x00000080;
1114 const UINT WINED3DPRASTERCAPS_FOGTABLE = 0x00000100;
1115 const UINT WINED3DPRASTERCAPS_STIPPLE = 0x00000200;
1116 const UINT WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT = 0x00000400;
1117 const UINT WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT = 0x00000800;
1118 const UINT WINED3DPRASTERCAPS_ANTIALIASEDGES = 0x00001000;
1119 const UINT WINED3DPRASTERCAPS_MIPMAPLODBIAS = 0x00002000;
1120 const UINT WINED3DPRASTERCAPS_ZBIAS = 0x00004000;
1121 const UINT WINED3DPRASTERCAPS_ZBUFFERLESSHSR = 0x00008000;
1122 const UINT WINED3DPRASTERCAPS_FOGRANGE = 0x00010000;
1123 const UINT WINED3DPRASTERCAPS_ANISOTROPY = 0x00020000;
1124 const UINT WINED3DPRASTERCAPS_WBUFFER = 0x00040000;
1125 const UINT WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT = 0x00080000;
1126 const UINT WINED3DPRASTERCAPS_WFOG = 0x00100000;
1127 const UINT WINED3DPRASTERCAPS_ZFOG = 0x00200000;
1128 const UINT WINED3DPRASTERCAPS_COLORPERSPECTIVE = 0x00400000;
1129 const UINT WINED3DPRASTERCAPS_SCISSORTEST = 0x01000000;
1130 const UINT WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS = 0x02000000;
1131 const UINT WINED3DPRASTERCAPS_DEPTHBIAS = 0x04000000;
1132 const UINT WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE = 0x08000000;
1134 const UINT WINED3DPSHADECAPS_COLORFLATMONO = 0x00000001;
1135 const UINT WINED3DPSHADECAPS_COLORFLATRGB = 0x00000002;
1136 const UINT WINED3DPSHADECAPS_COLORGOURAUDMONO = 0x00000004;
1137 const UINT WINED3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008;
1138 const UINT WINED3DPSHADECAPS_COLORPHONGMONO = 0x00000010;
1139 const UINT WINED3DPSHADECAPS_COLORPHONGRGB = 0x00000020;
1140 const UINT WINED3DPSHADECAPS_SPECULARFLATMONO = 0x00000040;
1141 const UINT WINED3DPSHADECAPS_SPECULARFLATRGB = 0x00000080;
1142 const UINT WINED3DPSHADECAPS_SPECULARGOURAUDMONO = 0x00000100;
1143 const UINT WINED3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200;
1144 const UINT WINED3DPSHADECAPS_SPECULARPHONGMONO = 0x00000400;
1145 const UINT WINED3DPSHADECAPS_SPECULARPHONGRGB = 0x00000800;
1146 const UINT WINED3DPSHADECAPS_ALPHAFLATBLEND = 0x00001000;
1147 const UINT WINED3DPSHADECAPS_ALPHAFLATSTIPPLED = 0x00002000;
1148 const UINT WINED3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000;
1149 const UINT WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED = 0x00008000;
1150 const UINT WINED3DPSHADECAPS_ALPHAPHONGBLEND = 0x00010000;
1151 const UINT WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED = 0x00020000;
1152 const UINT WINED3DPSHADECAPS_FOGFLAT = 0x00040000;
1153 const UINT WINED3DPSHADECAPS_FOGGOURAUD = 0x00080000;
1154 const UINT WINED3DPSHADECAPS_FOGPHONG = 0x00100000;
1156 const UINT WINED3DPTEXTURECAPS_PERSPECTIVE = 0x00000001;
1157 const UINT WINED3DPTEXTURECAPS_POW2 = 0x00000002;
1158 const UINT WINED3DPTEXTURECAPS_ALPHA = 0x00000004;
1159 const UINT WINED3DPTEXTURECAPS_TRANSPARENCY = 0x00000008;
1160 const UINT WINED3DPTEXTURECAPS_BORDER = 0x00000010;
1161 const UINT WINED3DPTEXTURECAPS_SQUAREONLY = 0x00000020;
1162 const UINT WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE = 0x00000040;
1163 const UINT WINED3DPTEXTURECAPS_ALPHAPALETTE = 0x00000080;
1164 const UINT WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL = 0x00000100;
1165 const UINT WINED3DPTEXTURECAPS_PROJECTED = 0x00000400;
1166 const UINT WINED3DPTEXTURECAPS_CUBEMAP = 0x00000800;
1167 const UINT WINED3DPTEXTURECAPS_COLORKEYBLEND = 0x00001000;
1168 const UINT WINED3DPTEXTURECAPS_VOLUMEMAP = 0x00002000;
1169 const UINT WINED3DPTEXTURECAPS_MIPMAP = 0x00004000;
1170 const UINT WINED3DPTEXTURECAPS_MIPVOLUMEMAP = 0x00008000;
1171 const UINT WINED3DPTEXTURECAPS_MIPCUBEMAP = 0x00010000;
1172 const UINT WINED3DPTEXTURECAPS_CUBEMAP_POW2 = 0x00020000;
1173 const UINT WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 = 0x00040000;
1174 const UINT WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV = 0x00200000;
1176 const UINT WINED3DPTFILTERCAPS_NEAREST = 0x00000001;
1177 const UINT WINED3DPTFILTERCAPS_LINEAR = 0x00000002;
1178 const UINT WINED3DPTFILTERCAPS_MIPNEAREST = 0x00000004;
1179 const UINT WINED3DPTFILTERCAPS_MIPLINEAR = 0x00000008;
1180 const UINT WINED3DPTFILTERCAPS_LINEARMIPNEAREST = 0x00000010;
1181 const UINT WINED3DPTFILTERCAPS_LINEARMIPLINEAR = 0x00000020;
1182 const UINT WINED3DPTFILTERCAPS_MINFPOINT = 0x00000100;
1183 const UINT WINED3DPTFILTERCAPS_MINFLINEAR = 0x00000200;
1184 const UINT WINED3DPTFILTERCAPS_MINFANISOTROPIC = 0x00000400;
1185 const UINT WINED3DPTFILTERCAPS_MIPFPOINT = 0x00010000;
1186 const UINT WINED3DPTFILTERCAPS_MIPFLINEAR = 0x00020000;
1187 const UINT WINED3DPTFILTERCAPS_MAGFPOINT = 0x01000000;
1188 const UINT WINED3DPTFILTERCAPS_MAGFLINEAR = 0x02000000;
1189 const UINT WINED3DPTFILTERCAPS_MAGFANISOTROPIC = 0x04000000;
1190 const UINT WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD = 0x08000000;
1191 const UINT WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD = 0x10000000;
1193 const UINT WINED3DVTXPCAPS_TEXGEN = 0x00000001;
1194 const UINT WINED3DVTXPCAPS_MATERIALSOURCE7 = 0x00000002;
1195 const UINT WINED3DVTXPCAPS_VERTEXFOG = 0x00000004;
1196 const UINT WINED3DVTXPCAPS_DIRECTIONALLIGHTS = 0x00000008;
1197 const UINT WINED3DVTXPCAPS_POSITIONALLIGHTS = 0x00000010;
1198 const UINT WINED3DVTXPCAPS_LOCALVIEWER = 0x00000020;
1199 const UINT WINED3DVTXPCAPS_TWEENING = 0x00000040;
1200 const UINT WINED3DVTXPCAPS_TEXGEN_SPHEREMAP = 0x00000100;
1201 const UINT WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER = 0x00000200;
1203 const UINT WINED3DCURSORCAPS_COLOR = 0x00000001;
1204 const UINT WINED3DCURSORCAPS_LOWRES = 0x00000002;
1206 const UINT WINED3DDEVCAPS_FLOATTLVERTEX = 0x00000001;
1207 const UINT WINED3DDEVCAPS_SORTINCREASINGZ = 0x00000002;
1208 const UINT WINED3DDEVCAPS_SORTDECREASINGZ = 0X00000004;
1209 const UINT WINED3DDEVCAPS_SORTEXACT = 0x00000008;
1210 const UINT WINED3DDEVCAPS_EXECUTESYSTEMMEMORY = 0x00000010;
1211 const UINT WINED3DDEVCAPS_EXECUTEVIDEOMEMORY = 0x00000020;
1212 const UINT WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 0x00000040;
1213 const UINT WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY = 0x00000080;
1214 const UINT WINED3DDEVCAPS_TEXTURESYSTEMMEMORY = 0x00000100;
1215 const UINT WINED3DDEVCAPS_TEXTUREVIDEOMEMORY = 0x00000200;
1216 const UINT WINED3DDEVCAPS_DRAWPRIMTLVERTEX = 0x00000400;
1217 const UINT WINED3DDEVCAPS_CANRENDERAFTERFLIP = 0x00000800;
1218 const UINT WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM = 0x00001000;
1219 const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2 = 0x00002000;
1220 const UINT WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES = 0x00004000;
1221 const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2EX = 0x00008000;
1222 const UINT WINED3DDEVCAPS_HWTRANSFORMANDLIGHT = 0x00010000;
1223 const UINT WINED3DDEVCAPS_CANBLTSYSTONONLOCAL = 0x00020000;
1224 const UINT WINED3DDEVCAPS_HWRASTERIZATION = 0x00080000;
1225 const UINT WINED3DDEVCAPS_PUREDEVICE = 0x00100000;
1226 const UINT WINED3DDEVCAPS_QUINTICRTPATCHES = 0x00200000;
1227 const UINT WINED3DDEVCAPS_RTPATCHES = 0x00400000;
1228 const UINT WINED3DDEVCAPS_RTPATCHHANDLEZERO = 0x00800000;
1229 const UINT WINED3DDEVCAPS_NPATCHES = 0x01000000;
1231 /* dwDDFX */
1232 /* arithmetic stretching along y axis */
1233 const UINT WINEDDBLTFX_ARITHSTRETCHY = 0x00000001;
1234 /* mirror on y axis */
1235 const UINT WINEDDBLTFX_MIRRORLEFTRIGHT = 0x00000002;
1236 /* mirror on x axis */
1237 const UINT WINEDDBLTFX_MIRRORUPDOWN = 0x00000004;
1238 /* do not tear */
1239 const UINT WINEDDBLTFX_NOTEARING = 0x00000008;
1240 /* 180 degrees clockwise rotation */
1241 const UINT WINEDDBLTFX_ROTATE180 = 0x00000010;
1242 /* 270 degrees clockwise rotation */
1243 const UINT WINEDDBLTFX_ROTATE270 = 0x00000020;
1244 /* 90 degrees clockwise rotation */
1245 const UINT WINEDDBLTFX_ROTATE90 = 0x00000040;
1246 /* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
1247 const UINT WINEDDBLTFX_ZBUFFERRANGE = 0x00000080;
1248 /* add dwZBufferBaseDest to every source z value before compare */
1249 const UINT WINEDDBLTFX_ZBUFFERBASEDEST = 0x00000100;
1251 /* dwFlags for Blt* */
1252 const UINT WINEDDBLT_ALPHADEST = 0x00000001;
1253 const UINT WINEDDBLT_ALPHADESTCONSTOVERRIDE = 0x00000002;
1254 const UINT WINEDDBLT_ALPHADESTNEG = 0x00000004;
1255 const UINT WINEDDBLT_ALPHADESTSURFACEOVERRIDE = 0x00000008;
1256 const UINT WINEDDBLT_ALPHAEDGEBLEND = 0x00000010;
1257 const UINT WINEDDBLT_ALPHASRC = 0x00000020;
1258 const UINT WINEDDBLT_ALPHASRCCONSTOVERRIDE = 0x00000040;
1259 const UINT WINEDDBLT_ALPHASRCNEG = 0x00000080;
1260 const UINT WINEDDBLT_ALPHASRCSURFACEOVERRIDE = 0x00000100;
1261 const UINT WINEDDBLT_ASYNC = 0x00000200;
1262 const UINT WINEDDBLT_COLORFILL = 0x00000400;
1263 const UINT WINEDDBLT_DDFX = 0x00000800;
1264 const UINT WINEDDBLT_DDROPS = 0x00001000;
1265 const UINT WINEDDBLT_KEYDEST = 0x00002000;
1266 const UINT WINEDDBLT_KEYDESTOVERRIDE = 0x00004000;
1267 const UINT WINEDDBLT_KEYSRC = 0x00008000;
1268 const UINT WINEDDBLT_KEYSRCOVERRIDE = 0x00010000;
1269 const UINT WINEDDBLT_ROP = 0x00020000;
1270 const UINT WINEDDBLT_ROTATIONANGLE = 0x00040000;
1271 const UINT WINEDDBLT_ZBUFFER = 0x00080000;
1272 const UINT WINEDDBLT_ZBUFFERDESTCONSTOVERRIDE = 0x00100000;
1273 const UINT WINEDDBLT_ZBUFFERDESTOVERRIDE = 0x00200000;
1274 const UINT WINEDDBLT_ZBUFFERSRCCONSTOVERRIDE = 0x00400000;
1275 const UINT WINEDDBLT_ZBUFFERSRCOVERRIDE = 0x00800000;
1276 const UINT WINEDDBLT_WAIT = 0x01000000;
1277 const UINT WINEDDBLT_DEPTHFILL = 0x02000000;
1278 const UINT WINEDDBLT_DONOTWAIT = 0x08000000;
1280 /* dwTrans for BltFast */
1281 const UINT WINEDDBLTFAST_NOCOLORKEY = 0x00000000;
1282 const UINT WINEDDBLTFAST_SRCCOLORKEY = 0x00000001;
1283 const UINT WINEDDBLTFAST_DESTCOLORKEY = 0x00000002;
1284 const UINT WINEDDBLTFAST_WAIT = 0x00000010;
1285 const UINT WINEDDBLTFAST_DONOTWAIT = 0x00000020;
1287 /* DDSURFACEDESC.dwFlags */
1288 const UINT WINEDDSD_CAPS = 0x00000001;
1289 const UINT WINEDDSD_HEIGHT = 0x00000002;
1290 const UINT WINEDDSD_WIDTH = 0x00000004;
1291 const UINT WINEDDSD_PITCH = 0x00000008;
1292 const UINT WINEDDSD_BACKBUFFERCOUNT = 0x00000020;
1293 const UINT WINEDDSD_ZBUFFERBITDEPTH = 0x00000040;
1294 const UINT WINEDDSD_ALPHABITDEPTH = 0x00000080;
1295 const UINT WINEDDSD_LPSURFACE = 0x00000800;
1296 const UINT WINEDDSD_PIXELFORMAT = 0x00001000;
1297 const UINT WINEDDSD_CKDESTOVERLAY = 0x00002000;
1298 const UINT WINEDDSD_CKDESTBLT = 0x00004000;
1299 const UINT WINEDDSD_CKSRCOVERLAY = 0x00008000;
1300 const UINT WINEDDSD_CKSRCBLT = 0x00010000;
1301 const UINT WINEDDSD_MIPMAPCOUNT = 0x00020000;
1302 const UINT WINEDDSD_REFRESHRATE = 0x00040000;
1303 const UINT WINEDDSD_LINEARSIZE = 0x00080000;
1304 const UINT WINEDDSD_TEXTURESTAGE = 0x00100000;
1305 const UINT WINEDDSD_FVF = 0x00200000;
1306 const UINT WINEDDSD_SRCVBHANDLE = 0x00400000;
1307 const UINT WINEDDSD_ALL = 0x007ff9ee;
1309 /* Set/Get Colour Key Flags */
1310 const UINT WINEDDCKEY_COLORSPACE = 0x00000001; /* Struct is single colour space */
1311 const UINT WINEDDCKEY_DESTBLT = 0x00000002; /* To be used as dest for blt */
1312 const UINT WINEDDCKEY_DESTOVERLAY = 0x00000004; /* To be used as dest for CK overlays */
1313 const UINT WINEDDCKEY_SRCBLT = 0x00000008; /* To be used as src for blt */
1314 const UINT WINEDDCKEY_SRCOVERLAY = 0x00000010; /* To be used as src for CK overlays */
1316 /* dwFlags for GetBltStatus */
1317 const UINT WINEDDGBS_CANBLT = 0x00000001;
1318 const UINT WINEDDGBS_ISBLTDONE = 0x00000002;
1320 /* dwFlags for GetFlipStatus */
1321 const UINT WINEDDGFS_CANFLIP = 0x00000001;
1322 const UINT WINEDDGFS_ISFLIPDONE = 0x00000002;
1324 /* dwFlags for Flip */
1325 const UINT WINEDDFLIP_WAIT = 0x00000001;
1326 const UINT WINEDDFLIP_EVEN = 0x00000002; /* only valid for overlay */
1327 const UINT WINEDDFLIP_ODD = 0x00000004; /* only valid for overlay */
1328 const UINT WINEDDFLIP_NOVSYNC = 0x00000008;
1329 const UINT WINEDDFLIP_STEREO = 0x00000010;
1330 const UINT WINEDDFLIP_DONOTWAIT = 0x00000020;
1331 const UINT WINEDDFLIP_INTERVAL2 = 0x02000000;
1332 const UINT WINEDDFLIP_INTERVAL3 = 0x03000000;
1333 const UINT WINEDDFLIP_INTERVAL4 = 0x04000000;
1335 const UINT WINEDDOVER_ALPHADEST = 0x00000001;
1336 const UINT WINEDDOVER_ALPHADESTCONSTOVERRIDE = 0x00000002;
1337 const UINT WINEDDOVER_ALPHADESTNEG = 0x00000004;
1338 const UINT WINEDDOVER_ALPHADESTSURFACEOVERRIDE = 0x00000008;
1339 const UINT WINEDDOVER_ALPHAEDGEBLEND = 0x00000010;
1340 const UINT WINEDDOVER_ALPHASRC = 0x00000020;
1341 const UINT WINEDDOVER_ALPHASRCCONSTOVERRIDE = 0x00000040;
1342 const UINT WINEDDOVER_ALPHASRCNEG = 0x00000080;
1343 const UINT WINEDDOVER_ALPHASRCSURFACEOVERRIDE = 0x00000100;
1344 const UINT WINEDDOVER_HIDE = 0x00000200;
1345 const UINT WINEDDOVER_KEYDEST = 0x00000400;
1346 const UINT WINEDDOVER_KEYDESTOVERRIDE = 0x00000800;
1347 const UINT WINEDDOVER_KEYSRC = 0x00001000;
1348 const UINT WINEDDOVER_KEYSRCOVERRIDE = 0x00002000;
1349 const UINT WINEDDOVER_SHOW = 0x00004000;
1350 const UINT WINEDDOVER_ADDDIRTYRECT = 0x00008000;
1351 const UINT WINEDDOVER_REFRESHDIRTYRECTS = 0x00010000;
1352 const UINT WINEDDOVER_REFRESHALL = 0x00020000;
1353 const UINT WINEDDOVER_DDFX = 0x00080000;
1354 const UINT WINEDDOVER_AUTOFLIP = 0x00100000;
1355 const UINT WINEDDOVER_BOB = 0x00200000;
1356 const UINT WINEDDOVER_OVERRIDEBOBWEAVE = 0x00400000;
1357 const UINT WINEDDOVER_INTERLEAVED = 0x00800000;
1359 /* DirectDraw Caps */
1360 const UINT WINEDDSCAPS_RESERVED1 = 0x00000001;
1361 const UINT WINEDDSCAPS_ALPHA = 0x00000002;
1362 const UINT WINEDDSCAPS_BACKBUFFER = 0x00000004;
1363 const UINT WINEDDSCAPS_COMPLEX = 0x00000008;
1364 const UINT WINEDDSCAPS_FLIP = 0x00000010;
1365 const UINT WINEDDSCAPS_FRONTBUFFER = 0x00000020;
1366 const UINT WINEDDSCAPS_OFFSCREENPLAIN = 0x00000040;
1367 const UINT WINEDDSCAPS_OVERLAY = 0x00000080;
1368 const UINT WINEDDSCAPS_PALETTE = 0x00000100;
1369 const UINT WINEDDSCAPS_PRIMARYSURFACE = 0x00000200;
1370 const UINT WINEDDSCAPS_PRIMARYSURFACELEFT = 0x00000400;
1371 const UINT WINEDDSCAPS_SYSTEMMEMORY = 0x00000800;
1372 const UINT WINEDDSCAPS_TEXTURE = 0x00001000;
1373 const UINT WINEDDSCAPS_3DDEVICE = 0x00002000;
1374 const UINT WINEDDSCAPS_VIDEOMEMORY = 0x00004000;
1375 const UINT WINEDDSCAPS_VISIBLE = 0x00008000;
1376 const UINT WINEDDSCAPS_WRITEONLY = 0x00010000;
1377 const UINT WINEDDSCAPS_ZBUFFER = 0x00020000;
1378 const UINT WINEDDSCAPS_OWNDC = 0x00040000;
1379 const UINT WINEDDSCAPS_LIVEVIDEO = 0x00080000;
1380 const UINT WINEDDSCAPS_HWCODEC = 0x00100000;
1381 const UINT WINEDDSCAPS_MODEX = 0x00200000;
1382 const UINT WINEDDSCAPS_MIPMAP = 0x00400000;
1383 const UINT WINEDDSCAPS_RESERVED2 = 0x00800000;
1384 const UINT WINEDDSCAPS_ALLOCONLOAD = 0x04000000;
1385 const UINT WINEDDSCAPS_VIDEOPORT = 0x08000000;
1386 const UINT WINEDDSCAPS_LOCALVIDMEM = 0x10000000;
1387 const UINT WINEDDSCAPS_NONLOCALVIDMEM = 0x20000000;
1388 const UINT WINEDDSCAPS_STANDARDVGAMODE = 0x40000000;
1389 const UINT WINEDDSCAPS_OPTIMIZED = 0x80000000;
1391 const UINT WINEDDCKEYCAPS_DESTBLT = 0x00000001;
1392 const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACE = 0x00000002;
1393 const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV = 0x00000004;
1394 const UINT WINEDDCKEYCAPS_DESTBLTYUV = 0x00000008;
1395 const UINT WINEDDCKEYCAPS_DESTOVERLAY = 0x00000010;
1396 const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE = 0x00000020;
1397 const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV = 0x00000040;
1398 const UINT WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE = 0x00000080;
1399 const UINT WINEDDCKEYCAPS_DESTOVERLAYYUV = 0x00000100;
1400 const UINT WINEDDCKEYCAPS_SRCBLT = 0x00000200;
1401 const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACE = 0x00000400;
1402 const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV = 0x00000800;
1403 const UINT WINEDDCKEYCAPS_SRCBLTYUV = 0x00001000;
1404 const UINT WINEDDCKEYCAPS_SRCOVERLAY = 0x00002000;
1405 const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE = 0x00004000;
1406 const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV = 0x00008000;
1407 const UINT WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE = 0x00010000;
1408 const UINT WINEDDCKEYCAPS_SRCOVERLAYYUV = 0x00020000;
1409 const UINT WINEDDCKEYCAPS_NOCOSTOVERLAY = 0x00040000;
1411 const UINT WINEDDFXCAPS_BLTALPHA = 0x00000001;
1412 const UINT WINEDDFXCAPS_OVERLAYALPHA = 0x00000004;
1413 const UINT WINEDDFXCAPS_BLTARITHSTRETCHYN = 0x00000010;
1414 const UINT WINEDDFXCAPS_BLTARITHSTRETCHY = 0x00000020;
1415 const UINT WINEDDFXCAPS_BLTMIRRORLEFTRIGHT = 0x00000040;
1416 const UINT WINEDDFXCAPS_BLTMIRRORUPDOWN = 0x00000080;
1417 const UINT WINEDDFXCAPS_BLTROTATION = 0x00000100;
1418 const UINT WINEDDFXCAPS_BLTROTATION90 = 0x00000200;
1419 const UINT WINEDDFXCAPS_BLTSHRINKX = 0x00000400;
1420 const UINT WINEDDFXCAPS_BLTSHRINKXN = 0x00000800;
1421 const UINT WINEDDFXCAPS_BLTSHRINKY = 0x00001000;
1422 const UINT WINEDDFXCAPS_BLTSHRINKYN = 0x00002000;
1423 const UINT WINEDDFXCAPS_BLTSTRETCHX = 0x00004000;
1424 const UINT WINEDDFXCAPS_BLTSTRETCHXN = 0x00008000;
1425 const UINT WINEDDFXCAPS_BLTSTRETCHY = 0x00010000;
1426 const UINT WINEDDFXCAPS_BLTSTRETCHYN = 0x00020000;
1427 const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHY = 0x00040000;
1428 const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHYN = 0x00000008;
1429 const UINT WINEDDFXCAPS_OVERLAYSHRINKX = 0x00080000;
1430 const UINT WINEDDFXCAPS_OVERLAYSHRINKXN = 0x00100000;
1431 const UINT WINEDDFXCAPS_OVERLAYSHRINKY = 0x00200000;
1432 const UINT WINEDDFXCAPS_OVERLAYSHRINKYN = 0x00400000;
1433 const UINT WINEDDFXCAPS_OVERLAYSTRETCHX = 0x00800000;
1434 const UINT WINEDDFXCAPS_OVERLAYSTRETCHXN = 0x01000000;
1435 const UINT WINEDDFXCAPS_OVERLAYSTRETCHY = 0x02000000;
1436 const UINT WINEDDFXCAPS_OVERLAYSTRETCHYN = 0x04000000;
1437 const UINT WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT = 0x08000000;
1438 const UINT WINEDDFXCAPS_OVERLAYMIRRORUPDOWN = 0x10000000;
1440 const UINT WINEDDCAPS_3D = 0x00000001;
1441 const UINT WINEDDCAPS_ALIGNBOUNDARYDEST = 0x00000002;
1442 const UINT WINEDDCAPS_ALIGNSIZEDEST = 0x00000004;
1443 const UINT WINEDDCAPS_ALIGNBOUNDARYSRC = 0x00000008;
1444 const UINT WINEDDCAPS_ALIGNSIZESRC = 0x00000010;
1445 const UINT WINEDDCAPS_ALIGNSTRIDE = 0x00000020;
1446 const UINT WINEDDCAPS_BLT = 0x00000040;
1447 const UINT WINEDDCAPS_BLTQUEUE = 0x00000080;
1448 const UINT WINEDDCAPS_BLTFOURCC = 0x00000100;
1449 const UINT WINEDDCAPS_BLTSTRETCH = 0x00000200;
1450 const UINT WINEDDCAPS_GDI = 0x00000400;
1451 const UINT WINEDDCAPS_OVERLAY = 0x00000800;
1452 const UINT WINEDDCAPS_OVERLAYCANTCLIP = 0x00001000;
1453 const UINT WINEDDCAPS_OVERLAYFOURCC = 0x00002000;
1454 const UINT WINEDDCAPS_OVERLAYSTRETCH = 0x00004000;
1455 const UINT WINEDDCAPS_PALETTE = 0x00008000;
1456 const UINT WINEDDCAPS_PALETTEVSYNC = 0x00010000;
1457 const UINT WINEDDCAPS_READSCANLINE = 0x00020000;
1458 const UINT WINEDDCAPS_STEREOVIEW = 0x00040000;
1459 const UINT WINEDDCAPS_VBI = 0x00080000;
1460 const UINT WINEDDCAPS_ZBLTS = 0x00100000;
1461 const UINT WINEDDCAPS_ZOVERLAYS = 0x00200000;
1462 const UINT WINEDDCAPS_COLORKEY = 0x00400000;
1463 const UINT WINEDDCAPS_ALPHA = 0x00800000;
1464 const UINT WINEDDCAPS_COLORKEYHWASSIST = 0x01000000;
1465 const UINT WINEDDCAPS_NOHARDWARE = 0x02000000;
1466 const UINT WINEDDCAPS_BLTCOLORFILL = 0x04000000;
1467 const UINT WINEDDCAPS_BANKSWITCHED = 0x08000000;
1468 const UINT WINEDDCAPS_BLTDEPTHFILL = 0x10000000;
1469 const UINT WINEDDCAPS_CANCLIP = 0x20000000;
1470 const UINT WINEDDCAPS_CANCLIPSTRETCHED = 0x40000000;
1471 const UINT WINEDDCAPS_CANBLTSYSMEM = 0x80000000;
1473 const UINT WINEDDCAPS2_CERTIFIED = 0x00000001;
1474 const UINT WINEDDCAPS2_NO2DDURING3DSCENE = 0x00000002;
1475 const UINT WINEDDCAPS2_VIDEOPORT = 0x00000004;
1476 const UINT WINEDDCAPS2_AUTOFLIPOVERLAY = 0x00000008;
1477 const UINT WINEDDCAPS2_CANBOBINTERLEAVED = 0x00000010;
1478 const UINT WINEDDCAPS2_CANBOBNONINTERLEAVED = 0x00000020;
1479 const UINT WINEDDCAPS2_COLORCONTROLOVERLAY = 0x00000040;
1480 const UINT WINEDDCAPS2_COLORCONTROLPRIMARY = 0x00000080;
1481 const UINT WINEDDCAPS2_CANDROPZ16BIT = 0x00000100;
1482 const UINT WINEDDCAPS2_NONLOCALVIDMEM = 0x00000200;
1483 const UINT WINEDDCAPS2_NONLOCALVIDMEMCAPS = 0x00000400;
1484 const UINT WINEDDCAPS2_NOPAGELOCKREQUIRED = 0x00000800;
1485 const UINT WINEDDCAPS2_WIDESURFACES = 0x00001000;
1486 const UINT WINEDDCAPS2_CANFLIPODDEVEN = 0x00002000;
1487 const UINT WINEDDCAPS2_CANBOBHARDWARE = 0x00004000;
1488 const UINT WINEDDCAPS2_COPYFOURCC = 0x00008000;
1489 const UINT WINEDDCAPS2_PRIMARYGAMMA = 0x00020000;
1490 const UINT WINEDDCAPS2_CANRENDERWINDOWED = 0x00080000;
1491 const UINT WINEDDCAPS2_CANCALIBRATEGAMMA = 0x00100000;
1492 const UINT WINEDDCAPS2_FLIPINTERVAL = 0x00200000;
1493 const UINT WINEDDCAPS2_FLIPNOVSYNC = 0x00400000;
1494 const UINT WINEDDCAPS2_CANMANAGETEXTURE = 0x00800000;
1495 const UINT WINEDDCAPS2_TEXMANINNONLOCALVIDMEM = 0x01000000;
1496 const UINT WINEDDCAPS2_STEREO = 0x02000000;
1497 const UINT WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL = 0x04000000;
1499 /* DDCAPS.d */
1500 const UINT WINEDDPCAPS_4BIT = 0x00000001;
1501 const UINT WINEDDPCAPS_8BITENTRIES = 0x00000002;
1502 const UINT WINEDDPCAPS_8BIT = 0x00000004;
1503 const UINT WINEDDPCAPS_INITIALIZE = 0x00000008;
1504 const UINT WINEDDPCAPS_PRIMARYSURFACE = 0x00000010;
1505 const UINT WINEDDPCAPS_PRIMARYSURFACELEFT = 0x00000020;
1506 const UINT WINEDDPCAPS_ALLOW256 = 0x00000040;
1507 const UINT WINEDDPCAPS_VSYNC = 0x00000080;
1508 const UINT WINEDDPCAPS_1BIT = 0x00000100;
1509 const UINT WINEDDPCAPS_2BIT = 0x00000200;
1510 const UINT WINEDDPCAPS_ALPHA = 0x00000400;
1512 typedef struct _WINED3DDISPLAYMODE
1514 UINT Width;
1515 UINT Height;
1516 UINT RefreshRate;
1517 WINED3DFORMAT Format;
1518 } WINED3DDISPLAYMODE;
1520 typedef struct _WINED3DCOLORVALUE
1522 float r;
1523 float g;
1524 float b;
1525 float a;
1526 } WINED3DCOLORVALUE;
1528 typedef struct _WINED3DVECTOR
1530 float x;
1531 float y;
1532 float z;
1533 } WINED3DVECTOR;
1535 typedef struct _WINED3DMATRIX
1537 union
1539 struct
1541 float _11, _12, _13, _14;
1542 float _21, _22, _23, _24;
1543 float _31, _32, _33, _34;
1544 float _41, _42, _43, _44;
1545 } DUMMYSTRUCTNAME;
1546 float m[4][4];
1547 } DUMMYUNIONNAME;
1548 } WINED3DMATRIX;
1550 typedef struct _WINED3DRECT
1552 LONG x1;
1553 LONG y1;
1554 LONG x2;
1555 LONG y2;
1556 } WINED3DRECT;
1558 typedef struct _WINED3DLIGHT
1560 WINED3DLIGHTTYPE Type;
1561 WINED3DCOLORVALUE Diffuse;
1562 WINED3DCOLORVALUE Specular;
1563 WINED3DCOLORVALUE Ambient;
1564 WINED3DVECTOR Position;
1565 WINED3DVECTOR Direction;
1566 float Range;
1567 float Falloff;
1568 float Attenuation0;
1569 float Attenuation1;
1570 float Attenuation2;
1571 float Theta;
1572 float Phi;
1573 } WINED3DLIGHT;
1575 typedef struct _WINED3DMATERIAL
1577 WINED3DCOLORVALUE Diffuse;
1578 WINED3DCOLORVALUE Ambient;
1579 WINED3DCOLORVALUE Specular;
1580 WINED3DCOLORVALUE Emissive;
1581 float Power;
1582 } WINED3DMATERIAL;
1584 typedef struct _WINED3DVIEWPORT
1586 DWORD X;
1587 DWORD Y;
1588 DWORD Width;
1589 DWORD Height;
1590 float MinZ;
1591 float MaxZ;
1592 } WINED3DVIEWPORT;
1594 typedef struct _WINED3DGAMMARAMP
1596 WORD red[256];
1597 WORD green[256];
1598 WORD blue[256];
1599 } WINED3DGAMMARAMP;
1601 typedef struct _WINED3DLINEPATTERN
1603 WORD wRepeatFactor;
1604 WORD wLinePattern;
1605 } WINED3DLINEPATTERN;
1607 typedef struct _WINEDD3DRECTPATCH_INFO
1609 UINT StartVertexOffsetWidth;
1610 UINT StartVertexOffsetHeight;
1611 UINT Width;
1612 UINT Height;
1613 UINT Stride;
1614 WINED3DBASISTYPE Basis;
1615 WINED3DDEGREETYPE Degree;
1616 } WINED3DRECTPATCH_INFO;
1618 typedef struct _WINED3DTRIPATCH_INFO
1620 UINT StartVertexOffset;
1621 UINT NumVertices;
1622 WINED3DBASISTYPE Basis;
1623 WINED3DDEGREETYPE Degree;
1624 } WINED3DTRIPATCH_INFO;
1626 typedef struct _WINED3DADAPTER_IDENTIFIER
1628 char *Driver;
1629 char *Description;
1630 char *DeviceName;
1631 LARGE_INTEGER *DriverVersion;
1632 DWORD *VendorId;
1633 DWORD *DeviceId;
1634 DWORD *SubSysId;
1635 DWORD *Revision;
1636 GUID *DeviceIdentifier;
1637 DWORD *WHQLLevel;
1638 } WINED3DADAPTER_IDENTIFIER;
1640 typedef struct _WINED3DPRESENT_PARAMETERS
1642 UINT BackBufferWidth;
1643 UINT BackBufferHeight;
1644 WINED3DFORMAT BackBufferFormat;
1645 UINT BackBufferCount;
1646 WINED3DMULTISAMPLE_TYPE MultiSampleType;
1647 DWORD MultiSampleQuality;
1648 WINED3DSWAPEFFECT SwapEffect;
1649 HWND hDeviceWindow;
1650 BOOL Windowed;
1651 BOOL EnableAutoDepthStencil;
1652 WINED3DFORMAT AutoDepthStencilFormat;
1653 DWORD Flags;
1654 UINT FullScreen_RefreshRateInHz;
1655 UINT PresentationInterval;
1656 BOOL AutoRestoreDisplayMode;
1657 } WINED3DPRESENT_PARAMETERS;
1659 typedef struct _WINED3DSURFACE_DESC
1661 WINED3DFORMAT *Format;
1662 WINED3DRESOURCETYPE *Type;
1663 DWORD *Usage;
1664 WINED3DPOOL *Pool;
1665 UINT *Size;
1666 WINED3DMULTISAMPLE_TYPE *MultiSampleType;
1667 DWORD *MultiSampleQuality;
1668 UINT *Width;
1669 UINT *Height;
1670 } WINED3DSURFACE_DESC;
1672 typedef struct _WINED3DVOLUME_DESC
1674 WINED3DFORMAT *Format;
1675 WINED3DRESOURCETYPE *Type;
1676 DWORD *Usage;
1677 WINED3DPOOL *Pool;
1678 UINT *Size;
1679 UINT *Width;
1680 UINT *Height;
1681 UINT *Depth;
1682 } WINED3DVOLUME_DESC;
1684 typedef struct _WINED3DCLIPSTATUS
1686 DWORD ClipUnion;
1687 DWORD ClipIntersection;
1688 } WINED3DCLIPSTATUS;
1690 typedef struct _WINED3DVERTEXELEMENT
1692 WORD Stream;
1693 WORD Offset;
1694 BYTE Type;
1695 BYTE Method;
1696 BYTE Usage;
1697 BYTE UsageIndex;
1698 int Reg; /* DirectX 8 */
1699 } WINED3DVERTEXELEMENT, *LPWINED3DVERTEXELEMENT;
1701 typedef struct _WINED3DDEVICE_CREATION_PARAMETERS
1703 UINT AdapterOrdinal;
1704 WINED3DDEVTYPE DeviceType;
1705 HWND hFocusWindow;
1706 DWORD BehaviorFlags;
1707 } WINED3DDEVICE_CREATION_PARAMETERS;
1709 typedef struct _WINED3DDEVINFO_BANDWIDTHTIMINGS
1711 float MaxBandwidthUtilized;
1712 float FrontEndUploadMemoryUtilizedPercent;
1713 float VertexRateUtilizedPercent;
1714 float TriangleSetupRateUtilizedPercent;
1715 float FillRateUtilizedPercent;
1716 } WINED3DDEVINFO_BANDWIDTHTIMINGS;
1718 typedef struct _WINED3DDEVINFO_CACHEUTILIZATION
1720 float TextureCacheHitRate;
1721 float PostTransformVertexCacheHitRate;
1722 } WINED3DDEVINFO_CACHEUTILIZATION;
1724 typedef struct _WINED3DDEVINFO_INTERFACETIMINGS
1726 float WaitingForGPUToUseApplicationResourceTimePercent;
1727 float WaitingForGPUToAcceptMoreCommandsTimePercent;
1728 float WaitingForGPUToStayWithinLatencyTimePercent;
1729 float WaitingForGPUExclusiveResourceTimePercent;
1730 float WaitingForGPUOtherTimePercent;
1731 } WINED3DDEVINFO_INTERFACETIMINGS;
1733 typedef struct _WINED3DDEVINFO_PIPELINETIMINGS
1735 float VertexProcessingTimePercent;
1736 float PixelProcessingTimePercent;
1737 float OtherGPUProcessingTimePercent;
1738 float GPUIdleTimePercent;
1739 } WINED3DDEVINFO_PIPELINETIMINGS;
1741 typedef struct _WINED3DDEVINFO_STAGETIMINGS
1743 float MemoryProcessingPercent;
1744 float ComputationProcessingPercent;
1745 } WINED3DDEVINFO_STAGETIMINGS;
1747 typedef struct _WINED3DRASTER_STATUS
1749 BOOL InVBlank;
1750 UINT ScanLine;
1751 } WINED3DRASTER_STATUS;
1753 typedef struct WINED3DRESOURCESTATS
1755 BOOL bThrashing;
1756 DWORD ApproxBytesDownloaded;
1757 DWORD NumEvicts;
1758 DWORD NumVidCreates;
1759 DWORD LastPri;
1760 DWORD NumUsed;
1761 DWORD NumUsedInVidMem;
1762 DWORD WorkingSet;
1763 DWORD WorkingSetBytes;
1764 DWORD TotalManaged;
1765 DWORD TotalBytes;
1766 } WINED3DRESOURCESTATS;
1768 typedef struct _WINED3DDEVINFO_RESOURCEMANAGER
1770 WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
1771 } WINED3DDEVINFO_RESOURCEMANAGER;
1773 typedef struct _WINED3DDEVINFO_VERTEXSTATS
1775 DWORD NumRenderedTriangles;
1776 DWORD NumExtraClippingTriangles;
1777 } WINED3DDEVINFO_VERTEXSTATS;
1779 typedef struct _WINED3DLOCKED_RECT
1781 INT Pitch;
1782 void *pBits;
1783 } WINED3DLOCKED_RECT;
1785 typedef struct _WINED3DLOCKED_BOX
1787 INT RowPitch;
1788 INT SlicePitch;
1789 void *pBits;
1790 } WINED3DLOCKED_BOX;
1792 typedef struct _WINED3DBOX
1794 UINT Left;
1795 UINT Top;
1796 UINT Right;
1797 UINT Bottom;
1798 UINT Front;
1799 UINT Back;
1800 } WINED3DBOX;
1802 /*Vertex cache optimization hints.*/
1803 typedef struct WINED3DDEVINFO_VCACHE
1805 DWORD Pattern; /* Must be a 4 char code FOURCC (e.g. CACH) */
1806 DWORD OptMethod; /* 0 to get the longest strips, 1 vertex cache */
1807 DWORD CacheSize; /* Cache size to use (only valid if OptMethod==1) */
1808 DWORD MagicNumber; /* Internal for deciding when to restart strips,
1809 non user modifiable (only valid if OptMethod==1) */
1810 } WINED3DDEVINFO_VCACHE;
1812 typedef struct _WINED3DVERTEXBUFFER_DESC
1814 WINED3DFORMAT Format;
1815 WINED3DRESOURCETYPE Type;
1816 DWORD Usage;
1817 WINED3DPOOL Pool;
1818 UINT Size;
1819 DWORD FVF;
1820 } WINED3DVERTEXBUFFER_DESC;
1822 typedef struct _WINED3DINDEXBUFFER_DESC
1824 WINED3DFORMAT Format;
1825 WINED3DRESOURCETYPE Type;
1826 DWORD Usage;
1827 WINED3DPOOL Pool;
1828 UINT Size;
1829 } WINED3DINDEXBUFFER_DESC;
1831 typedef struct glDescriptor
1833 UINT textureName;
1834 int level;
1835 int /*GLenum*/ target;
1836 int /*GLenum*/ glFormat;
1837 int /*GLenum*/ glFormatInternal;
1838 int /*GLenum*/ glType;
1839 } glDescriptor;
1841 typedef struct WineDirect3DStridedData
1843 const BYTE *lpData; /* Pointer to start of data */
1844 DWORD dwStride; /* Stride between occurrences of this data */
1845 DWORD dwType; /* Type (as in D3DVSDT_TYPE) */
1846 int VBO; /* Vertex buffer object this data is in */
1847 UINT streamNo; /* D3D stream number */
1848 } WineDirect3DStridedData;
1850 typedef struct WineDirect3DVertexStridedData
1853 * IMPORTANT:
1854 * This structure can be accessed in two ways: Named access, and array
1855 * access. Please note that named access is only valid with the fixed
1856 * function vertex pipeline, and the arrays are only valid with the
1857 * programmable vertex pipeline(vertex shaders).
1859 union
1861 struct
1863 /* Do not add or reorder fields here,
1864 * so this can be indexed as an array */
1865 WineDirect3DStridedData position;
1866 WineDirect3DStridedData blendWeights;
1867 WineDirect3DStridedData blendMatrixIndices;
1868 WineDirect3DStridedData normal;
1869 WineDirect3DStridedData pSize;
1870 WineDirect3DStridedData diffuse;
1871 WineDirect3DStridedData specular;
1872 WineDirect3DStridedData texCoords[WINED3DDP_MAXTEXCOORD];
1873 WineDirect3DStridedData position2; /* tween data */
1874 WineDirect3DStridedData normal2; /* tween data */
1875 WineDirect3DStridedData tangent;
1876 WineDirect3DStridedData binormal;
1877 WineDirect3DStridedData tessFactor;
1878 WineDirect3DStridedData fog;
1879 WineDirect3DStridedData depth;
1880 WineDirect3DStridedData sample;
1882 /* Add fields here */
1883 } s;
1884 WineDirect3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */
1885 } u;
1887 BOOL position_transformed;
1888 WORD swizzle_map; /* MAX_ATTRIBS, 16 */
1889 WORD use_map; /* MAX_ATTRIBS, 16 */
1890 } WineDirect3DVertexStridedData;
1892 typedef struct _WINED3DVSHADERCAPS2_0
1894 DWORD Caps;
1895 INT DynamicFlowControlDepth;
1896 INT NumTemps;
1897 INT StaticFlowControlDepth;
1898 } WINED3DVSHADERCAPS2_0;
1900 typedef struct _WINED3DPSHADERCAPS2_0
1902 DWORD Caps;
1903 INT DynamicFlowControlDepth;
1904 INT NumTemps;
1905 INT StaticFlowControlDepth;
1906 INT NumInstructionSlots;
1907 } WINED3DPSHADERCAPS2_0;
1909 typedef struct _WINEDDCAPS
1911 DWORD Caps;
1912 DWORD Caps2;
1913 DWORD CKeyCaps;
1914 DWORD FXCaps;
1915 DWORD FXAlphaCaps;
1916 DWORD PalCaps;
1917 DWORD SVCaps;
1918 DWORD SVBCaps;
1919 DWORD SVBCKeyCaps;
1920 DWORD SVBFXCaps;
1921 DWORD VSBCaps;
1922 DWORD VSBCKeyCaps;
1923 DWORD VSBFXCaps;
1924 DWORD SSBCaps;
1925 DWORD SSBCKeyCaps;
1926 DWORD SSBFXCaps;
1927 DWORD ddsCaps;
1928 DWORD StrideAlign;
1929 } WINEDDCAPS;
1931 typedef struct _WINED3DCAPS
1933 WINED3DDEVTYPE DeviceType;
1934 UINT AdapterOrdinal;
1936 DWORD Caps;
1937 DWORD Caps2;
1938 DWORD Caps3;
1939 DWORD PresentationIntervals;
1941 DWORD CursorCaps;
1942 DWORD DevCaps;
1943 DWORD PrimitiveMiscCaps;
1944 DWORD RasterCaps;
1945 DWORD ZCmpCaps;
1946 DWORD SrcBlendCaps;
1947 DWORD DestBlendCaps;
1948 DWORD AlphaCmpCaps;
1949 DWORD ShadeCaps;
1950 DWORD TextureCaps;
1951 DWORD TextureFilterCaps;
1952 DWORD CubeTextureFilterCaps;
1953 DWORD VolumeTextureFilterCaps;
1954 DWORD TextureAddressCaps;
1955 DWORD VolumeTextureAddressCaps;
1956 DWORD LineCaps;
1958 DWORD MaxTextureWidth;
1959 DWORD MaxTextureHeight;
1960 DWORD MaxVolumeExtent;
1961 DWORD MaxTextureRepeat;
1962 DWORD MaxTextureAspectRatio;
1963 DWORD MaxAnisotropy;
1964 float MaxVertexW;
1966 float GuardBandLeft;
1967 float GuardBandTop;
1968 float GuardBandRight;
1969 float GuardBandBottom;
1971 float ExtentsAdjust;
1972 DWORD StencilCaps;
1974 DWORD FVFCaps;
1975 DWORD TextureOpCaps;
1976 DWORD MaxTextureBlendStages;
1977 DWORD MaxSimultaneousTextures;
1979 DWORD VertexProcessingCaps;
1980 DWORD MaxActiveLights;
1981 DWORD MaxUserClipPlanes;
1982 DWORD MaxVertexBlendMatrices;
1983 DWORD MaxVertexBlendMatrixIndex;
1985 float MaxPointSize;
1987 DWORD MaxPrimitiveCount;
1988 DWORD MaxVertexIndex;
1989 DWORD MaxStreams;
1990 DWORD MaxStreamStride;
1992 DWORD VertexShaderVersion;
1993 DWORD MaxVertexShaderConst;
1995 DWORD PixelShaderVersion;
1996 float PixelShader1xMaxValue;
1998 /* DX 9 */
1999 DWORD DevCaps2;
2001 float MaxNpatchTessellationLevel;
2002 DWORD Reserved5; /* undocumented */
2004 UINT MasterAdapterOrdinal;
2005 UINT AdapterOrdinalInGroup;
2006 UINT NumberOfAdaptersInGroup;
2007 DWORD DeclTypes;
2008 DWORD NumSimultaneousRTs;
2009 DWORD StretchRectFilterCaps;
2010 WINED3DVSHADERCAPS2_0 VS20Caps;
2011 WINED3DPSHADERCAPS2_0 PS20Caps;
2012 DWORD VertexTextureFilterCaps;
2013 DWORD MaxVShaderInstructionsExecuted;
2014 DWORD MaxPShaderInstructionsExecuted;
2015 DWORD MaxVertexShader30InstructionSlots;
2016 DWORD MaxPixelShader30InstructionSlots;
2017 DWORD Reserved2; /* Not in the microsoft headers but documented */
2018 DWORD Reserved3;
2020 WINEDDCAPS DirectDrawCaps;
2021 } WINED3DCAPS;
2023 /* DirectDraw types */
2025 typedef struct _WINEDDCOLORKEY
2027 DWORD dwColorSpaceLowValue; /* low boundary of color space that is to
2028 * be treated as Color Key, inclusive */
2029 DWORD dwColorSpaceHighValue; /* high boundary of color space that is
2030 * to be treated as Color Key, inclusive */
2031 } WINEDDCOLORKEY,*LPWINEDDCOLORKEY;
2033 typedef struct _WINEDDBLTFX
2035 DWORD dwSize; /* size of structure */
2036 DWORD dwDDFX; /* FX operations */
2037 DWORD dwROP; /* Win32 raster operations */
2038 DWORD dwDDROP; /* Raster operations new for DirectDraw */
2039 DWORD dwRotationAngle; /* Rotation angle for blt */
2040 DWORD dwZBufferOpCode; /* ZBuffer compares */
2041 DWORD dwZBufferLow; /* Low limit of Z buffer */
2042 DWORD dwZBufferHigh; /* High limit of Z buffer */
2043 DWORD dwZBufferBaseDest; /* Destination base value */
2044 DWORD dwZDestConstBitDepth; /* Bit depth used to specify Z constant for destination */
2045 union
2047 DWORD dwZDestConst; /* Constant to use as Z buffer for dest */
2048 struct IWineD3DSurface *lpDDSZBufferDest; /* Surface to use as Z buffer for dest */
2049 } DUMMYUNIONNAME1;
2050 DWORD dwZSrcConstBitDepth; /* Bit depth used to specify Z constant for source */
2051 union
2053 DWORD dwZSrcConst; /* Constant to use as Z buffer for src */
2054 struct IWineD3DSurface *lpDDSZBufferSrc; /* Surface to use as Z buffer for src */
2055 } DUMMYUNIONNAME2;
2056 DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
2057 DWORD dwAlphaEdgeBlend; /* Alpha for edge blending */
2058 DWORD dwReserved;
2059 DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
2060 union
2062 DWORD dwAlphaDestConst; /* Constant to use as Alpha Channel */
2063 struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as Alpha Channel */
2064 } DUMMYUNIONNAME3;
2065 DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
2066 union
2068 DWORD dwAlphaSrcConst; /* Constant to use as Alpha Channel */
2069 struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as Alpha Channel */
2070 } DUMMYUNIONNAME4;
2071 union
2073 DWORD dwFillColor; /* color in RGB or Palettized */
2074 DWORD dwFillDepth; /* depth value for z-buffer */
2075 DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
2076 struct IWineD3DSurface *lpDDSPattern; /* Surface to use as pattern */
2077 } DUMMYUNIONNAME5;
2078 WINEDDCOLORKEY ddckDestColorkey; /* DestColorkey override */
2079 WINEDDCOLORKEY ddckSrcColorkey; /* SrcColorkey override */
2080 } WINEDDBLTFX,*LPWINEDDBLTFX;
2082 typedef struct _WINEDDOVERLAYFX
2084 DWORD dwSize; /* size of structure */
2085 DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
2086 DWORD dwAlphaEdgeBlend; /* Constant to use as alpha for edge blend */
2087 DWORD dwReserved;
2088 DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
2089 union
2091 DWORD dwAlphaDestConst; /* Constant to use as alpha channel for dest */
2092 struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as alpha channel for dest */
2093 } DUMMYUNIONNAME1;
2094 DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
2095 union
2097 DWORD dwAlphaSrcConst; /* Constant to use as alpha channel for src */
2098 struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as alpha channel for src */
2099 } DUMMYUNIONNAME2;
2100 WINEDDCOLORKEY dckDestColorkey; /* DestColorkey override */
2101 WINEDDCOLORKEY dckSrcColorkey; /* SrcColorkey override */
2102 DWORD dwDDFX; /* Overlay FX */
2103 DWORD dwFlags; /* flags */
2104 } WINEDDOVERLAYFX;
2106 interface IWineD3DResource;
2107 interface IWineD3DSurface;
2108 interface IWineD3DVolume;
2109 interface IWineD3DSwapChain;
2110 interface IWineD3DDevice;
2112 typedef HRESULT (*D3DCB_CREATESURFACEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
2113 UINT Height, WINED3DFORMAT Format, DWORD Usage, WINED3DPOOL Pool, UINT Level, WINED3DCUBEMAP_FACES Face,
2114 IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
2115 typedef HRESULT (*D3DCB_CREATERENDERTARGETFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
2116 UINT Height, WINED3DFORMAT Format, WINED3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality,
2117 BOOL Lockable, IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
2118 typedef HRESULT (*D3DCB_CREATEDEPTHSTENCILSURFACEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
2119 UINT Height, WINED3DFORMAT Format, WINED3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality,
2120 BOOL Discard, IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
2121 typedef ULONG (*D3DCB_DESTROYSURFACEFN)(IWineD3DSurface *pSurface);
2122 typedef HRESULT (*D3DCB_CREATEVOLUMEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
2123 UINT Height, UINT Depth, WINED3DFORMAT Format, WINED3DPOOL Pool, DWORD Usage,
2124 IWineD3DVolume **ppVolume, HANDLE *pSharedHandle);
2125 typedef ULONG (*D3DCB_DESTROYVOLUMEFN)(IWineD3DVolume *pVolume);
2126 typedef HRESULT (*D3DCB_CREATESWAPCHAIN)(IUnknown *pDevice, WINED3DPRESENT_PARAMETERS *pPresentationParameters,
2127 IWineD3DSwapChain **pSwapChain);
2128 typedef ULONG (*D3DCB_DESTROYSWAPCHAINFN)(IWineD3DSwapChain *pSwapChain);
2129 typedef HRESULT (*D3DCB_ENUMRESOURCES)(IWineD3DResource *resource, void *pData);
2132 object,
2133 local,
2134 uuid(46799311-8e0e-40ce-b2ec-ddb99f18fcb4)
2136 interface IWineD3DBase : IUnknown
2138 HRESULT GetParent(
2139 [out] IUnknown **parent
2144 object,
2145 local,
2146 uuid(108f9c44-6f30-11d9-c687-00046142c14f)
2148 interface IWineD3D : IWineD3DBase
2150 UINT GetAdapterCount(
2152 HRESULT RegisterSoftwareDevice(
2153 [in] void *pInitializeFunction
2155 HMONITOR GetAdapterMonitor(
2156 [in] UINT adapter_idx
2158 UINT GetAdapterModeCount(
2159 [in] UINT adapter_idx,
2160 [in] WINED3DFORMAT format
2162 HRESULT EnumAdapterModes(
2163 [in] UINT adapter_idx,
2164 [in] UINT mode_idx,
2165 [in] WINED3DFORMAT format,
2166 [out] WINED3DDISPLAYMODE *mode
2168 HRESULT GetAdapterDisplayMode(
2169 [in] UINT adapter_idx,
2170 [out] WINED3DDISPLAYMODE *mode
2172 HRESULT GetAdapterIdentifier(
2173 [in] UINT adapter_idx,
2174 [in] DWORD flags,
2175 [out] WINED3DADAPTER_IDENTIFIER *identifier
2177 HRESULT CheckDeviceMultiSampleType(
2178 [in] UINT adapter_idx,
2179 [in] WINED3DDEVTYPE device_type,
2180 [in] WINED3DFORMAT surface_format,
2181 [in] BOOL windowed,
2182 [in] WINED3DMULTISAMPLE_TYPE multisample_type,
2183 [out] DWORD *quality_levels
2185 HRESULT CheckDepthStencilMatch(
2186 [in] UINT adapter_idx,
2187 [in] WINED3DDEVTYPE device_type,
2188 [in] WINED3DFORMAT adapter_format,
2189 [in] WINED3DFORMAT render_target_format,
2190 [in] WINED3DFORMAT depth_stencil_format
2192 HRESULT CheckDeviceType(
2193 [in] UINT adapter_idx,
2194 [in] WINED3DDEVTYPE device_type,
2195 [in] WINED3DFORMAT display_format,
2196 [in] WINED3DFORMAT backbuffer_format,
2197 [in] BOOL windowed
2199 HRESULT CheckDeviceFormat(
2200 [in] UINT adaper_idx,
2201 [in] WINED3DDEVTYPE device_type,
2202 [in] WINED3DFORMAT adapter_format,
2203 [in] DWORD usage,
2204 [in] WINED3DRESOURCETYPE resource_type,
2205 [in] WINED3DFORMAT check_format,
2206 [in] WINED3DSURFTYPE surface_type
2208 HRESULT CheckDeviceFormatConversion(
2209 [in] UINT adapter_idx,
2210 [in] WINED3DDEVTYPE device_type,
2211 [in] WINED3DFORMAT source_format,
2212 [in] WINED3DFORMAT target_format
2214 HRESULT GetDeviceCaps(
2215 [in] UINT adapter_idx,
2216 [in] WINED3DDEVTYPE device_type,
2217 [out] WINED3DCAPS *caps
2219 HRESULT CreateDevice(
2220 [in] UINT adapter_idx,
2221 [in] WINED3DDEVTYPE device_type,
2222 [in] HWND focus_window,
2223 [in] DWORD behaviour_flags,
2224 [out] IWineD3DDevice **device,
2225 [in] IUnknown *parent
2230 object,
2231 local,
2232 uuid(1f3bfb34-6f30-11d9-c687-00046142c14f)
2234 interface IWineD3DResource : IWineD3DBase
2236 HRESULT GetDevice(
2237 [out] IWineD3DDevice **device
2239 HRESULT SetPrivateData(
2240 [in] REFGUID guid,
2241 [in] const void *data,
2242 [in] DWORD data_size,
2243 [in] DWORD flags
2245 HRESULT GetPrivateData(
2246 [in] REFGUID guid,
2247 [out] void *data,
2248 [in, out] DWORD *data_size
2250 HRESULT FreePrivateData(
2251 [in] REFGUID guid
2253 DWORD SetPriority(
2254 [in] DWORD new_priority
2256 DWORD GetPriority(
2258 void PreLoad(
2260 void UnLoad(
2262 WINED3DRESOURCETYPE GetType(
2267 object,
2268 local,
2269 uuid(217f671e-6f30-11d9-c687-00046142c14f)
2271 interface IWineD3DVertexBuffer : IWineD3DResource
2273 HRESULT Lock(
2274 [in] UINT offset,
2275 [in] UINT size,
2276 [out] BYTE **data,
2277 [in] DWORD flags
2279 HRESULT Unlock(
2281 HRESULT GetDesc(
2282 [out] WINED3DVERTEXBUFFER_DESC *desc
2287 object,
2288 local,
2289 uuid(3a02a54e-6f30-11d9-c687-00046142c14f)
2291 interface IWineD3DIndexBuffer : IWineD3DResource
2293 HRESULT Lock(
2294 [in] UINT offset,
2295 [in] UINT size,
2296 [out] BYTE **data,
2297 [in] DWORD flags
2299 HRESULT Unlock(
2301 HRESULT GetDesc(
2302 [out] WINED3DINDEXBUFFER_DESC *desc
2307 object,
2308 local,
2309 uuid(f756720c-32b9-4439-b5a3-1d6c97037d9e)
2311 interface IWineD3DPalette : IWineD3DBase
2313 HRESULT GetEntries(
2314 [in] DWORD flags,
2315 [in] DWORD start,
2316 [in] DWORD count,
2317 [out] PALETTEENTRY *entries
2319 HRESULT GetCaps(
2320 [out] DWORD *caps
2322 HRESULT SetEntries(
2323 [in] DWORD flags,
2324 [in] DWORD start,
2325 [in] DWORD count,
2326 [in] const PALETTEENTRY *entries
2331 object,
2332 local,
2333 uuid(8f2bceb1-d338-488c-ab7f-0ec980bf5d2d)
2335 interface IWineD3DClipper : IWineD3DBase
2337 HRESULT GetClipList(
2338 [in] const RECT *rect,
2339 [out] RGNDATA *clip_list,
2340 [in, out] DWORD *clip_list_size
2342 HRESULT GetHWnd(
2343 [out] HWND *hwnd
2345 HRESULT IsClipListChanged(
2346 [out] BOOL *changed
2348 HRESULT SetClipList(
2349 [in] const RGNDATA *clip_list,
2350 [in] DWORD flags
2352 HRESULT SetHWnd(
2353 [in] DWORD flags,
2354 [in] HWND hwnd
2359 object,
2360 local,
2361 uuid(37cd5526-6f30-11d9-c687-00046142c14f)
2363 interface IWineD3DSurface : IWineD3DResource
2365 HRESULT GetContainer(
2366 [in] REFIID riid,
2367 [out] void **container
2369 HRESULT GetDesc(
2370 [out] WINED3DSURFACE_DESC *desc
2372 HRESULT LockRect(
2373 [out] WINED3DLOCKED_RECT *locked_rect,
2374 [in] const RECT *rect,
2375 [in] DWORD flags
2377 HRESULT UnlockRect(
2379 HRESULT GetDC(
2380 [out] HDC *dc
2382 HRESULT ReleaseDC(
2383 [in] HDC dc
2385 HRESULT Flip(
2386 [in] IWineD3DSurface *override,
2387 [in] DWORD flags
2389 HRESULT Blt(
2390 [in] const RECT *dst_rect,
2391 [in] IWineD3DSurface *src_surface,
2392 [in] const RECT *src_rect,
2393 [in] DWORD flags,
2394 [in] const WINEDDBLTFX *blt_fx,
2395 [in] WINED3DTEXTUREFILTERTYPE filter
2397 HRESULT GetBltStatus(
2398 [in] DWORD flags
2400 HRESULT GetFlipStatus(
2401 [in] DWORD flags
2403 HRESULT IsLost(
2405 HRESULT Restore(
2407 HRESULT BltFast(
2408 [in] DWORD dst_x,
2409 [in] DWORD dst_y,
2410 [in] IWineD3DSurface *src_surface,
2411 [in] const RECT *src_rect,
2412 [in] DWORD trans
2414 HRESULT GetPalette(
2415 [out] IWineD3DPalette **palette
2417 HRESULT SetPalette(
2418 [in] IWineD3DPalette *palette
2420 HRESULT RealizePalette(
2422 HRESULT SetColorKey(
2423 [in] DWORD flags,
2424 [in] const WINEDDCOLORKEY *color_key
2426 DWORD GetPitch(
2428 HRESULT SetMem(
2429 [in] void *mem
2431 HRESULT SetOverlayPosition(
2432 [in] LONG x,
2433 [in] LONG y
2435 HRESULT GetOverlayPosition(
2436 [out] LONG *x,
2437 [out] LONG *y
2439 HRESULT UpdateOverlayZOrder(
2440 [in] DWORD flags,
2441 [in] IWineD3DSurface *ref
2443 HRESULT UpdateOverlay(
2444 [in] const RECT *src_rect,
2445 [in] IWineD3DSurface *dst_surface,
2446 [in] const RECT *dst_rect,
2447 [in] DWORD flags,
2448 [in] const WINEDDOVERLAYFX *fx
2450 HRESULT SetClipper(
2451 [in] IWineD3DClipper *clipper
2453 HRESULT GetClipper(
2454 [out] IWineD3DClipper **clipper
2456 HRESULT AddDirtyRect(
2457 [in] const RECT *dirty_rect
2459 HRESULT LoadTexture(
2460 [in] BOOL srgb_mode
2462 void BindTexture(
2464 HRESULT SaveSnapshot(
2465 [in] const char *filename
2467 HRESULT SetContainer(
2468 [in] IWineD3DBase *container
2470 void GetGlDesc(
2471 [out] glDescriptor **desc
2473 const void *GetData(
2475 HRESULT SetFormat(
2476 [in] WINED3DFORMAT format
2478 HRESULT PrivateSetup(
2480 void ModifyLocation(
2481 [in] DWORD location,
2482 [in] BOOL persistent
2484 HRESULT LoadLocation(
2485 [in] DWORD location,
2486 [in] const RECT *rect
2488 WINED3DSURFTYPE GetImplType(
2490 HRESULT DrawOverlay(
2495 object,
2496 local,
2497 uuid(24769ed8-6f30-11d9-c687-00046142c14f)
2499 interface IWineD3DVolume : IWineD3DResource
2501 HRESULT GetContainer(
2502 [in] REFIID riid,
2503 [out] void **container
2505 HRESULT GetDesc(
2506 [out] WINED3DVOLUME_DESC *desc
2508 HRESULT LockBox(
2509 [out] WINED3DLOCKED_BOX *locked_box,
2510 [in] const WINED3DBOX *box,
2511 [in] DWORD flags
2513 HRESULT UnlockBox(
2515 HRESULT AddDirtyBox(
2516 [in] const WINED3DBOX *dirty_box
2518 HRESULT CleanDirtyBox(
2520 HRESULT LoadTexture(
2521 [in] int gl_level,
2522 [in] BOOL srgb_mode
2524 HRESULT SetContainer(
2525 [in] IWineD3DBase *container
2530 object,
2531 local,
2532 uuid(3c2aebf6-6f30-11d9-c687-00046142c14f)
2534 interface IWineD3DBaseTexture : IWineD3DResource
2536 DWORD SetLOD(
2537 [in] DWORD new_lod
2539 DWORD GetLOD(
2541 DWORD GetLevelCount(
2543 HRESULT SetAutoGenFilterType(
2544 WINED3DTEXTUREFILTERTYPE filter_type
2546 WINED3DTEXTUREFILTERTYPE GetAutoGenFilterType(
2548 void GenerateMipSubLevels(
2550 BOOL SetDirty(
2551 BOOL dirty
2553 BOOL GetDirty(
2555 HRESULT BindTexture(
2557 UINT GetTextureDimensions(
2559 BOOL IsCondNP2(
2561 void ApplyStateChanges(
2562 const DWORD texture_states[WINED3D_HIGHEST_TEXTURE_STATE + 1],
2563 const DWORD sampler_states[WINED3D_HIGHEST_SAMPLER_STATE + 1]
2568 object,
2569 local,
2570 uuid(3e72cc1c-6f30-11d9-c687-00046142c14f)
2572 interface IWineD3DTexture : IWineD3DBaseTexture
2574 void Destroy(
2575 [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
2577 HRESULT GetLevelDesc(
2578 [in] UINT level,
2579 [out] WINED3DSURFACE_DESC *desc
2581 HRESULT GetSurfaceLevel(
2582 [in] UINT level,
2583 [out] IWineD3DSurface **surface
2585 HRESULT LockRect(
2586 [in] UINT level,
2587 [out] WINED3DLOCKED_RECT *locked_rect,
2588 [in] const RECT *rect,
2589 [in] DWORD flags
2591 HRESULT UnlockRect(
2592 [in] UINT level
2594 HRESULT AddDirtyRect(
2595 [in] const RECT *dirty_rect
2600 object,
2601 local,
2602 uuid(41752900-6f30-11d9-c687-00046142c14f)
2604 interface IWineD3DCubeTexture : IWineD3DBaseTexture
2606 void Destroy(
2607 [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
2609 HRESULT GetLevelDesc(
2610 [in] UINT level,
2611 [out] WINED3DSURFACE_DESC *desc
2613 HRESULT GetCubeMapSurface(
2614 [in] WINED3DCUBEMAP_FACES face,
2615 [in] UINT level,
2616 [out] IWineD3DSurface **surface
2618 HRESULT LockRect(
2619 [in] WINED3DCUBEMAP_FACES face,
2620 [in] UINT level,
2621 [out] WINED3DLOCKED_RECT *locked_rect,
2622 [in] const RECT *rect,
2623 [in] DWORD flags
2625 HRESULT UnlockRect(
2626 [in] WINED3DCUBEMAP_FACES face,
2627 [in] UINT level
2629 HRESULT AddDirtyRect(
2630 [in] WINED3DCUBEMAP_FACES face,
2631 [in] const RECT *dirty_rect
2636 object,
2637 local,
2638 uuid(7b39470c-6f30-11d9-c687-00046142c14f)
2640 interface IWineD3DVolumeTexture : IWineD3DBaseTexture
2642 void Destroy(
2643 [in] D3DCB_DESTROYVOLUMEFN destroy_volume_callback
2645 HRESULT GetLevelDesc(
2646 [in] UINT level,
2647 [out] WINED3DVOLUME_DESC *desc
2649 HRESULT GetVolumeLevel(
2650 [in] UINT level,
2651 [out] IWineD3DVolume **volume
2653 HRESULT LockBox(
2654 [in] UINT level,
2655 [out] WINED3DLOCKED_BOX *locked_box,
2656 [in] const WINED3DBOX *box,
2657 [in] DWORD flags
2659 HRESULT UnlockBox(
2660 [in] UINT level
2662 HRESULT AddDirtyBox(
2663 [in] const WINED3DBOX *dirty_box
2668 object,
2669 local,
2670 uuid(7cd55be6-6f30-11d9-c687-00046142c14f)
2672 interface IWineD3DVertexDeclaration : IWineD3DBase
2674 HRESULT GetDevice(
2675 [out] IWineD3DDevice **device
2677 HRESULT GetDeclaration(
2678 [out] WINED3DVERTEXELEMENT *elements,
2679 [out] UINT *element_count
2681 HRESULT SetDeclaration(
2682 [in] const WINED3DVERTEXELEMENT *elements,
2683 [in] UINT element_count
2688 object,
2689 local,
2690 uuid(83b073ce-6f30-11d9-c687-00046142c14f)
2692 interface IWineD3DStateBlock : IWineD3DBase
2694 HRESULT GetDevice(
2695 [out] IWineD3DDevice **device
2697 HRESULT Capture(
2699 HRESULT Apply(
2701 HRESULT InitStartupStateBlock(
2706 object,
2707 local,
2708 uuid(905ddbac-6f30-11d9-c687-00046142c14f)
2710 interface IWineD3DQuery : IWineD3DBase
2712 HRESULT GetDevice(
2713 [out] IWineD3DDevice **device
2715 HRESULT GetData(
2716 [out] void *data,
2717 [in] DWORD data_size,
2718 [in] DWORD flags
2720 DWORD GetDataSize(
2722 WINED3DQUERYTYPE GetType(
2724 HRESULT Issue(
2725 DWORD flags
2730 object,
2731 local,
2732 uuid(34d01b10-6f30-11d9-c687-00046142c14f)
2734 interface IWineD3DSwapChain : IWineD3DBase
2736 void Destroy(
2737 [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
2739 HRESULT GetDevice(
2740 [out] IWineD3DDevice **device
2742 HRESULT Present(
2743 [in] const RECT *src_rect,
2744 [in] const RECT *dst_rect,
2745 [in] HWND dst_window_override,
2746 [in] const RGNDATA *dirty_region,
2747 [in] DWORD flags
2749 HRESULT SetDestWindowOverride(
2750 [in] HWND window
2752 HRESULT GetFrontBufferData(
2753 [in] IWineD3DSurface *dst_surface
2755 HRESULT GetBackBuffer(
2756 [in] UINT backbuffer_idx,
2757 [in] WINED3DBACKBUFFER_TYPE backbuffer_type,
2758 [out] IWineD3DSurface **backbuffer
2760 HRESULT GetRasterStatus(
2761 [out] WINED3DRASTER_STATUS *raster_status
2763 HRESULT GetDisplayMode(
2764 [out] WINED3DDISPLAYMODE *mode
2766 HRESULT GetPresentParameters(
2767 [out] WINED3DPRESENT_PARAMETERS *present_parameters
2769 HRESULT SetGammaRamp(
2770 [in] DWORD flags,
2771 [in] const WINED3DGAMMARAMP *ramp
2773 HRESULT GetGammaRamp(
2774 [out] WINED3DGAMMARAMP *ramp
2779 object,
2780 local,
2781 uuid(eac93065-a4df-446f-86a1-9ef2bca40a3c)
2783 interface IWineD3DBaseShader : IWineD3DBase
2785 HRESULT SetFunction(
2786 [in] const DWORD *function
2791 object,
2792 local,
2793 uuid(7f7a2b60-6f30-11d9-c687-00046142c14f)
2795 interface IWineD3DVertexShader : IWineD3DBaseShader
2797 HRESULT GetDevice(
2798 [out] IWineD3DDevice **device
2800 HRESULT GetFunction(
2801 [out] void *data,
2802 [in, out] UINT *data_size
2804 void FakeSemantics(
2805 [in] IWineD3DVertexDeclaration *vertex_declaration
2807 HRESULT SetLocalConstantsF(
2808 [in] UINT start_idx,
2809 [in] const float *src_data,
2810 [in] UINT vector4f_count
2815 object,
2816 local,
2817 uuid(818503da-6f30-11d9-c687-00046142c14f)
2819 interface IWineD3DPixelShader : IWineD3DBaseShader
2821 HRESULT GetDevice(
2822 [out] IWineD3DDevice **device
2824 HRESULT GetFunction(
2825 [out] void *data,
2826 [in, out] UINT *data_size
2831 object,
2832 local,
2833 uuid(6d10a2ce-09d0-4a53-a427-11388f9f8ca5)
2835 interface IWineD3DDevice : IWineD3DBase
2837 HRESULT CreateVertexBuffer(
2838 [in] UINT length,
2839 [in] DWORD usage,
2840 [in] DWORD fvf,
2841 [in] WINED3DPOOL pool,
2842 [out] IWineD3DVertexBuffer **vertex_buffer,
2843 [in] HANDLE *shared_handle,
2844 [in] IUnknown *parent
2846 HRESULT CreateIndexBuffer(
2847 [in] UINT length,
2848 [in] DWORD usage,
2849 [in] WINED3DFORMAT format,
2850 [in] WINED3DPOOL pool,
2851 [out] IWineD3DIndexBuffer **index_buffer,
2852 [in] HANDLE *shared_handle,
2853 [in] IUnknown *parent
2855 HRESULT CreateStateBlock(
2856 [in] WINED3DSTATEBLOCKTYPE type,
2857 [out] IWineD3DStateBlock **stateblock,
2858 [in] IUnknown *parent
2860 HRESULT CreateSurface(
2861 [in] UINT width,
2862 [in] UINT height,
2863 [in] WINED3DFORMAT format,
2864 [in] BOOL lockable,
2865 [in] BOOL discard,
2866 [in] UINT level,
2867 [out] IWineD3DSurface **surface,
2868 [in] WINED3DRESOURCETYPE resource_type,
2869 [in] DWORD usage,
2870 [in] WINED3DPOOL pool,
2871 [in] WINED3DMULTISAMPLE_TYPE multisample_type,
2872 [in] DWORD multisample_quality,
2873 [in] HANDLE *shared_handle,
2874 [in] WINED3DSURFTYPE surface_type,
2875 [in] IUnknown *parent
2877 HRESULT CreateTexture(
2878 [in] UINT width,
2879 [in] UINT height,
2880 [in] UINT levels,
2881 [in] DWORD usage,
2882 [in] WINED3DFORMAT format,
2883 [in] WINED3DPOOL pool,
2884 [out] IWineD3DTexture **texture,
2885 [in] HANDLE *shared_handle,
2886 [in] IUnknown *parent,
2887 [in] D3DCB_CREATESURFACEFN create_surface_callback
2889 HRESULT CreateVolumeTexture(
2890 [in] UINT width,
2891 [in] UINT height,
2892 [in] UINT depth,
2893 [in] UINT levels,
2894 [in] DWORD usage,
2895 [in] WINED3DFORMAT format,
2896 [in] WINED3DPOOL pool,
2897 [out] IWineD3DVolumeTexture **texture,
2898 [in] HANDLE *shared_handle,
2899 [in] IUnknown *parent,
2900 [in] D3DCB_CREATEVOLUMEFN create_volume_callback
2902 HRESULT CreateVolume(
2903 [in] UINT width,
2904 [in] UINT height,
2905 [in] UINT depth,
2906 [in] DWORD usage,
2907 [in] WINED3DFORMAT format,
2908 [in] WINED3DPOOL pool,
2909 [out] IWineD3DVolume **volume,
2910 [in] HANDLE *shared_handle,
2911 [in] IUnknown *parent
2913 HRESULT CreateCubeTexture(
2914 [in] UINT edge_length,
2915 [in] UINT levels,
2916 [in] DWORD usage,
2917 [in] WINED3DFORMAT format,
2918 [in] WINED3DPOOL pool,
2919 [out] IWineD3DCubeTexture **texture,
2920 [in] HANDLE *shared_handle,
2921 [in] IUnknown *parent,
2922 [in] D3DCB_CREATESURFACEFN create_surface_callback
2924 HRESULT CreateQuery(
2925 [in] WINED3DQUERYTYPE type,
2926 [out] IWineD3DQuery **query,
2927 [in] IUnknown *parent
2929 HRESULT CreateSwapChain(
2930 [in] WINED3DPRESENT_PARAMETERS *present_parameters,
2931 [out] IWineD3DSwapChain **swapchain,
2932 [in] IUnknown *parent,
2933 [in] D3DCB_CREATERENDERTARGETFN create_render_target_callback,
2934 [in] D3DCB_CREATEDEPTHSTENCILSURFACEFN create_depth_stencil_callback,
2935 [in] WINED3DSURFTYPE surface_type
2937 HRESULT CreateVertexDeclaration(
2938 [out] IWineD3DVertexDeclaration **declaration,
2939 [in] IUnknown *parent,
2940 [in] const WINED3DVERTEXELEMENT *elements,
2941 [in] UINT element_count
2943 HRESULT CreateVertexDeclarationFromFVF(
2944 [out] IWineD3DVertexDeclaration **declaration,
2945 [in] IUnknown *parent,
2946 [in] DWORD fvf
2948 HRESULT CreateVertexShader(
2949 [in] IWineD3DVertexDeclaration *declaration,
2950 [in] const DWORD *function,
2951 [out] IWineD3DVertexShader **shader,
2952 [in] IUnknown *parent
2954 HRESULT CreatePixelShader(
2955 [in] const DWORD *function,
2956 [out] IWineD3DPixelShader **shader,
2957 [in] IUnknown *parent
2959 HRESULT CreatePalette(
2960 [in] DWORD flags,
2961 [in] const PALETTEENTRY *palette_entry,
2962 [out] IWineD3DPalette **palette,
2963 [in] IUnknown *parent
2965 HRESULT Init3D(
2966 [in] WINED3DPRESENT_PARAMETERS *present_parameters,
2967 [in] D3DCB_CREATESWAPCHAIN create_swapchain_callback
2969 HRESULT InitGDI(
2970 [in] WINED3DPRESENT_PARAMETERS *present_parameters,
2971 [in] D3DCB_CREATESWAPCHAIN create_swapchain_callback
2973 HRESULT Uninit3D(
2974 [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback,
2975 [in] D3DCB_DESTROYSWAPCHAINFN destroy_swapchain_callback
2977 HRESULT UninitGDI(
2978 [in] D3DCB_DESTROYSWAPCHAINFN destroy_swapchain_callback
2980 void SetMultithreaded(
2982 HRESULT EvictManagedResources(
2984 UINT GetAvailableTextureMem(
2986 HRESULT GetBackBuffer(
2987 [in] UINT swapchain_idx,
2988 [in] UINT backbuffer_idx,
2989 [in] WINED3DBACKBUFFER_TYPE backbuffer_type,
2990 [out] IWineD3DSurface **backbuffer
2992 HRESULT GetCreationParameters(
2993 [out] WINED3DDEVICE_CREATION_PARAMETERS *creation_parameters
2995 HRESULT GetDeviceCaps(
2996 [out] WINED3DCAPS *caps
2998 HRESULT GetDirect3D(
2999 [out] IWineD3D** d3d
3001 HRESULT GetDisplayMode(
3002 [in] UINT swapchain_idx,
3003 [out] WINED3DDISPLAYMODE *mode
3005 HRESULT SetDisplayMode(
3006 [in] UINT swapchain_idx,
3007 [in] const WINED3DDISPLAYMODE *mode
3009 UINT GetNumberOfSwapChains(
3011 HRESULT GetRasterStatus(
3012 [in] UINT swapchain_idx,
3013 [out] WINED3DRASTER_STATUS *raster_status
3015 HRESULT GetSwapChain(
3016 [in] UINT swapchain_idx,
3017 [out] IWineD3DSwapChain **swapchain
3019 HRESULT Reset(
3020 [in] WINED3DPRESENT_PARAMETERS *present_parameters
3022 HRESULT SetDialogBoxMode(
3023 [in] BOOL enable_dialogs
3025 HRESULT SetCursorProperties(
3026 [in] UINT x_hotspot,
3027 [in] UINT y_hotspot,
3028 [in] IWineD3DSurface *cursor_surface
3030 void SetCursorPosition(
3031 [in] int x_screen_space,
3032 [in] int y_screen_space,
3033 [in] DWORD flags
3035 BOOL ShowCursor(
3036 [in] BOOL show
3038 HRESULT TestCooperativeLevel(
3040 HRESULT SetClipPlane(
3041 [in] DWORD plane_idx,
3042 [in] const float *plane
3044 HRESULT GetClipPlane(
3045 [in] DWORD plane_idx,
3046 [out] float *plane
3048 HRESULT SetClipStatus(
3049 [in] const WINED3DCLIPSTATUS *clip_status
3051 HRESULT GetClipStatus(
3052 [out] WINED3DCLIPSTATUS *clip_status
3054 HRESULT SetCurrentTexturePalette(
3055 [in] UINT palette_number
3057 HRESULT GetCurrentTexturePalette(
3058 [out] UINT *palette_number
3060 HRESULT SetDepthStencilSurface(
3061 [in] IWineD3DSurface *depth_stencil
3063 HRESULT GetDepthStencilSurface(
3064 [out] IWineD3DSurface **depth_stencil
3066 void SetGammaRamp(
3067 [in] UINT swapchain_idx,
3068 [in] DWORD flags,
3069 [in] const WINED3DGAMMARAMP *ramp
3071 void GetGammaRamp(
3072 [in] UINT swapchain_idx,
3073 [out] WINED3DGAMMARAMP *ramp
3075 HRESULT SetIndices(
3076 [in] IWineD3DIndexBuffer *index_buffer
3078 HRESULT GetIndices(
3079 [out] IWineD3DIndexBuffer **index_buffer
3081 HRESULT SetBaseVertexIndex(
3082 [in] INT base_index
3084 HRESULT GetBaseVertexIndex(
3085 [out] INT *base_index
3087 HRESULT SetLight(
3088 [in] DWORD light_idx,
3089 [in] const WINED3DLIGHT *light
3091 HRESULT GetLight(
3092 [in] DWORD light_idx,
3093 [out] WINED3DLIGHT *light
3095 HRESULT SetLightEnable(
3096 [in] DWORD light_idx,
3097 [in] BOOL enable
3099 HRESULT GetLightEnable(
3100 [in] DWORD light_idx,
3101 [out] BOOL *enable
3103 HRESULT SetMaterial(
3104 [in] const WINED3DMATERIAL *material
3106 HRESULT GetMaterial(
3107 [out] WINED3DMATERIAL *material
3109 HRESULT SetNPatchMode(
3110 [in] float segments
3112 float GetNPatchMode(
3114 HRESULT SetPaletteEntries(
3115 [in] UINT palette_number,
3116 [in] const PALETTEENTRY *entries
3118 HRESULT GetPaletteEntries(
3119 [in] UINT palette_number,
3120 [out] PALETTEENTRY *entries
3122 HRESULT SetPixelShader(
3123 [in] IWineD3DPixelShader *shader
3125 HRESULT GetPixelShader(
3126 [out] IWineD3DPixelShader **shader
3128 HRESULT SetPixelShaderConstantB(
3129 [in] UINT start_register,
3130 [in] const BOOL *constants,
3131 [in] UINT bool_count
3133 HRESULT GetPixelShaderConstantB(
3134 [in] UINT start_register,
3135 [out] BOOL *constants,
3136 [in] UINT bool_count
3138 HRESULT SetPixelShaderConstantI(
3139 [in] UINT start_register,
3140 [in] const int *constants,
3141 [in] UINT vector4i_count
3143 HRESULT GetPixelShaderConstantI(
3144 [in] UINT start_register,
3145 [out] int *constants,
3146 [in] UINT vector4i_count
3148 HRESULT SetPixelShaderConstantF(
3149 [in] UINT start_register,
3150 [in] const float *constants,
3151 [in] UINT vector4f_count
3153 HRESULT GetPixelShaderConstantF(
3154 [in] UINT start_register,
3155 [out] float *constants,
3156 [in] UINT vector4f_count
3158 HRESULT SetRenderState(
3159 [in] WINED3DRENDERSTATETYPE state,
3160 [in] DWORD value
3162 HRESULT GetRenderState(
3163 [in] WINED3DRENDERSTATETYPE state,
3164 [out] DWORD *value
3166 HRESULT SetRenderTarget(
3167 [in] DWORD render_target_idx,
3168 [in] IWineD3DSurface *render_target
3170 HRESULT GetRenderTarget(
3171 [in] DWORD render_target_idx,
3172 [out] IWineD3DSurface **render_target
3174 HRESULT SetFrontBackBuffers(
3175 [in] IWineD3DSurface *front,
3176 [in] IWineD3DSurface *back
3178 HRESULT SetSamplerState(
3179 [in] DWORD sampler_idx,
3180 [in] WINED3DSAMPLERSTATETYPE state,
3181 [in] DWORD value
3183 HRESULT GetSamplerState(
3184 [in] DWORD sampler_idx,
3185 [in] WINED3DSAMPLERSTATETYPE state,
3186 [out] DWORD *value
3188 HRESULT SetScissorRect(
3189 [in] const RECT *rect
3191 HRESULT GetScissorRect(
3192 [out] RECT *rect
3194 HRESULT SetSoftwareVertexProcessing(
3195 [in] BOOL software
3197 BOOL GetSoftwareVertexProcessing(
3199 HRESULT SetStreamSource(
3200 [in] UINT stream_idx,
3201 [in] IWineD3DVertexBuffer *vertex_buffer,
3202 [in] UINT offset,
3203 [in] UINT stride
3205 HRESULT GetStreamSource(
3206 [in] UINT stream_idx,
3207 [out] IWineD3DVertexBuffer **vertex_buffer,
3208 [out] UINT *offset,
3209 [out] UINT *stride
3211 HRESULT SetStreamSourceFreq(
3212 [in] UINT stream_idx,
3213 [in] UINT divider
3215 HRESULT GetStreamSourceFreq(
3216 [in] UINT stream_idx,
3217 [out] UINT *divider
3219 HRESULT SetTexture(
3220 [in] DWORD stage,
3221 [in] IWineD3DBaseTexture *texture
3223 HRESULT GetTexture(
3224 [in] DWORD stage,
3225 [out] IWineD3DBaseTexture **texture
3227 HRESULT SetTextureStageState(
3228 [in] DWORD stage,
3229 [in] WINED3DTEXTURESTAGESTATETYPE state,
3230 [in] DWORD value
3232 HRESULT GetTextureStageState(
3233 [in] DWORD stage,
3234 [in] WINED3DTEXTURESTAGESTATETYPE state,
3235 [out] DWORD *value
3237 HRESULT SetTransform(
3238 [in] WINED3DTRANSFORMSTATETYPE state,
3239 [in] const WINED3DMATRIX *matrix
3241 HRESULT GetTransform(
3242 [in] WINED3DTRANSFORMSTATETYPE state,
3243 [out] WINED3DMATRIX *matrix
3245 HRESULT SetVertexDeclaration(
3246 [in] IWineD3DVertexDeclaration *declaration
3248 HRESULT GetVertexDeclaration(
3249 [out] IWineD3DVertexDeclaration **declaration
3251 HRESULT SetVertexShader(
3252 [in] IWineD3DVertexShader *shader
3254 HRESULT GetVertexShader(
3255 [out] IWineD3DVertexShader **shader
3257 HRESULT SetVertexShaderConstantB(
3258 [in] UINT start_register,
3259 [in] const BOOL *constants,
3260 [in] UINT bool_count
3262 HRESULT GetVertexShaderConstantB(
3263 [in] UINT start_register,
3264 [out] BOOL *constants,
3265 [in] UINT bool_count
3267 HRESULT SetVertexShaderConstantI(
3268 [in] UINT start_register,
3269 [in] const int *constants,
3270 [in] UINT vector4i_count
3272 HRESULT GetVertexShaderConstantI(
3273 [in] UINT start_register,
3274 [out] int *constants,
3275 [in] UINT vector4i_count
3277 HRESULT SetVertexShaderConstantF(
3278 [in] UINT start_register,
3279 [in] const float *constants,
3280 [in] UINT vector4f_count
3282 HRESULT GetVertexShaderConstantF(
3283 [in] UINT start_register,
3284 [out] float *constants,
3285 [in] UINT vector4f_count
3287 HRESULT SetViewport(
3288 [in] const WINED3DVIEWPORT *viewport
3290 HRESULT GetViewport(
3291 [out] WINED3DVIEWPORT *viewport
3293 HRESULT MultiplyTransform(
3294 [in] WINED3DTRANSFORMSTATETYPE state,
3295 [in] const WINED3DMATRIX *matrix
3297 HRESULT ValidateDevice(
3298 [out] DWORD *num_passes
3300 HRESULT ProcessVertices(
3301 [in] UINT src_start_idx,
3302 [in] UINT dst_idx,
3303 [in] UINT vertex_count,
3304 [in] IWineD3DVertexBuffer *dest_buffer,
3305 [in] IWineD3DVertexDeclaration *declaration,
3306 [in] DWORD flags
3308 HRESULT BeginStateBlock(
3310 HRESULT EndStateBlock(
3311 [out] IWineD3DStateBlock **stateblock
3313 HRESULT BeginScene(
3315 HRESULT EndScene(
3317 HRESULT Present(
3318 [in] const RECT *src_rect,
3319 [in] const RECT *dst_rect,
3320 [in] HWND dst_window_override,
3321 [in] const RGNDATA *dirty_region
3323 HRESULT Clear(
3324 [in] DWORD rect_count,
3325 [in] const WINED3DRECT *rects,
3326 [in] DWORD flags,
3327 [in] WINED3DCOLOR color,
3328 [in] float z,
3329 [in] DWORD stencil
3331 HRESULT DrawPrimitive(
3332 [in] WINED3DPRIMITIVETYPE primitive_type,
3333 [in] UINT start_vertex,
3334 [in] UINT primitive_count
3336 HRESULT DrawIndexedPrimitive(
3337 [in] WINED3DPRIMITIVETYPE primitive_type,
3338 [in] UINT min_vertex_idx,
3339 [in] UINT vertex_count,
3340 [in] UINT start_idx,
3341 [in] UINT primitive_count
3343 HRESULT DrawPrimitiveUP(
3344 [in] WINED3DPRIMITIVETYPE primitive_type,
3345 [in] UINT primitive_count,
3346 [in] const void *stream_data,
3347 [in] UINT stream_stride
3349 HRESULT DrawIndexedPrimitiveUP(
3350 [in] WINED3DPRIMITIVETYPE primitive_type,
3351 [in] UINT min_vertex_idx,
3352 [in] UINT vertex_count,
3353 [in] UINT primitive_count,
3354 [in] const void *index_data,
3355 [in] WINED3DFORMAT index_data_format,
3356 [in] const void *stream_data,
3357 [in] UINT stream_stride
3359 HRESULT DrawPrimitiveStrided(
3360 [in] WINED3DPRIMITIVETYPE primitive_type,
3361 [in] UINT primitive_count,
3362 [in] const WineDirect3DVertexStridedData *strided_data
3364 HRESULT DrawIndexedPrimitiveStrided(
3365 [in] WINED3DPRIMITIVETYPE primitive_type,
3366 [in] UINT primitive_count,
3367 [in] const WineDirect3DVertexStridedData *strided_data,
3368 [in] UINT vertex_count,
3369 [in] const void *index_data,
3370 [in] WINED3DFORMAT index_data_format
3372 HRESULT DrawRectPatch(
3373 [in] UINT handle,
3374 [in] const float *num_segs,
3375 [in] const WINED3DRECTPATCH_INFO *rect_patch_info
3377 HRESULT DrawTriPatch(
3378 [in] UINT handle,
3379 [in] const float *num_segs,
3380 [in] const WINED3DTRIPATCH_INFO *tri_patch_info
3382 HRESULT DeletePatch(
3383 [in] UINT handle
3385 HRESULT ColorFill(
3386 [in] IWineD3DSurface *surface,
3387 [in] const WINED3DRECT *rect,
3388 [in] WINED3DCOLOR color
3390 HRESULT UpdateTexture(
3391 [in] IWineD3DBaseTexture *src_texture,
3392 [in] IWineD3DBaseTexture *dst_texture
3394 HRESULT UpdateSurface(
3395 [in] IWineD3DSurface *src_surface,
3396 [in] const RECT *src_rect,
3397 [in] IWineD3DSurface *dst_surface,
3398 [in] const POINT *dst_point
3400 HRESULT GetFrontBufferData(
3401 [in] UINT swapchain_idx,
3402 [in] IWineD3DSurface *dst_surface
3404 void ResourceReleased(
3405 [in] IWineD3DResource *resource
3407 HRESULT EnumResources(
3408 [in] D3DCB_ENUMRESOURCES callback,
3409 [in] void *data
3413 IWineD3D *WineDirect3DCreate(UINT dxVersion, IUnknown *parent);
3414 IWineD3DClipper *WineDirect3DCreateClipper(IUnknown *parent);