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