wined3d: Get rid of the IWineD3DDeviceParent interface.
[wine/multimedia.git] / include / wine / wined3d.idl
blob2af9b139f152b09074b9192d8c431b1499fca3a2
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;
46 typedef struct _LUID
48 DWORD LowPart;
49 LONG HighPart;
50 } LUID, *PLUID;
51 cpp_quote("#endif")
53 cpp_quote("#define WINED3D_OK S_OK")
55 const UINT _FACWINED3D = 0x876;
56 cpp_quote("#define MAKE_WINED3DSTATUS(code) MAKE_HRESULT(0, _FACWINED3D, code)")
57 cpp_quote("#define WINED3DOK_NOAUTOGEN MAKE_WINED3DSTATUS(2159)")
59 cpp_quote("#define MAKE_WINED3DHRESULT(code) MAKE_HRESULT(1, _FACWINED3D, code)")
60 cpp_quote("#define WINED3DERR_WRONGTEXTUREFORMAT MAKE_WINED3DHRESULT(2072)")
61 cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLOROPERATION MAKE_WINED3DHRESULT(2073)")
62 cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLORARG MAKE_WINED3DHRESULT(2074)")
63 cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAOPERATION MAKE_WINED3DHRESULT(2075)")
64 cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAARG MAKE_WINED3DHRESULT(2076)")
65 cpp_quote("#define WINED3DERR_TOOMANYOPERATIONS MAKE_WINED3DHRESULT(2077)")
66 cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREFILTER MAKE_WINED3DHRESULT(2078)")
67 cpp_quote("#define WINED3DERR_UNSUPPORTEDFACTORVALUE MAKE_WINED3DHRESULT(2079)")
68 cpp_quote("#define WINED3DERR_CONFLICTINGRENDERSTATE MAKE_WINED3DHRESULT(2081)")
69 cpp_quote("#define WINED3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_WINED3DHRESULT(2082)")
70 cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREPALETTE MAKE_WINED3DHRESULT(2086)")
71 cpp_quote("#define WINED3DERR_DRIVERINTERNALERROR MAKE_WINED3DHRESULT(2087)")
72 cpp_quote("#define WINED3DERR_NOTFOUND MAKE_WINED3DHRESULT(2150)")
73 cpp_quote("#define WINED3DERR_MOREDATA MAKE_WINED3DHRESULT(2151)")
74 cpp_quote("#define WINED3DERR_DEVICELOST MAKE_WINED3DHRESULT(2152)")
75 cpp_quote("#define WINED3DERR_DEVICENOTRESET MAKE_WINED3DHRESULT(2153)")
76 cpp_quote("#define WINED3DERR_NOTAVAILABLE MAKE_WINED3DHRESULT(2154)")
77 cpp_quote("#define WINED3DERR_OUTOFVIDEOMEMORY MAKE_WINED3DHRESULT(380)")
78 cpp_quote("#define WINED3DERR_INVALIDDEVICE MAKE_WINED3DHRESULT(2155)")
79 cpp_quote("#define WINED3DERR_INVALIDCALL MAKE_WINED3DHRESULT(2156)")
80 cpp_quote("#define WINED3DERR_DRIVERINVALIDCALL MAKE_WINED3DHRESULT(2157)")
81 cpp_quote("#define WINED3DERR_WASSTILLDRAWING MAKE_WINED3DHRESULT(540)")
82 cpp_quote("#define WINEDDERR_NOTAOVERLAYSURFACE MAKE_WINED3DHRESULT(580)")
83 cpp_quote("#define WINEDDERR_NOTLOCKED MAKE_WINED3DHRESULT(584)")
84 cpp_quote("#define WINEDDERR_NODC MAKE_WINED3DHRESULT(586)")
85 cpp_quote("#define WINEDDERR_DCALREADYCREATED MAKE_WINED3DHRESULT(620)")
86 cpp_quote("#define WINEDDERR_NOTFLIPPABLE MAKE_WINED3DHRESULT(582)")
87 cpp_quote("#define WINEDDERR_SURFACEBUSY MAKE_WINED3DHRESULT(430)")
88 cpp_quote("#define WINEDDERR_INVALIDRECT MAKE_WINED3DHRESULT(150)")
89 cpp_quote("#define WINEDDERR_NOCLIPLIST MAKE_WINED3DHRESULT(205)")
90 cpp_quote("#define WINEDDERR_OVERLAYNOTVISIBLE MAKE_WINED3DHRESULT(577)")
92 typedef DWORD WINED3DCOLOR;
94 typedef enum _WINED3DLIGHTTYPE
96 WINED3DLIGHT_POINT = 1,
97 WINED3DLIGHT_SPOT = 2,
98 WINED3DLIGHT_DIRECTIONAL = 3,
99 WINED3DLIGHT_PARALLELPOINT = 4, /* D3D7 */
100 WINED3DLIGHT_GLSPOT = 5, /* D3D7 */
101 WINED3DLIGHT_FORCE_DWORD = 0x7fffffff
102 } WINED3DLIGHTTYPE;
104 typedef enum _WINED3DPRIMITIVETYPE
106 WINED3DPT_UNDEFINED = 0,
107 WINED3DPT_POINTLIST = 1,
108 WINED3DPT_LINELIST = 2,
109 WINED3DPT_LINESTRIP = 3,
110 WINED3DPT_TRIANGLELIST = 4,
111 WINED3DPT_TRIANGLESTRIP = 5,
112 WINED3DPT_TRIANGLEFAN = 6,
113 WINED3DPT_LINELIST_ADJ = 10,
114 WINED3DPT_LINESTRIP_ADJ = 11,
115 WINED3DPT_TRIANGLELIST_ADJ = 12,
116 WINED3DPT_TRIANGLESTRIP_ADJ = 13,
117 WINED3DPT_FORCE_DWORD = 0x7fffffff
118 } WINED3DPRIMITIVETYPE;
120 typedef enum _WINED3DDEVTYPE
122 WINED3DDEVTYPE_HAL = 1,
123 WINED3DDEVTYPE_REF = 2,
124 WINED3DDEVTYPE_SW = 3,
125 WINED3DDEVTYPE_NULLREF = 4,
126 WINED3DDEVTYPE_FORCE_DWORD = 0xffffffff
127 } WINED3DDEVTYPE;
129 typedef enum _WINED3DDEGREETYPE
131 WINED3DDEGREE_LINEAR = 1,
132 WINED3DDEGREE_QUADRATIC = 2,
133 WINED3DDEGREE_CUBIC = 3,
134 WINED3DDEGREE_QUINTIC = 5,
135 WINED3DDEGREE_FORCE_DWORD = 0x7fffffff
136 } WINED3DDEGREETYPE;
138 #define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \
139 ((unsigned long)(unsigned char)(ch0) | ((unsigned long)(unsigned char)(ch1) << 8) | \
140 ((unsigned long)(unsigned char)(ch2) << 16) | ((unsigned long)(unsigned char)(ch3) << 24))
142 enum wined3d_format_id
144 WINED3DFMT_UNKNOWN,
145 WINED3DFMT_B8G8R8_UNORM,
146 WINED3DFMT_B5G5R5X1_UNORM,
147 WINED3DFMT_B4G4R4A4_UNORM,
148 WINED3DFMT_B2G3R3_UNORM,
149 WINED3DFMT_B2G3R3A8_UNORM,
150 WINED3DFMT_B4G4R4X4_UNORM,
151 WINED3DFMT_R8G8B8X8_UNORM,
152 WINED3DFMT_B10G10R10A2_UNORM,
153 WINED3DFMT_P8_UINT_A8_UNORM,
154 WINED3DFMT_P8_UINT,
155 WINED3DFMT_L8_UNORM,
156 WINED3DFMT_L8A8_UNORM,
157 WINED3DFMT_L4A4_UNORM,
158 WINED3DFMT_R5G5_SNORM_L6_UNORM,
159 WINED3DFMT_R8G8_SNORM_L8X8_UNORM,
160 WINED3DFMT_R10G11B11_SNORM,
161 WINED3DFMT_R10G10B10_SNORM_A2_UNORM,
162 WINED3DFMT_D16_LOCKABLE,
163 WINED3DFMT_D32_UNORM,
164 WINED3DFMT_S1_UINT_D15_UNORM,
165 WINED3DFMT_X8D24_UNORM,
166 WINED3DFMT_S4X4_UINT_D24_UNORM,
167 WINED3DFMT_L16_UNORM,
168 WINED3DFMT_S8_UINT_D24_FLOAT,
169 WINED3DFMT_VERTEXDATA,
170 WINED3DFMT_R8G8_SNORM_Cx,
171 WINED3DFMT_R32G32B32A32_TYPELESS,
172 WINED3DFMT_R32G32B32A32_FLOAT,
173 WINED3DFMT_R32G32B32A32_UINT,
174 WINED3DFMT_R32G32B32A32_SINT,
175 WINED3DFMT_R32G32B32_TYPELESS,
176 WINED3DFMT_R32G32B32_FLOAT,
177 WINED3DFMT_R32G32B32_UINT,
178 WINED3DFMT_R32G32B32_SINT,
179 WINED3DFMT_R16G16B16A16_TYPELESS,
180 WINED3DFMT_R16G16B16A16_FLOAT,
181 WINED3DFMT_R16G16B16A16_UNORM,
182 WINED3DFMT_R16G16B16A16_UINT,
183 WINED3DFMT_R16G16B16A16_SNORM,
184 WINED3DFMT_R16G16B16A16_SINT,
185 WINED3DFMT_R32G32_TYPELESS,
186 WINED3DFMT_R32G32_FLOAT,
187 WINED3DFMT_R32G32_UINT,
188 WINED3DFMT_R32G32_SINT,
189 WINED3DFMT_R32G8X24_TYPELESS,
190 WINED3DFMT_D32_FLOAT_S8X24_UINT,
191 WINED3DFMT_R32_FLOAT_X8X24_TYPELESS,
192 WINED3DFMT_X32_TYPELESS_G8X24_UINT,
193 WINED3DFMT_R10G10B10A2_TYPELESS,
194 WINED3DFMT_R10G10B10A2_UNORM,
195 WINED3DFMT_R10G10B10A2_UINT,
196 WINED3DFMT_R10G10B10A2_SNORM,
197 WINED3DFMT_R11G11B10_FLOAT,
198 WINED3DFMT_R8G8B8A8_TYPELESS,
199 WINED3DFMT_R8G8B8A8_UNORM,
200 WINED3DFMT_R8G8B8A8_UNORM_SRGB,
201 WINED3DFMT_R8G8B8A8_UINT,
202 WINED3DFMT_R8G8B8A8_SNORM,
203 WINED3DFMT_R8G8B8A8_SINT,
204 WINED3DFMT_R16G16_TYPELESS,
205 WINED3DFMT_R16G16_FLOAT,
206 WINED3DFMT_R16G16_UNORM,
207 WINED3DFMT_R16G16_UINT,
208 WINED3DFMT_R16G16_SNORM,
209 WINED3DFMT_R16G16_SINT,
210 WINED3DFMT_R32_TYPELESS,
211 WINED3DFMT_D32_FLOAT,
212 WINED3DFMT_R32_FLOAT,
213 WINED3DFMT_R32_UINT,
214 WINED3DFMT_R32_SINT,
215 WINED3DFMT_R24G8_TYPELESS,
216 WINED3DFMT_D24_UNORM_S8_UINT,
217 WINED3DFMT_R24_UNORM_X8_TYPELESS,
218 WINED3DFMT_X24_TYPELESS_G8_UINT,
219 WINED3DFMT_R8G8_TYPELESS,
220 WINED3DFMT_R8G8_UNORM,
221 WINED3DFMT_R8G8_UINT,
222 WINED3DFMT_R8G8_SNORM,
223 WINED3DFMT_R8G8_SINT,
224 WINED3DFMT_R16_TYPELESS,
225 WINED3DFMT_R16_FLOAT,
226 WINED3DFMT_D16_UNORM,
227 WINED3DFMT_R16_UNORM,
228 WINED3DFMT_R16_UINT,
229 WINED3DFMT_R16_SNORM,
230 WINED3DFMT_R16_SINT,
231 WINED3DFMT_R8_TYPELESS,
232 WINED3DFMT_R8_UNORM,
233 WINED3DFMT_R8_UINT,
234 WINED3DFMT_R8_SNORM,
235 WINED3DFMT_R8_SINT,
236 WINED3DFMT_A8_UNORM,
237 WINED3DFMT_R1_UNORM,
238 WINED3DFMT_R9G9B9E5_SHAREDEXP,
239 WINED3DFMT_R8G8_B8G8_UNORM,
240 WINED3DFMT_G8R8_G8B8_UNORM,
241 WINED3DFMT_BC1_TYPELESS,
242 WINED3DFMT_BC1_UNORM,
243 WINED3DFMT_BC1_UNORM_SRGB,
244 WINED3DFMT_BC2_TYPELESS,
245 WINED3DFMT_BC2_UNORM,
246 WINED3DFMT_BC2_UNORM_SRGB,
247 WINED3DFMT_BC3_TYPELESS,
248 WINED3DFMT_BC3_UNORM,
249 WINED3DFMT_BC3_UNORM_SRGB,
250 WINED3DFMT_BC4_TYPELESS,
251 WINED3DFMT_BC4_UNORM,
252 WINED3DFMT_BC4_SNORM,
253 WINED3DFMT_BC5_TYPELESS,
254 WINED3DFMT_BC5_UNORM,
255 WINED3DFMT_BC5_SNORM,
256 WINED3DFMT_B5G6R5_UNORM,
257 WINED3DFMT_B5G5R5A1_UNORM,
258 WINED3DFMT_B8G8R8A8_UNORM,
259 WINED3DFMT_B8G8R8X8_UNORM,
260 /* FOURCC formats. */
261 WINED3DFMT_UYVY = WINEMAKEFOURCC('U','Y','V','Y'),
262 WINED3DFMT_YUY2 = WINEMAKEFOURCC('Y','U','Y','2'),
263 WINED3DFMT_YV12 = WINEMAKEFOURCC('Y','V','1','2'),
264 WINED3DFMT_DXT1 = WINEMAKEFOURCC('D','X','T','1'),
265 WINED3DFMT_DXT2 = WINEMAKEFOURCC('D','X','T','2'),
266 WINED3DFMT_DXT3 = WINEMAKEFOURCC('D','X','T','3'),
267 WINED3DFMT_DXT4 = WINEMAKEFOURCC('D','X','T','4'),
268 WINED3DFMT_DXT5 = WINEMAKEFOURCC('D','X','T','5'),
269 WINED3DFMT_MULTI2_ARGB8 = WINEMAKEFOURCC('M','E','T','1'),
270 WINED3DFMT_G8R8_G8B8 = WINEMAKEFOURCC('G','R','G','B'),
271 WINED3DFMT_R8G8_B8G8 = WINEMAKEFOURCC('R','G','B','G'),
272 WINED3DFMT_ATI2N = WINEMAKEFOURCC('A','T','I','2'),
273 WINED3DFMT_INST = WINEMAKEFOURCC('I','N','S','T'),
274 WINED3DFMT_NVDB = WINEMAKEFOURCC('N','V','D','B'),
275 WINED3DFMT_NVHU = WINEMAKEFOURCC('N','V','H','U'),
276 WINED3DFMT_NVHS = WINEMAKEFOURCC('N','V','H','S'),
277 WINED3DFMT_INTZ = WINEMAKEFOURCC('I','N','T','Z'),
278 WINED3DFMT_NULL = WINEMAKEFOURCC('N','U','L','L'),
280 WINED3DFMT_FORCE_DWORD = 0xffffffff
283 typedef enum _WINED3DRENDERSTATETYPE
285 WINED3DRS_ANTIALIAS = 2, /* d3d7 */
286 WINED3DRS_TEXTUREPERSPECTIVE = 4, /* d3d7 */
287 WINED3DRS_WRAPU = 5, /* d3d7 */
288 WINED3DRS_WRAPV = 6, /* d3d7 */
289 WINED3DRS_ZENABLE = 7,
290 WINED3DRS_FILLMODE = 8,
291 WINED3DRS_SHADEMODE = 9,
292 WINED3DRS_LINEPATTERN = 10, /* d3d7, d3d8 */
293 WINED3DRS_MONOENABLE = 11, /* d3d7 */
294 WINED3DRS_ROP2 = 12, /* d3d7 */
295 WINED3DRS_PLANEMASK = 13, /* d3d7 */
296 WINED3DRS_ZWRITEENABLE = 14,
297 WINED3DRS_ALPHATESTENABLE = 15,
298 WINED3DRS_LASTPIXEL = 16,
299 WINED3DRS_SRCBLEND = 19,
300 WINED3DRS_DESTBLEND = 20,
301 WINED3DRS_CULLMODE = 22,
302 WINED3DRS_ZFUNC = 23,
303 WINED3DRS_ALPHAREF = 24,
304 WINED3DRS_ALPHAFUNC = 25,
305 WINED3DRS_DITHERENABLE = 26,
306 WINED3DRS_ALPHABLENDENABLE = 27,
307 WINED3DRS_FOGENABLE = 28,
308 WINED3DRS_SPECULARENABLE = 29,
309 WINED3DRS_ZVISIBLE = 30, /* d3d7, d3d8 */
310 WINED3DRS_SUBPIXEL = 31, /* d3d7 */
311 WINED3DRS_SUBPIXELX = 32, /* d3d7 */
312 WINED3DRS_STIPPLEDALPHA = 33, /* d3d7 */
313 WINED3DRS_FOGCOLOR = 34,
314 WINED3DRS_FOGTABLEMODE = 35,
315 WINED3DRS_FOGSTART = 36,
316 WINED3DRS_FOGEND = 37,
317 WINED3DRS_FOGDENSITY = 38,
318 WINED3DRS_STIPPLEENABLE = 39, /* d3d7 */
319 WINED3DRS_EDGEANTIALIAS = 40, /* d3d7, d3d8 */
320 WINED3DRS_COLORKEYENABLE = 41, /* d3d7 */
321 WINED3DRS_MIPMAPLODBIAS = 46, /* d3d7 */
322 WINED3DRS_RANGEFOGENABLE = 48,
323 WINED3DRS_ANISOTROPY = 49, /* d3d7 */
324 WINED3DRS_FLUSHBATCH = 50, /* d3d7 */
325 WINED3DRS_TRANSLUCENTSORTINDEPENDENT = 51, /* d3d7 */
326 WINED3DRS_STENCILENABLE = 52,
327 WINED3DRS_STENCILFAIL = 53,
328 WINED3DRS_STENCILZFAIL = 54,
329 WINED3DRS_STENCILPASS = 55,
330 WINED3DRS_STENCILFUNC = 56,
331 WINED3DRS_STENCILREF = 57,
332 WINED3DRS_STENCILMASK = 58,
333 WINED3DRS_STENCILWRITEMASK = 59,
334 WINED3DRS_TEXTUREFACTOR = 60,
335 WINED3DRS_WRAP0 = 128,
336 WINED3DRS_WRAP1 = 129,
337 WINED3DRS_WRAP2 = 130,
338 WINED3DRS_WRAP3 = 131,
339 WINED3DRS_WRAP4 = 132,
340 WINED3DRS_WRAP5 = 133,
341 WINED3DRS_WRAP6 = 134,
342 WINED3DRS_WRAP7 = 135,
343 WINED3DRS_CLIPPING = 136,
344 WINED3DRS_LIGHTING = 137,
345 WINED3DRS_EXTENTS = 138, /* d3d7 */
346 WINED3DRS_AMBIENT = 139,
347 WINED3DRS_FOGVERTEXMODE = 140,
348 WINED3DRS_COLORVERTEX = 141,
349 WINED3DRS_LOCALVIEWER = 142,
350 WINED3DRS_NORMALIZENORMALS = 143,
351 WINED3DRS_COLORKEYBLENDENABLE = 144, /* d3d7 */
352 WINED3DRS_DIFFUSEMATERIALSOURCE = 145,
353 WINED3DRS_SPECULARMATERIALSOURCE = 146,
354 WINED3DRS_AMBIENTMATERIALSOURCE = 147,
355 WINED3DRS_EMISSIVEMATERIALSOURCE = 148,
356 WINED3DRS_VERTEXBLEND = 151,
357 WINED3DRS_CLIPPLANEENABLE = 152,
358 WINED3DRS_SOFTWAREVERTEXPROCESSING = 153, /* d3d8 */
359 WINED3DRS_POINTSIZE = 154,
360 WINED3DRS_POINTSIZE_MIN = 155,
361 WINED3DRS_POINTSPRITEENABLE = 156,
362 WINED3DRS_POINTSCALEENABLE = 157,
363 WINED3DRS_POINTSCALE_A = 158,
364 WINED3DRS_POINTSCALE_B = 159,
365 WINED3DRS_POINTSCALE_C = 160,
366 WINED3DRS_MULTISAMPLEANTIALIAS = 161,
367 WINED3DRS_MULTISAMPLEMASK = 162,
368 WINED3DRS_PATCHEDGESTYLE = 163,
369 WINED3DRS_PATCHSEGMENTS = 164, /* d3d8 */
370 WINED3DRS_DEBUGMONITORTOKEN = 165,
371 WINED3DRS_POINTSIZE_MAX = 166,
372 WINED3DRS_INDEXEDVERTEXBLENDENABLE = 167,
373 WINED3DRS_COLORWRITEENABLE = 168,
374 WINED3DRS_TWEENFACTOR = 170,
375 WINED3DRS_BLENDOP = 171,
376 WINED3DRS_POSITIONDEGREE = 172,
377 WINED3DRS_NORMALDEGREE = 173,
378 WINED3DRS_SCISSORTESTENABLE = 174,
379 WINED3DRS_SLOPESCALEDEPTHBIAS = 175,
380 WINED3DRS_ANTIALIASEDLINEENABLE = 176,
381 WINED3DRS_MINTESSELLATIONLEVEL = 178,
382 WINED3DRS_MAXTESSELLATIONLEVEL = 179,
383 WINED3DRS_ADAPTIVETESS_X = 180,
384 WINED3DRS_ADAPTIVETESS_Y = 181,
385 WINED3DRS_ADAPTIVETESS_Z = 182,
386 WINED3DRS_ADAPTIVETESS_W = 183,
387 WINED3DRS_ENABLEADAPTIVETESSELLATION = 184,
388 WINED3DRS_TWOSIDEDSTENCILMODE = 185,
389 WINED3DRS_CCW_STENCILFAIL = 186,
390 WINED3DRS_CCW_STENCILZFAIL = 187,
391 WINED3DRS_CCW_STENCILPASS = 188,
392 WINED3DRS_CCW_STENCILFUNC = 189,
393 WINED3DRS_COLORWRITEENABLE1 = 190,
394 WINED3DRS_COLORWRITEENABLE2 = 191,
395 WINED3DRS_COLORWRITEENABLE3 = 192,
396 WINED3DRS_BLENDFACTOR = 193,
397 WINED3DRS_SRGBWRITEENABLE = 194,
398 WINED3DRS_DEPTHBIAS = 195,
399 WINED3DRS_WRAP8 = 198,
400 WINED3DRS_WRAP9 = 199,
401 WINED3DRS_WRAP10 = 200,
402 WINED3DRS_WRAP11 = 201,
403 WINED3DRS_WRAP12 = 202,
404 WINED3DRS_WRAP13 = 203,
405 WINED3DRS_WRAP14 = 204,
406 WINED3DRS_WRAP15 = 205,
407 WINED3DRS_SEPARATEALPHABLENDENABLE = 206,
408 WINED3DRS_SRCBLENDALPHA = 207,
409 WINED3DRS_DESTBLENDALPHA = 208,
410 WINED3DRS_BLENDOPALPHA = 209,
411 WINED3DRS_FORCE_DWORD = 0x7fffffff
412 } WINED3DRENDERSTATETYPE;
413 const UINT WINEHIGHEST_RENDER_STATE = WINED3DRS_BLENDOPALPHA;
415 typedef enum _WINED3DBLEND
417 WINED3DBLEND_ZERO = 1,
418 WINED3DBLEND_ONE = 2,
419 WINED3DBLEND_SRCCOLOR = 3,
420 WINED3DBLEND_INVSRCCOLOR = 4,
421 WINED3DBLEND_SRCALPHA = 5,
422 WINED3DBLEND_INVSRCALPHA = 6,
423 WINED3DBLEND_DESTALPHA = 7,
424 WINED3DBLEND_INVDESTALPHA = 8,
425 WINED3DBLEND_DESTCOLOR = 9,
426 WINED3DBLEND_INVDESTCOLOR = 10,
427 WINED3DBLEND_SRCALPHASAT = 11,
428 WINED3DBLEND_BOTHSRCALPHA = 12,
429 WINED3DBLEND_BOTHINVSRCALPHA = 13,
430 WINED3DBLEND_BLENDFACTOR = 14,
431 WINED3DBLEND_INVBLENDFACTOR = 15,
432 WINED3DBLEND_FORCE_DWORD = 0x7fffffff
433 } WINED3DBLEND;
435 typedef enum _WINED3DBLENDOP
437 WINED3DBLENDOP_ADD = 1,
438 WINED3DBLENDOP_SUBTRACT = 2,
439 WINED3DBLENDOP_REVSUBTRACT = 3,
440 WINED3DBLENDOP_MIN = 4,
441 WINED3DBLENDOP_MAX = 5,
442 WINED3DBLENDOP_FORCE_DWORD = 0x7fffffff
443 } WINED3DBLENDOP;
445 typedef enum _WINED3DVERTEXBLENDFLAGS
447 WINED3DVBF_DISABLE = 0,
448 WINED3DVBF_1WEIGHTS = 1,
449 WINED3DVBF_2WEIGHTS = 2,
450 WINED3DVBF_3WEIGHTS = 3,
451 WINED3DVBF_TWEENING = 255,
452 WINED3DVBF_0WEIGHTS = 256
453 } WINED3DVERTEXBLENDFLAGS;
455 typedef enum _WINED3DCMPFUNC
457 WINED3DCMP_NEVER = 1,
458 WINED3DCMP_LESS = 2,
459 WINED3DCMP_EQUAL = 3,
460 WINED3DCMP_LESSEQUAL = 4,
461 WINED3DCMP_GREATER = 5,
462 WINED3DCMP_NOTEQUAL = 6,
463 WINED3DCMP_GREATEREQUAL = 7,
464 WINED3DCMP_ALWAYS = 8,
465 WINED3DCMP_FORCE_DWORD = 0x7fffffff
466 } WINED3DCMPFUNC;
468 typedef enum _WINED3DZBUFFERTYPE
470 WINED3DZB_FALSE = 0,
471 WINED3DZB_TRUE = 1,
472 WINED3DZB_USEW = 2,
473 WINED3DZB_FORCE_DWORD = 0x7fffffff
474 } WINED3DZBUFFERTYPE;
476 typedef enum _WINED3DFOGMODE
478 WINED3DFOG_NONE = 0,
479 WINED3DFOG_EXP = 1,
480 WINED3DFOG_EXP2 = 2,
481 WINED3DFOG_LINEAR = 3,
482 WINED3DFOG_FORCE_DWORD = 0x7fffffff
483 } WINED3DFOGMODE;
485 typedef enum _WINED3DSHADEMODE
487 WINED3DSHADE_FLAT = 1,
488 WINED3DSHADE_GOURAUD = 2,
489 WINED3DSHADE_PHONG = 3,
490 WINED3DSHADE_FORCE_DWORD = 0x7fffffff
491 } WINED3DSHADEMODE;
493 typedef enum _WINED3DFILLMODE
495 WINED3DFILL_POINT = 1,
496 WINED3DFILL_WIREFRAME = 2,
497 WINED3DFILL_SOLID = 3,
498 WINED3DFILL_FORCE_DWORD = 0x7fffffff
499 } WINED3DFILLMODE;
501 typedef enum _WINED3DCULL
503 WINED3DCULL_NONE = 1,
504 WINED3DCULL_CW = 2,
505 WINED3DCULL_CCW = 3,
506 WINED3DCULL_FORCE_DWORD = 0x7fffffff
507 } WINED3DCULL;
509 typedef enum _WINED3DSTENCILOP
511 WINED3DSTENCILOP_KEEP = 1,
512 WINED3DSTENCILOP_ZERO = 2,
513 WINED3DSTENCILOP_REPLACE = 3,
514 WINED3DSTENCILOP_INCRSAT = 4,
515 WINED3DSTENCILOP_DECRSAT = 5,
516 WINED3DSTENCILOP_INVERT = 6,
517 WINED3DSTENCILOP_INCR = 7,
518 WINED3DSTENCILOP_DECR = 8,
519 WINED3DSTENCILOP_FORCE_DWORD = 0x7fffffff
520 } WINED3DSTENCILOP;
522 typedef enum _WINED3DMATERIALCOLORSOURCE
524 WINED3DMCS_MATERIAL = 0,
525 WINED3DMCS_COLOR1 = 1,
526 WINED3DMCS_COLOR2 = 2,
527 WINED3DMCS_FORCE_DWORD = 0x7fffffff
528 } WINED3DMATERIALCOLORSOURCE;
530 typedef enum _WINED3DPATCHEDGESTYLE
532 WINED3DPATCHEDGE_DISCRETE = 0,
533 WINED3DPATCHEDGE_CONTINUOUS = 1,
534 WINED3DPATCHEDGE_FORCE_DWORD = 0x7fffffff
535 } WINED3DPATCHEDGESTYLE;
537 typedef enum _WINED3DBACKBUFFER_TYPE
539 WINED3DBACKBUFFER_TYPE_MONO = 0,
540 WINED3DBACKBUFFER_TYPE_LEFT = 1,
541 WINED3DBACKBUFFER_TYPE_RIGHT = 2,
542 WINED3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
543 } WINED3DBACKBUFFER_TYPE;
545 typedef enum _WINED3DSWAPEFFECT
547 WINED3DSWAPEFFECT_DISCARD = 1,
548 WINED3DSWAPEFFECT_FLIP = 2,
549 WINED3DSWAPEFFECT_COPY = 3,
550 WINED3DSWAPEFFECT_COPY_VSYNC = 4,
551 WINED3DSWAPEFFECT_FORCE_DWORD = 0xffffffff
552 } WINED3DSWAPEFFECT;
554 typedef enum _WINED3DSAMPLERSTATETYPE
556 WINED3DSAMP_ADDRESSU = 1,
557 WINED3DSAMP_ADDRESSV = 2,
558 WINED3DSAMP_ADDRESSW = 3,
559 WINED3DSAMP_BORDERCOLOR = 4,
560 WINED3DSAMP_MAGFILTER = 5,
561 WINED3DSAMP_MINFILTER = 6,
562 WINED3DSAMP_MIPFILTER = 7,
563 WINED3DSAMP_MIPMAPLODBIAS = 8,
564 WINED3DSAMP_MAXMIPLEVEL = 9,
565 WINED3DSAMP_MAXANISOTROPY = 10,
566 WINED3DSAMP_SRGBTEXTURE = 11,
567 WINED3DSAMP_ELEMENTINDEX = 12,
568 WINED3DSAMP_DMAPOFFSET = 13,
569 WINED3DSAMP_FORCE_DWORD = 0x7fffffff,
570 } WINED3DSAMPLERSTATETYPE;
571 const UINT WINED3D_HIGHEST_SAMPLER_STATE = WINED3DSAMP_DMAPOFFSET;
573 typedef enum _WINED3DMULTISAMPLE_TYPE
575 WINED3DMULTISAMPLE_NONE = 0,
576 WINED3DMULTISAMPLE_NONMASKABLE = 1,
577 WINED3DMULTISAMPLE_2_SAMPLES = 2,
578 WINED3DMULTISAMPLE_3_SAMPLES = 3,
579 WINED3DMULTISAMPLE_4_SAMPLES = 4,
580 WINED3DMULTISAMPLE_5_SAMPLES = 5,
581 WINED3DMULTISAMPLE_6_SAMPLES = 6,
582 WINED3DMULTISAMPLE_7_SAMPLES = 7,
583 WINED3DMULTISAMPLE_8_SAMPLES = 8,
584 WINED3DMULTISAMPLE_9_SAMPLES = 9,
585 WINED3DMULTISAMPLE_10_SAMPLES = 10,
586 WINED3DMULTISAMPLE_11_SAMPLES = 11,
587 WINED3DMULTISAMPLE_12_SAMPLES = 12,
588 WINED3DMULTISAMPLE_13_SAMPLES = 13,
589 WINED3DMULTISAMPLE_14_SAMPLES = 14,
590 WINED3DMULTISAMPLE_15_SAMPLES = 15,
591 WINED3DMULTISAMPLE_16_SAMPLES = 16,
592 WINED3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
593 } WINED3DMULTISAMPLE_TYPE;
595 typedef enum _WINED3DTEXTURESTAGESTATETYPE
597 WINED3DTSS_COLOROP = 0,
598 WINED3DTSS_COLORARG1 = 1,
599 WINED3DTSS_COLORARG2 = 2,
600 WINED3DTSS_ALPHAOP = 3,
601 WINED3DTSS_ALPHAARG1 = 4,
602 WINED3DTSS_ALPHAARG2 = 5,
603 WINED3DTSS_BUMPENVMAT00 = 6,
604 WINED3DTSS_BUMPENVMAT01 = 7,
605 WINED3DTSS_BUMPENVMAT10 = 8,
606 WINED3DTSS_BUMPENVMAT11 = 9,
607 WINED3DTSS_TEXCOORDINDEX = 10,
608 WINED3DTSS_BUMPENVLSCALE = 11,
609 WINED3DTSS_BUMPENVLOFFSET = 12,
610 WINED3DTSS_TEXTURETRANSFORMFLAGS = 13,
611 WINED3DTSS_COLORARG0 = 14,
612 WINED3DTSS_ALPHAARG0 = 15,
613 WINED3DTSS_RESULTARG = 16,
614 WINED3DTSS_CONSTANT = 17,
615 WINED3DTSS_FORCE_DWORD = 0x7fffffff
616 } WINED3DTEXTURESTAGESTATETYPE;
617 const UINT WINED3D_HIGHEST_TEXTURE_STATE = WINED3DTSS_CONSTANT;
619 typedef enum _WINED3DTEXTURETRANSFORMFLAGS
621 WINED3DTTFF_DISABLE = 0,
622 WINED3DTTFF_COUNT1 = 1,
623 WINED3DTTFF_COUNT2 = 2,
624 WINED3DTTFF_COUNT3 = 3,
625 WINED3DTTFF_COUNT4 = 4,
626 WINED3DTTFF_PROJECTED = 256,
627 WINED3DTTFF_FORCE_DWORD = 0x7fffffff
628 } WINED3DTEXTURETRANSFORMFLAGS;
630 typedef enum _WINED3DTEXTUREOP
632 WINED3DTOP_DISABLE = 1,
633 WINED3DTOP_SELECTARG1 = 2,
634 WINED3DTOP_SELECTARG2 = 3,
635 WINED3DTOP_MODULATE = 4,
636 WINED3DTOP_MODULATE2X = 5,
637 WINED3DTOP_MODULATE4X = 6,
638 WINED3DTOP_ADD = 7,
639 WINED3DTOP_ADDSIGNED = 8,
640 WINED3DTOP_ADDSIGNED2X = 9,
641 WINED3DTOP_SUBTRACT = 10,
642 WINED3DTOP_ADDSMOOTH = 11,
643 WINED3DTOP_BLENDDIFFUSEALPHA = 12,
644 WINED3DTOP_BLENDTEXTUREALPHA = 13,
645 WINED3DTOP_BLENDFACTORALPHA = 14,
646 WINED3DTOP_BLENDTEXTUREALPHAPM = 15,
647 WINED3DTOP_BLENDCURRENTALPHA = 16,
648 WINED3DTOP_PREMODULATE = 17,
649 WINED3DTOP_MODULATEALPHA_ADDCOLOR = 18,
650 WINED3DTOP_MODULATECOLOR_ADDALPHA = 19,
651 WINED3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
652 WINED3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
653 WINED3DTOP_BUMPENVMAP = 22,
654 WINED3DTOP_BUMPENVMAPLUMINANCE = 23,
655 WINED3DTOP_DOTPRODUCT3 = 24,
656 WINED3DTOP_MULTIPLYADD = 25,
657 WINED3DTOP_LERP = 26,
658 WINED3DTOP_FORCE_DWORD = 0x7fffffff,
659 } WINED3DTEXTUREOP;
661 typedef enum _WINED3DTEXTUREADDRESS
663 WINED3DTADDRESS_WRAP = 1,
664 WINED3DTADDRESS_MIRROR = 2,
665 WINED3DTADDRESS_CLAMP = 3,
666 WINED3DTADDRESS_BORDER = 4,
667 WINED3DTADDRESS_MIRRORONCE = 5,
668 WINED3DTADDRESS_FORCE_DWORD = 0x7fffffff
669 } WINED3DTEXTUREADDRESS;
671 typedef enum _WINED3DTRANSFORMSTATETYPE
673 WINED3DTS_VIEW = 2,
674 WINED3DTS_PROJECTION = 3,
675 WINED3DTS_TEXTURE0 = 16,
676 WINED3DTS_TEXTURE1 = 17,
677 WINED3DTS_TEXTURE2 = 18,
678 WINED3DTS_TEXTURE3 = 19,
679 WINED3DTS_TEXTURE4 = 20,
680 WINED3DTS_TEXTURE5 = 21,
681 WINED3DTS_TEXTURE6 = 22,
682 WINED3DTS_TEXTURE7 = 23,
683 WINED3DTS_WORLD = 256, /*WINED3DTS_WORLDMATRIX(0)*/
684 WINED3DTS_WORLD1 = 257,
685 WINED3DTS_WORLD2 = 258,
686 WINED3DTS_WORLD3 = 259,
687 WINED3DTS_FORCE_DWORD = 0x7fffffff
688 } WINED3DTRANSFORMSTATETYPE;
689 cpp_quote("#define WINED3DTS_WORLDMATRIX(index) (WINED3DTRANSFORMSTATETYPE)(index + 256)")
691 typedef enum _WINED3DBASISTYPE
693 WINED3DBASIS_BEZIER = 0,
694 WINED3DBASIS_BSPLINE = 1,
695 WINED3DBASIS_INTERPOLATE = 2,
696 WINED3DBASIS_FORCE_DWORD = 0x7fffffff
697 } WINED3DBASISTYPE;
699 typedef enum _WINED3DCUBEMAP_FACES
701 WINED3DCUBEMAP_FACE_POSITIVE_X = 0,
702 WINED3DCUBEMAP_FACE_NEGATIVE_X = 1,
703 WINED3DCUBEMAP_FACE_POSITIVE_Y = 2,
704 WINED3DCUBEMAP_FACE_NEGATIVE_Y = 3,
705 WINED3DCUBEMAP_FACE_POSITIVE_Z = 4,
706 WINED3DCUBEMAP_FACE_NEGATIVE_Z = 5,
707 WINED3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
708 } WINED3DCUBEMAP_FACES;
710 typedef enum _WINED3DTEXTUREFILTERTYPE
712 WINED3DTEXF_NONE = 0,
713 WINED3DTEXF_POINT = 1,
714 WINED3DTEXF_LINEAR = 2,
715 WINED3DTEXF_ANISOTROPIC = 3,
716 WINED3DTEXF_FLATCUBIC = 4,
717 WINED3DTEXF_GAUSSIANCUBIC = 5,
718 WINED3DTEXF_PYRAMIDALQUAD = 6,
719 WINED3DTEXF_GAUSSIANQUAD = 7,
720 WINED3DTEXF_FORCE_DWORD = 0x7fffffff
721 } WINED3DTEXTUREFILTERTYPE;
723 typedef enum _WINED3DRESOURCETYPE
725 WINED3DRTYPE_SURFACE = 1,
726 WINED3DRTYPE_VOLUME = 2,
727 WINED3DRTYPE_TEXTURE = 3,
728 WINED3DRTYPE_VOLUMETEXTURE = 4,
729 WINED3DRTYPE_CUBETEXTURE = 5,
730 WINED3DRTYPE_BUFFER = 6,
731 WINED3DRTYPE_FORCE_DWORD = 0x7fffffff
732 } WINED3DRESOURCETYPE;
733 const UINT WINED3DRTYPECOUNT = WINED3DRTYPE_BUFFER + 1;
735 typedef enum _WINED3DPOOL
737 WINED3DPOOL_DEFAULT = 0,
738 WINED3DPOOL_MANAGED = 1,
739 WINED3DPOOL_SYSTEMMEM = 2,
740 WINED3DPOOL_SCRATCH = 3,
741 WINED3DPOOL_FORCE_DWORD = 0x7fffffff
742 } WINED3DPOOL;
744 typedef enum _WINED3DQUERYTYPE
746 WINED3DQUERYTYPE_VCACHE = 4,
747 WINED3DQUERYTYPE_RESOURCEMANAGER = 5,
748 WINED3DQUERYTYPE_VERTEXSTATS = 6,
749 WINED3DQUERYTYPE_EVENT = 8,
750 WINED3DQUERYTYPE_OCCLUSION = 9,
751 WINED3DQUERYTYPE_TIMESTAMP = 10,
752 WINED3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
753 WINED3DQUERYTYPE_TIMESTAMPFREQ = 12,
754 WINED3DQUERYTYPE_PIPELINETIMINGS = 13,
755 WINED3DQUERYTYPE_INTERFACETIMINGS = 14,
756 WINED3DQUERYTYPE_VERTEXTIMINGS = 15,
757 WINED3DQUERYTYPE_PIXELTIMINGS = 16,
758 WINED3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
759 WINED3DQUERYTYPE_CACHEUTILIZATION = 18
760 } WINED3DQUERYTYPE;
762 const UINT WINED3DISSUE_BEGIN = (1 << 1);
763 const UINT WINED3DISSUE_END = (1 << 0);
764 const UINT WINED3DGETDATA_FLUSH = (1 << 0);
766 typedef enum _WINED3DSTATEBLOCKTYPE
768 WINED3DSBT_INIT = 0,
769 WINED3DSBT_ALL = 1,
770 WINED3DSBT_PIXELSTATE = 2,
771 WINED3DSBT_VERTEXSTATE = 3,
772 WINED3DSBT_RECORDED = 4, /* WineD3D private */
773 WINED3DSBT_FORCE_DWORD = 0xffffffff
774 } WINED3DSTATEBLOCKTYPE;
776 typedef enum _WINED3DDECLMETHOD
778 WINED3DDECLMETHOD_DEFAULT = 0,
779 WINED3DDECLMETHOD_PARTIALU = 1,
780 WINED3DDECLMETHOD_PARTIALV = 2,
781 WINED3DDECLMETHOD_CROSSUV = 3,
782 WINED3DDECLMETHOD_UV = 4,
783 WINED3DDECLMETHOD_LOOKUP = 5,
784 WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
785 } WINED3DDECLMETHOD;
787 typedef enum _WINED3DDECLUSAGE
789 WINED3DDECLUSAGE_POSITION = 0,
790 WINED3DDECLUSAGE_BLENDWEIGHT = 1,
791 WINED3DDECLUSAGE_BLENDINDICES = 2,
792 WINED3DDECLUSAGE_NORMAL = 3,
793 WINED3DDECLUSAGE_PSIZE = 4,
794 WINED3DDECLUSAGE_TEXCOORD = 5,
795 WINED3DDECLUSAGE_TANGENT = 6,
796 WINED3DDECLUSAGE_BINORMAL = 7,
797 WINED3DDECLUSAGE_TESSFACTOR = 8,
798 WINED3DDECLUSAGE_POSITIONT = 9,
799 WINED3DDECLUSAGE_COLOR = 10,
800 WINED3DDECLUSAGE_FOG = 11,
801 WINED3DDECLUSAGE_DEPTH = 12,
802 WINED3DDECLUSAGE_SAMPLE = 13
803 } WINED3DDECLUSAGE;
805 typedef enum _WINED3DSURFTYPE
807 SURFACE_UNKNOWN = 0, /* Default / Unknown surface type */
808 SURFACE_OPENGL, /* OpenGL surface: Renders using libGL, needed for 3D */
809 SURFACE_GDI, /* User surface. No 3D, DirectDraw rendering with GDI */
810 } WINED3DSURFTYPE;
812 enum wined3d_sysval_semantic
814 WINED3D_SV_DEPTH = 0xffffffff,
815 WINED3D_SV_TARGET0 = 0,
816 WINED3D_SV_TARGET1 = 1,
817 WINED3D_SV_TARGET2 = 2,
818 WINED3D_SV_TARGET3 = 3,
819 WINED3D_SV_TARGET4 = 4,
820 WINED3D_SV_TARGET5 = 5,
821 WINED3D_SV_TARGET6 = 6,
822 WINED3D_SV_TARGET7 = 7,
825 const UINT WINED3DCOLORWRITEENABLE_RED = (1<<0);
826 const UINT WINED3DCOLORWRITEENABLE_GREEN = (1<<1);
827 const UINT WINED3DCOLORWRITEENABLE_BLUE = (1<<2);
828 const UINT WINED3DCOLORWRITEENABLE_ALPHA = (1<<3);
830 const UINT WINED3DADAPTER_DEFAULT = 0;
831 const UINT WINED3DENUM_NO_WHQL_LEVEL = 2;
832 const UINT WINED3DPRESENT_BACK_BUFFER_MAX = 3;
834 const UINT WINED3DTSS_TCI_PASSTHRU = 0x00000;
835 const UINT WINED3DTSS_TCI_CAMERASPACENORMAL = 0x10000;
836 const UINT WINED3DTSS_TCI_CAMERASPACEPOSITION = 0x20000;
837 const UINT WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = 0x30000;
838 const UINT WINED3DTSS_TCI_SPHEREMAP = 0x40000;
840 const UINT WINED3DTA_SELECTMASK = 0x0000000f;
841 const UINT WINED3DTA_DIFFUSE = 0x00000000;
842 const UINT WINED3DTA_CURRENT = 0x00000001;
843 const UINT WINED3DTA_TEXTURE = 0x00000002;
844 const UINT WINED3DTA_TFACTOR = 0x00000003;
845 const UINT WINED3DTA_SPECULAR = 0x00000004;
846 const UINT WINED3DTA_TEMP = 0x00000005;
847 const UINT WINED3DTA_CONSTANT = 0x00000006;
848 const UINT WINED3DTA_COMPLEMENT = 0x00000010;
849 const UINT WINED3DTA_ALPHAREPLICATE = 0x00000020;
851 const UINT WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001;
852 const UINT WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL = 0x00000002;
853 const UINT WINED3DPRESENTFLAG_DEVICECLIP = 0x00000004;
854 const UINT WINED3DPRESENTFLAG_VIDEO = 0x00000010;
855 const UINT WINED3DPRESENTFLAG_NOAUTOROTATE = 0x00000020;
856 const UINT WINED3DPRESENTFLAG_UNPRUNEDMODE = 0x00000040;
858 const UINT WINED3DDP_MAXTEXCOORD = 8;
860 const UINT WINED3DUSAGE_RENDERTARGET = 0x00000001;
861 const UINT WINED3DUSAGE_DEPTHSTENCIL = 0x00000002;
862 const UINT WINED3DUSAGE_WRITEONLY = 0x00000008;
863 const UINT WINED3DUSAGE_SOFTWAREPROCESSING = 0x00000010;
864 const UINT WINED3DUSAGE_DONOTCLIP = 0x00000020;
865 const UINT WINED3DUSAGE_POINTS = 0x00000040;
866 const UINT WINED3DUSAGE_RTPATCHES = 0x00000080;
867 const UINT WINED3DUSAGE_NPATCHES = 0x00000100;
868 const UINT WINED3DUSAGE_DYNAMIC = 0x00000200;
869 const UINT WINED3DUSAGE_AUTOGENMIPMAP = 0x00000400;
870 const UINT WINED3DUSAGE_DMAP = 0x00004000;
871 const UINT WINED3DUSAGE_MASK = 0x00004fff;
872 const UINT WINED3DUSAGE_STATICDECL = 0x40000000;
873 const UINT WINED3DUSAGE_OVERLAY = 0x80000000;
875 const UINT WINED3DUSAGE_QUERY_LEGACYBUMPMAP = 0x00008000;
876 const UINT WINED3DUSAGE_QUERY_FILTER = 0x00020000;
877 const UINT WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING = 0x00080000;
878 const UINT WINED3DUSAGE_QUERY_SRGBREAD = 0x00010000;
879 const UINT WINED3DUSAGE_QUERY_SRGBWRITE = 0x00040000;
880 const UINT WINED3DUSAGE_QUERY_VERTEXTEXTURE = 0x00100000;
881 const UINT WINED3DUSAGE_QUERY_WRAPANDMIP = 0x00200000;
882 const UINT WINED3DUSAGE_QUERY_MASK = 0x003f8000;
884 const UINT WINED3DLOCK_READONLY = 0x0010;
885 const UINT WINED3DLOCK_NOSYSLOCK = 0x0800;
886 const UINT WINED3DLOCK_NOOVERWRITE = 0x1000;
887 const UINT WINED3DLOCK_DISCARD = 0x2000;
888 const UINT WINED3DLOCK_DONOTWAIT = 0x4000;
889 const UINT WINED3DLOCK_NO_DIRTY_UPDATE = 0x8000;
891 const UINT WINED3DPRESENT_RATE_DEFAULT = 0x000000000;
893 const UINT WINED3DPRESENT_INTERVAL_DEFAULT = 0x00000000;
894 const UINT WINED3DPRESENT_INTERVAL_ONE = 0x00000001;
895 const UINT WINED3DPRESENT_INTERVAL_TWO = 0x00000002;
896 const UINT WINED3DPRESENT_INTERVAL_THREE = 0x00000004;
897 const UINT WINED3DPRESENT_INTERVAL_FOUR = 0x00000008;
898 const UINT WINED3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000;
900 const UINT WINED3DMAXUSERCLIPPLANES = 32;
901 const UINT WINED3DCLIPPLANE0 = (1 << 0);
902 const UINT WINED3DCLIPPLANE1 = (1 << 1);
903 const UINT WINED3DCLIPPLANE2 = (1 << 2);
904 const UINT WINED3DCLIPPLANE3 = (1 << 3);
905 const UINT WINED3DCLIPPLANE4 = (1 << 4);
906 const UINT WINED3DCLIPPLANE5 = (1 << 5);
908 /* FVF (Flexible Vertex Format) codes */
909 const UINT WINED3DFVF_RESERVED0 = 0x0001;
910 const UINT WINED3DFVF_POSITION_MASK = 0x400e;
911 const UINT WINED3DFVF_XYZ = 0x0002;
912 const UINT WINED3DFVF_XYZRHW = 0x0004;
913 const UINT WINED3DFVF_XYZB1 = 0x0006;
914 const UINT WINED3DFVF_XYZB2 = 0x0008;
915 const UINT WINED3DFVF_XYZB3 = 0x000a;
916 const UINT WINED3DFVF_XYZB4 = 0x000c;
917 const UINT WINED3DFVF_XYZB5 = 0x000e;
918 const UINT WINED3DFVF_XYZW = 0x4002;
919 const UINT WINED3DFVF_NORMAL = 0x0010;
920 const UINT WINED3DFVF_PSIZE = 0x0020;
921 const UINT WINED3DFVF_DIFFUSE = 0x0040;
922 const UINT WINED3DFVF_SPECULAR = 0x0080;
923 const UINT WINED3DFVF_TEXCOUNT_MASK = 0x0f00;
924 const UINT WINED3DFVF_TEXCOUNT_SHIFT = 8;
925 const UINT WINED3DFVF_TEX0 = 0x0000;
926 const UINT WINED3DFVF_TEX1 = 0x0100;
927 const UINT WINED3DFVF_TEX2 = 0x0200;
928 const UINT WINED3DFVF_TEX3 = 0x0300;
929 const UINT WINED3DFVF_TEX4 = 0x0400;
930 const UINT WINED3DFVF_TEX5 = 0x0500;
931 const UINT WINED3DFVF_TEX6 = 0x0600;
932 const UINT WINED3DFVF_TEX7 = 0x0700;
933 const UINT WINED3DFVF_TEX8 = 0x0800;
934 const UINT WINED3DFVF_LASTBETA_UBYTE4 = 0x1000;
935 const UINT WINED3DFVF_LASTBETA_D3DCOLOR = 0x8000;
936 const UINT WINED3DFVF_RESERVED2 = 0x6000;
938 const UINT WINED3DFVF_TEXTUREFORMAT1 = 3;
939 const UINT WINED3DFVF_TEXTUREFORMAT2 = 0;
940 const UINT WINED3DFVF_TEXTUREFORMAT3 = 1;
941 const UINT WINED3DFVF_TEXTUREFORMAT4 = 2;
942 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE1(CoordIndex) (WINED3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))")
943 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE2(CoordIndex) (WINED3DFVF_TEXTUREFORMAT2)")
944 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE3(CoordIndex) (WINED3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))")
945 cpp_quote("#define WINED3DFVF_TEXCOORDSIZE4(CoordIndex) (WINED3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))")
947 /* Clear flags */
948 const UINT WINED3DCLEAR_TARGET = 0x00000001;
949 const UINT WINED3DCLEAR_ZBUFFER = 0x00000002;
950 const UINT WINED3DCLEAR_STENCIL = 0x00000004;
952 /* Stream source flags */
953 const UINT WINED3DSTREAMSOURCE_INDEXEDDATA = (1 << 30);
954 const UINT WINED3DSTREAMSOURCE_INSTANCEDATA = (2 << 30);
956 /* SetPrivateData flags */
957 const UINT WINED3DSPD_IUNKNOWN = 0x00000001;
959 /* IWineD3D::CreateDevice behaviour flags */
960 const UINT WINED3DCREATE_FPU_PRESERVE = 0x00000002;
961 const UINT WINED3DCREATE_PUREDEVICE = 0x00000010;
962 const UINT WINED3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020;
963 const UINT WINED3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040;
964 const UINT WINED3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080;
965 const UINT WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100;
966 const UINT WINED3DCREATE_ADAPTERGROUP_DEVICE = 0x00000200;
968 /* VTF defines */
969 const UINT WINED3DDMAPSAMPLER = 0x100;
970 const UINT WINED3DVERTEXTEXTURESAMPLER0 = (WINED3DDMAPSAMPLER + 1);
971 const UINT WINED3DVERTEXTEXTURESAMPLER1 = (WINED3DDMAPSAMPLER + 2);
972 const UINT WINED3DVERTEXTEXTURESAMPLER2 = (WINED3DDMAPSAMPLER + 3);
973 const UINT WINED3DVERTEXTEXTURESAMPLER3 = (WINED3DDMAPSAMPLER + 4);
975 const UINT WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD = 0x00000020;
976 const UINT WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION = 0x00000080;
977 const UINT WINED3DCAPS3_COPY_TO_VIDMEM = 0x00000100;
978 const UINT WINED3DCAPS3_COPY_TO_SYSTEMMEM = 0x00000200;
979 const UINT WINED3DCAPS3_RESERVED = 0x8000001f;
981 const UINT WINED3DDEVCAPS2_STREAMOFFSET = 0x00000001;
982 const UINT WINED3DDEVCAPS2_DMAPNPATCH = 0x00000002;
983 const UINT WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH = 0x00000004;
984 const UINT WINED3DDEVCAPS2_ADAPTIVETESSNPATCH = 0x00000008;
985 const UINT WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES = 0x00000010;
986 const UINT WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH = 0x00000020;
987 const UINT WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET = 0x00000040;
989 const UINT WINED3DDTCAPS_UBYTE4 = 0x00000001;
990 const UINT WINED3DDTCAPS_UBYTE4N = 0x00000002;
991 const UINT WINED3DDTCAPS_SHORT2N = 0x00000004;
992 const UINT WINED3DDTCAPS_SHORT4N = 0x00000008;
993 const UINT WINED3DDTCAPS_USHORT2N = 0x00000010;
994 const UINT WINED3DDTCAPS_USHORT4N = 0x00000020;
995 const UINT WINED3DDTCAPS_UDEC3 = 0x00000040;
996 const UINT WINED3DDTCAPS_DEC3N = 0x00000080;
997 const UINT WINED3DDTCAPS_FLOAT16_2 = 0x00000100;
998 const UINT WINED3DDTCAPS_FLOAT16_4 = 0x00000200;
1000 const UINT WINED3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffff;
1001 const UINT WINED3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000;
1002 const UINT WINED3DFVFCAPS_PSIZE = 0x00100000;
1004 const UINT WINED3DLINECAPS_TEXTURE = 0x00000001;
1005 const UINT WINED3DLINECAPS_ZTEST = 0x00000002;
1006 const UINT WINED3DLINECAPS_BLEND = 0x00000004;
1007 const UINT WINED3DLINECAPS_ALPHACMP = 0x00000008;
1008 const UINT WINED3DLINECAPS_FOG = 0x00000010;
1009 const UINT WINED3DLINECAPS_ANTIALIAS = 0x00000020;
1011 const UINT WINED3DMAX30SHADERINSTRUCTIONS = 32768;
1012 const UINT WINED3DMIN30SHADERINSTRUCTIONS = 512;
1014 const UINT WINED3DPBLENDCAPS_ZERO = 0x00000001;
1015 const UINT WINED3DPBLENDCAPS_ONE = 0x00000002;
1016 const UINT WINED3DPBLENDCAPS_SRCCOLOR = 0x00000004;
1017 const UINT WINED3DPBLENDCAPS_INVSRCCOLOR = 0x00000008;
1018 const UINT WINED3DPBLENDCAPS_SRCALPHA = 0x00000010;
1019 const UINT WINED3DPBLENDCAPS_INVSRCALPHA = 0x00000020;
1020 const UINT WINED3DPBLENDCAPS_DESTALPHA = 0x00000040;
1021 const UINT WINED3DPBLENDCAPS_INVDESTALPHA = 0x00000080;
1022 const UINT WINED3DPBLENDCAPS_DESTCOLOR = 0x00000100;
1023 const UINT WINED3DPBLENDCAPS_INVDESTCOLOR = 0x00000200;
1024 const UINT WINED3DPBLENDCAPS_SRCALPHASAT = 0x00000400;
1025 const UINT WINED3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800;
1026 const UINT WINED3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000;
1027 const UINT WINED3DPBLENDCAPS_BLENDFACTOR = 0x00002000;
1029 const UINT WINED3DPCMPCAPS_NEVER = 0x00000001;
1030 const UINT WINED3DPCMPCAPS_LESS = 0x00000002;
1031 const UINT WINED3DPCMPCAPS_EQUAL = 0x00000004;
1032 const UINT WINED3DPCMPCAPS_LESSEQUAL = 0x00000008;
1033 const UINT WINED3DPCMPCAPS_GREATER = 0x00000010;
1034 const UINT WINED3DPCMPCAPS_NOTEQUAL = 0x00000020;
1035 const UINT WINED3DPCMPCAPS_GREATEREQUAL = 0x00000040;
1036 const UINT WINED3DPCMPCAPS_ALWAYS = 0x00000080;
1038 const UINT WINED3DPMISCCAPS_MASKZ = 0x00000002;
1039 const UINT WINED3DPMISCCAPS_LINEPATTERNREP = 0x00000004;
1040 const UINT WINED3DPMISCCAPS_CULLNONE = 0x00000010;
1041 const UINT WINED3DPMISCCAPS_CULLCW = 0x00000020;
1042 const UINT WINED3DPMISCCAPS_CULLCCW = 0x00000040;
1043 const UINT WINED3DPMISCCAPS_COLORWRITEENABLE = 0x00000080;
1044 const UINT WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS = 0x00000100;
1045 const UINT WINED3DPMISCCAPS_CLIPTLVERTS = 0x00000200;
1046 const UINT WINED3DPMISCCAPS_TSSARGTEMP = 0x00000400;
1047 const UINT WINED3DPMISCCAPS_BLENDOP = 0x00000800;
1048 const UINT WINED3DPMISCCAPS_NULLREFERENCE = 0x00001000;
1049 const UINT WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS = 0x00004000;
1050 const UINT WINED3DPMISCCAPS_PERSTAGECONSTANT = 0x00008000;
1051 const UINT WINED3DPMISCCAPS_FOGANDSPECULARALPHA = 0x00010000;
1052 const UINT WINED3DPMISCCAPS_SEPARATEALPHABLEND = 0x00020000;
1053 const UINT WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS = 0x00040000;
1054 const UINT WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING = 0x00080000;
1055 const UINT WINED3DPMISCCAPS_FOGVERTEXCLAMPED = 0x00100000;
1057 const UINT WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
1058 const UINT WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
1059 const UINT WINED3DPS20_MAX_NUMTEMPS = 32;
1060 const UINT WINED3DPS20_MIN_NUMTEMPS = 12;
1061 const UINT WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH = 4;
1062 const UINT WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH = 0;
1063 const UINT WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS = 512;
1064 const UINT WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS = 96;
1066 const UINT WINED3DPS20CAPS_ARBITRARYSWIZZLE = 0x00000001;
1067 const UINT WINED3DPS20CAPS_GRADIENTINSTRUCTIONS = 0x00000002;
1068 const UINT WINED3DPS20CAPS_PREDICATION = 0x00000004;
1069 const UINT WINED3DPS20CAPS_NODEPENDENTREADLIMIT = 0x00000008;
1070 const UINT WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT = 0x00000010;
1072 const UINT WINED3DPTADDRESSCAPS_WRAP = 0x00000001;
1073 const UINT WINED3DPTADDRESSCAPS_MIRROR = 0x00000002;
1074 const UINT WINED3DPTADDRESSCAPS_CLAMP = 0x00000004;
1075 const UINT WINED3DPTADDRESSCAPS_BORDER = 0x00000008;
1076 const UINT WINED3DPTADDRESSCAPS_INDEPENDENTUV = 0x00000010;
1077 const UINT WINED3DPTADDRESSCAPS_MIRRORONCE = 0x00000020;
1079 const UINT WINED3DSTENCILCAPS_KEEP = 0x00000001;
1080 const UINT WINED3DSTENCILCAPS_ZERO = 0x00000002;
1081 const UINT WINED3DSTENCILCAPS_REPLACE = 0x00000004;
1082 const UINT WINED3DSTENCILCAPS_INCRSAT = 0x00000008;
1083 const UINT WINED3DSTENCILCAPS_DECRSAT = 0x00000010;
1084 const UINT WINED3DSTENCILCAPS_INVERT = 0x00000020;
1085 const UINT WINED3DSTENCILCAPS_INCR = 0x00000040;
1086 const UINT WINED3DSTENCILCAPS_DECR = 0x00000080;
1087 const UINT WINED3DSTENCILCAPS_TWOSIDED = 0x00000100;
1089 const UINT WINED3DTEXOPCAPS_DISABLE = 0x00000001;
1090 const UINT WINED3DTEXOPCAPS_SELECTARG1 = 0x00000002;
1091 const UINT WINED3DTEXOPCAPS_SELECTARG2 = 0x00000004;
1092 const UINT WINED3DTEXOPCAPS_MODULATE = 0x00000008;
1093 const UINT WINED3DTEXOPCAPS_MODULATE2X = 0x00000010;
1094 const UINT WINED3DTEXOPCAPS_MODULATE4X = 0x00000020;
1095 const UINT WINED3DTEXOPCAPS_ADD = 0x00000040;
1096 const UINT WINED3DTEXOPCAPS_ADDSIGNED = 0x00000080;
1097 const UINT WINED3DTEXOPCAPS_ADDSIGNED2X = 0x00000100;
1098 const UINT WINED3DTEXOPCAPS_SUBTRACT = 0x00000200;
1099 const UINT WINED3DTEXOPCAPS_ADDSMOOTH = 0x00000400;
1100 const UINT WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA = 0x00000800;
1101 const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHA = 0x00001000;
1102 const UINT WINED3DTEXOPCAPS_BLENDFACTORALPHA = 0x00002000;
1103 const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM = 0x00004000;
1104 const UINT WINED3DTEXOPCAPS_BLENDCURRENTALPHA = 0x00008000;
1105 const UINT WINED3DTEXOPCAPS_PREMODULATE = 0x00010000;
1106 const UINT WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR = 0x00020000;
1107 const UINT WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA = 0x00040000;
1108 const UINT WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR = 0x00080000;
1109 const UINT WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA = 0x00100000;
1110 const UINT WINED3DTEXOPCAPS_BUMPENVMAP = 0x00200000;
1111 const UINT WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE = 0x00400000;
1112 const UINT WINED3DTEXOPCAPS_DOTPRODUCT3 = 0x00800000;
1113 const UINT WINED3DTEXOPCAPS_MULTIPLYADD = 0x01000000;
1114 const UINT WINED3DTEXOPCAPS_LERP = 0x02000000;
1116 const UINT WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
1117 const UINT WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
1118 const UINT WINED3DVS20_MAX_NUMTEMPS = 32;
1119 const UINT WINED3DVS20_MIN_NUMTEMPS = 12;
1120 const UINT WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH = 4;
1121 const UINT WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH = 1;
1123 const UINT WINED3DVS20CAPS_PREDICATION = 0x00000001;
1125 const UINT WINED3DCAPS2_NO2DDURING3DSCENE = 0x00000002;
1126 const UINT WINED3DCAPS2_FULLSCREENGAMMA = 0x00020000;
1127 const UINT WINED3DCAPS2_CANRENDERWINDOWED = 0x00080000;
1128 const UINT WINED3DCAPS2_CANCALIBRATEGAMMA = 0x00100000;
1129 const UINT WINED3DCAPS2_RESERVED = 0x02000000;
1130 const UINT WINED3DCAPS2_CANMANAGERESOURCE = 0x10000000;
1131 const UINT WINED3DCAPS2_DYNAMICTEXTURES = 0x20000000;
1132 const UINT WINED3DCAPS2_CANAUTOGENMIPMAP = 0x40000000;
1134 const UINT WINED3DPRASTERCAPS_DITHER = 0x00000001;
1135 const UINT WINED3DPRASTERCAPS_ROP2 = 0x00000002;
1136 const UINT WINED3DPRASTERCAPS_XOR = 0x00000004;
1137 const UINT WINED3DPRASTERCAPS_PAT = 0x00000008;
1138 const UINT WINED3DPRASTERCAPS_ZTEST = 0x00000010;
1139 const UINT WINED3DPRASTERCAPS_SUBPIXEL = 0x00000020;
1140 const UINT WINED3DPRASTERCAPS_SUBPIXELX = 0x00000040;
1141 const UINT WINED3DPRASTERCAPS_FOGVERTEX = 0x00000080;
1142 const UINT WINED3DPRASTERCAPS_FOGTABLE = 0x00000100;
1143 const UINT WINED3DPRASTERCAPS_STIPPLE = 0x00000200;
1144 const UINT WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT = 0x00000400;
1145 const UINT WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT = 0x00000800;
1146 const UINT WINED3DPRASTERCAPS_ANTIALIASEDGES = 0x00001000;
1147 const UINT WINED3DPRASTERCAPS_MIPMAPLODBIAS = 0x00002000;
1148 const UINT WINED3DPRASTERCAPS_ZBIAS = 0x00004000;
1149 const UINT WINED3DPRASTERCAPS_ZBUFFERLESSHSR = 0x00008000;
1150 const UINT WINED3DPRASTERCAPS_FOGRANGE = 0x00010000;
1151 const UINT WINED3DPRASTERCAPS_ANISOTROPY = 0x00020000;
1152 const UINT WINED3DPRASTERCAPS_WBUFFER = 0x00040000;
1153 const UINT WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT = 0x00080000;
1154 const UINT WINED3DPRASTERCAPS_WFOG = 0x00100000;
1155 const UINT WINED3DPRASTERCAPS_ZFOG = 0x00200000;
1156 const UINT WINED3DPRASTERCAPS_COLORPERSPECTIVE = 0x00400000;
1157 const UINT WINED3DPRASTERCAPS_SCISSORTEST = 0x01000000;
1158 const UINT WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS = 0x02000000;
1159 const UINT WINED3DPRASTERCAPS_DEPTHBIAS = 0x04000000;
1160 const UINT WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE = 0x08000000;
1162 const UINT WINED3DPSHADECAPS_COLORFLATMONO = 0x00000001;
1163 const UINT WINED3DPSHADECAPS_COLORFLATRGB = 0x00000002;
1164 const UINT WINED3DPSHADECAPS_COLORGOURAUDMONO = 0x00000004;
1165 const UINT WINED3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008;
1166 const UINT WINED3DPSHADECAPS_COLORPHONGMONO = 0x00000010;
1167 const UINT WINED3DPSHADECAPS_COLORPHONGRGB = 0x00000020;
1168 const UINT WINED3DPSHADECAPS_SPECULARFLATMONO = 0x00000040;
1169 const UINT WINED3DPSHADECAPS_SPECULARFLATRGB = 0x00000080;
1170 const UINT WINED3DPSHADECAPS_SPECULARGOURAUDMONO = 0x00000100;
1171 const UINT WINED3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200;
1172 const UINT WINED3DPSHADECAPS_SPECULARPHONGMONO = 0x00000400;
1173 const UINT WINED3DPSHADECAPS_SPECULARPHONGRGB = 0x00000800;
1174 const UINT WINED3DPSHADECAPS_ALPHAFLATBLEND = 0x00001000;
1175 const UINT WINED3DPSHADECAPS_ALPHAFLATSTIPPLED = 0x00002000;
1176 const UINT WINED3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000;
1177 const UINT WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED = 0x00008000;
1178 const UINT WINED3DPSHADECAPS_ALPHAPHONGBLEND = 0x00010000;
1179 const UINT WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED = 0x00020000;
1180 const UINT WINED3DPSHADECAPS_FOGFLAT = 0x00040000;
1181 const UINT WINED3DPSHADECAPS_FOGGOURAUD = 0x00080000;
1182 const UINT WINED3DPSHADECAPS_FOGPHONG = 0x00100000;
1184 const UINT WINED3DPTEXTURECAPS_PERSPECTIVE = 0x00000001;
1185 const UINT WINED3DPTEXTURECAPS_POW2 = 0x00000002;
1186 const UINT WINED3DPTEXTURECAPS_ALPHA = 0x00000004;
1187 const UINT WINED3DPTEXTURECAPS_TRANSPARENCY = 0x00000008;
1188 const UINT WINED3DPTEXTURECAPS_BORDER = 0x00000010;
1189 const UINT WINED3DPTEXTURECAPS_SQUAREONLY = 0x00000020;
1190 const UINT WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE = 0x00000040;
1191 const UINT WINED3DPTEXTURECAPS_ALPHAPALETTE = 0x00000080;
1192 const UINT WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL = 0x00000100;
1193 const UINT WINED3DPTEXTURECAPS_PROJECTED = 0x00000400;
1194 const UINT WINED3DPTEXTURECAPS_CUBEMAP = 0x00000800;
1195 const UINT WINED3DPTEXTURECAPS_COLORKEYBLEND = 0x00001000;
1196 const UINT WINED3DPTEXTURECAPS_VOLUMEMAP = 0x00002000;
1197 const UINT WINED3DPTEXTURECAPS_MIPMAP = 0x00004000;
1198 const UINT WINED3DPTEXTURECAPS_MIPVOLUMEMAP = 0x00008000;
1199 const UINT WINED3DPTEXTURECAPS_MIPCUBEMAP = 0x00010000;
1200 const UINT WINED3DPTEXTURECAPS_CUBEMAP_POW2 = 0x00020000;
1201 const UINT WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 = 0x00040000;
1202 const UINT WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV = 0x00200000;
1204 const UINT WINED3DPTFILTERCAPS_NEAREST = 0x00000001;
1205 const UINT WINED3DPTFILTERCAPS_LINEAR = 0x00000002;
1206 const UINT WINED3DPTFILTERCAPS_MIPNEAREST = 0x00000004;
1207 const UINT WINED3DPTFILTERCAPS_MIPLINEAR = 0x00000008;
1208 const UINT WINED3DPTFILTERCAPS_LINEARMIPNEAREST = 0x00000010;
1209 const UINT WINED3DPTFILTERCAPS_LINEARMIPLINEAR = 0x00000020;
1210 const UINT WINED3DPTFILTERCAPS_MINFPOINT = 0x00000100;
1211 const UINT WINED3DPTFILTERCAPS_MINFLINEAR = 0x00000200;
1212 const UINT WINED3DPTFILTERCAPS_MINFANISOTROPIC = 0x00000400;
1213 const UINT WINED3DPTFILTERCAPS_MIPFPOINT = 0x00010000;
1214 const UINT WINED3DPTFILTERCAPS_MIPFLINEAR = 0x00020000;
1215 const UINT WINED3DPTFILTERCAPS_MAGFPOINT = 0x01000000;
1216 const UINT WINED3DPTFILTERCAPS_MAGFLINEAR = 0x02000000;
1217 const UINT WINED3DPTFILTERCAPS_MAGFANISOTROPIC = 0x04000000;
1218 const UINT WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD = 0x08000000;
1219 const UINT WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD = 0x10000000;
1221 const UINT WINED3DVTXPCAPS_TEXGEN = 0x00000001;
1222 const UINT WINED3DVTXPCAPS_MATERIALSOURCE7 = 0x00000002;
1223 const UINT WINED3DVTXPCAPS_VERTEXFOG = 0x00000004;
1224 const UINT WINED3DVTXPCAPS_DIRECTIONALLIGHTS = 0x00000008;
1225 const UINT WINED3DVTXPCAPS_POSITIONALLIGHTS = 0x00000010;
1226 const UINT WINED3DVTXPCAPS_LOCALVIEWER = 0x00000020;
1227 const UINT WINED3DVTXPCAPS_TWEENING = 0x00000040;
1228 const UINT WINED3DVTXPCAPS_TEXGEN_SPHEREMAP = 0x00000100;
1229 const UINT WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER = 0x00000200;
1231 const UINT WINED3DCURSORCAPS_COLOR = 0x00000001;
1232 const UINT WINED3DCURSORCAPS_LOWRES = 0x00000002;
1234 const UINT WINED3DDEVCAPS_FLOATTLVERTEX = 0x00000001;
1235 const UINT WINED3DDEVCAPS_SORTINCREASINGZ = 0x00000002;
1236 const UINT WINED3DDEVCAPS_SORTDECREASINGZ = 0X00000004;
1237 const UINT WINED3DDEVCAPS_SORTEXACT = 0x00000008;
1238 const UINT WINED3DDEVCAPS_EXECUTESYSTEMMEMORY = 0x00000010;
1239 const UINT WINED3DDEVCAPS_EXECUTEVIDEOMEMORY = 0x00000020;
1240 const UINT WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 0x00000040;
1241 const UINT WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY = 0x00000080;
1242 const UINT WINED3DDEVCAPS_TEXTURESYSTEMMEMORY = 0x00000100;
1243 const UINT WINED3DDEVCAPS_TEXTUREVIDEOMEMORY = 0x00000200;
1244 const UINT WINED3DDEVCAPS_DRAWPRIMTLVERTEX = 0x00000400;
1245 const UINT WINED3DDEVCAPS_CANRENDERAFTERFLIP = 0x00000800;
1246 const UINT WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM = 0x00001000;
1247 const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2 = 0x00002000;
1248 const UINT WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES = 0x00004000;
1249 const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2EX = 0x00008000;
1250 const UINT WINED3DDEVCAPS_HWTRANSFORMANDLIGHT = 0x00010000;
1251 const UINT WINED3DDEVCAPS_CANBLTSYSTONONLOCAL = 0x00020000;
1252 const UINT WINED3DDEVCAPS_HWRASTERIZATION = 0x00080000;
1253 const UINT WINED3DDEVCAPS_PUREDEVICE = 0x00100000;
1254 const UINT WINED3DDEVCAPS_QUINTICRTPATCHES = 0x00200000;
1255 const UINT WINED3DDEVCAPS_RTPATCHES = 0x00400000;
1256 const UINT WINED3DDEVCAPS_RTPATCHHANDLEZERO = 0x00800000;
1257 const UINT WINED3DDEVCAPS_NPATCHES = 0x01000000;
1259 /* dwDDFX */
1260 /* arithmetic stretching along y axis */
1261 const UINT WINEDDBLTFX_ARITHSTRETCHY = 0x00000001;
1262 /* mirror on y axis */
1263 const UINT WINEDDBLTFX_MIRRORLEFTRIGHT = 0x00000002;
1264 /* mirror on x axis */
1265 const UINT WINEDDBLTFX_MIRRORUPDOWN = 0x00000004;
1266 /* do not tear */
1267 const UINT WINEDDBLTFX_NOTEARING = 0x00000008;
1268 /* 180 degrees clockwise rotation */
1269 const UINT WINEDDBLTFX_ROTATE180 = 0x00000010;
1270 /* 270 degrees clockwise rotation */
1271 const UINT WINEDDBLTFX_ROTATE270 = 0x00000020;
1272 /* 90 degrees clockwise rotation */
1273 const UINT WINEDDBLTFX_ROTATE90 = 0x00000040;
1274 /* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
1275 const UINT WINEDDBLTFX_ZBUFFERRANGE = 0x00000080;
1276 /* add dwZBufferBaseDest to every source z value before compare */
1277 const UINT WINEDDBLTFX_ZBUFFERBASEDEST = 0x00000100;
1279 /* dwFlags for Blt* */
1280 const UINT WINEDDBLT_ALPHADEST = 0x00000001;
1281 const UINT WINEDDBLT_ALPHADESTCONSTOVERRIDE = 0x00000002;
1282 const UINT WINEDDBLT_ALPHADESTNEG = 0x00000004;
1283 const UINT WINEDDBLT_ALPHADESTSURFACEOVERRIDE = 0x00000008;
1284 const UINT WINEDDBLT_ALPHAEDGEBLEND = 0x00000010;
1285 const UINT WINEDDBLT_ALPHASRC = 0x00000020;
1286 const UINT WINEDDBLT_ALPHASRCCONSTOVERRIDE = 0x00000040;
1287 const UINT WINEDDBLT_ALPHASRCNEG = 0x00000080;
1288 const UINT WINEDDBLT_ALPHASRCSURFACEOVERRIDE = 0x00000100;
1289 const UINT WINEDDBLT_ASYNC = 0x00000200;
1290 const UINT WINEDDBLT_COLORFILL = 0x00000400;
1291 const UINT WINEDDBLT_DDFX = 0x00000800;
1292 const UINT WINEDDBLT_DDROPS = 0x00001000;
1293 const UINT WINEDDBLT_KEYDEST = 0x00002000;
1294 const UINT WINEDDBLT_KEYDESTOVERRIDE = 0x00004000;
1295 const UINT WINEDDBLT_KEYSRC = 0x00008000;
1296 const UINT WINEDDBLT_KEYSRCOVERRIDE = 0x00010000;
1297 const UINT WINEDDBLT_ROP = 0x00020000;
1298 const UINT WINEDDBLT_ROTATIONANGLE = 0x00040000;
1299 const UINT WINEDDBLT_ZBUFFER = 0x00080000;
1300 const UINT WINEDDBLT_ZBUFFERDESTCONSTOVERRIDE = 0x00100000;
1301 const UINT WINEDDBLT_ZBUFFERDESTOVERRIDE = 0x00200000;
1302 const UINT WINEDDBLT_ZBUFFERSRCCONSTOVERRIDE = 0x00400000;
1303 const UINT WINEDDBLT_ZBUFFERSRCOVERRIDE = 0x00800000;
1304 const UINT WINEDDBLT_WAIT = 0x01000000;
1305 const UINT WINEDDBLT_DEPTHFILL = 0x02000000;
1306 const UINT WINEDDBLT_DONOTWAIT = 0x08000000;
1308 /* dwTrans for BltFast */
1309 const UINT WINEDDBLTFAST_NOCOLORKEY = 0x00000000;
1310 const UINT WINEDDBLTFAST_SRCCOLORKEY = 0x00000001;
1311 const UINT WINEDDBLTFAST_DESTCOLORKEY = 0x00000002;
1312 const UINT WINEDDBLTFAST_WAIT = 0x00000010;
1313 const UINT WINEDDBLTFAST_DONOTWAIT = 0x00000020;
1315 /* DDSURFACEDESC.dwFlags */
1316 const UINT WINEDDSD_CAPS = 0x00000001;
1317 const UINT WINEDDSD_HEIGHT = 0x00000002;
1318 const UINT WINEDDSD_WIDTH = 0x00000004;
1319 const UINT WINEDDSD_PITCH = 0x00000008;
1320 const UINT WINEDDSD_BACKBUFFERCOUNT = 0x00000020;
1321 const UINT WINEDDSD_ZBUFFERBITDEPTH = 0x00000040;
1322 const UINT WINEDDSD_ALPHABITDEPTH = 0x00000080;
1323 const UINT WINEDDSD_LPSURFACE = 0x00000800;
1324 const UINT WINEDDSD_PIXELFORMAT = 0x00001000;
1325 const UINT WINEDDSD_CKDESTOVERLAY = 0x00002000;
1326 const UINT WINEDDSD_CKDESTBLT = 0x00004000;
1327 const UINT WINEDDSD_CKSRCOVERLAY = 0x00008000;
1328 const UINT WINEDDSD_CKSRCBLT = 0x00010000;
1329 const UINT WINEDDSD_MIPMAPCOUNT = 0x00020000;
1330 const UINT WINEDDSD_REFRESHRATE = 0x00040000;
1331 const UINT WINEDDSD_LINEARSIZE = 0x00080000;
1332 const UINT WINEDDSD_TEXTURESTAGE = 0x00100000;
1333 const UINT WINEDDSD_FVF = 0x00200000;
1334 const UINT WINEDDSD_SRCVBHANDLE = 0x00400000;
1335 const UINT WINEDDSD_ALL = 0x007ff9ee;
1337 /* Set/Get Colour Key Flags */
1338 const UINT WINEDDCKEY_COLORSPACE = 0x00000001; /* Struct is single colour space */
1339 const UINT WINEDDCKEY_DESTBLT = 0x00000002; /* To be used as dest for blt */
1340 const UINT WINEDDCKEY_DESTOVERLAY = 0x00000004; /* To be used as dest for CK overlays */
1341 const UINT WINEDDCKEY_SRCBLT = 0x00000008; /* To be used as src for blt */
1342 const UINT WINEDDCKEY_SRCOVERLAY = 0x00000010; /* To be used as src for CK overlays */
1344 /* dwFlags for GetBltStatus */
1345 const UINT WINEDDGBS_CANBLT = 0x00000001;
1346 const UINT WINEDDGBS_ISBLTDONE = 0x00000002;
1348 /* dwFlags for GetFlipStatus */
1349 const UINT WINEDDGFS_CANFLIP = 0x00000001;
1350 const UINT WINEDDGFS_ISFLIPDONE = 0x00000002;
1352 /* dwFlags for Flip */
1353 const UINT WINEDDFLIP_WAIT = 0x00000001;
1354 const UINT WINEDDFLIP_EVEN = 0x00000002; /* only valid for overlay */
1355 const UINT WINEDDFLIP_ODD = 0x00000004; /* only valid for overlay */
1356 const UINT WINEDDFLIP_NOVSYNC = 0x00000008;
1357 const UINT WINEDDFLIP_STEREO = 0x00000010;
1358 const UINT WINEDDFLIP_DONOTWAIT = 0x00000020;
1359 const UINT WINEDDFLIP_INTERVAL2 = 0x02000000;
1360 const UINT WINEDDFLIP_INTERVAL3 = 0x03000000;
1361 const UINT WINEDDFLIP_INTERVAL4 = 0x04000000;
1363 const UINT WINEDDOVER_ALPHADEST = 0x00000001;
1364 const UINT WINEDDOVER_ALPHADESTCONSTOVERRIDE = 0x00000002;
1365 const UINT WINEDDOVER_ALPHADESTNEG = 0x00000004;
1366 const UINT WINEDDOVER_ALPHADESTSURFACEOVERRIDE = 0x00000008;
1367 const UINT WINEDDOVER_ALPHAEDGEBLEND = 0x00000010;
1368 const UINT WINEDDOVER_ALPHASRC = 0x00000020;
1369 const UINT WINEDDOVER_ALPHASRCCONSTOVERRIDE = 0x00000040;
1370 const UINT WINEDDOVER_ALPHASRCNEG = 0x00000080;
1371 const UINT WINEDDOVER_ALPHASRCSURFACEOVERRIDE = 0x00000100;
1372 const UINT WINEDDOVER_HIDE = 0x00000200;
1373 const UINT WINEDDOVER_KEYDEST = 0x00000400;
1374 const UINT WINEDDOVER_KEYDESTOVERRIDE = 0x00000800;
1375 const UINT WINEDDOVER_KEYSRC = 0x00001000;
1376 const UINT WINEDDOVER_KEYSRCOVERRIDE = 0x00002000;
1377 const UINT WINEDDOVER_SHOW = 0x00004000;
1378 const UINT WINEDDOVER_ADDDIRTYRECT = 0x00008000;
1379 const UINT WINEDDOVER_REFRESHDIRTYRECTS = 0x00010000;
1380 const UINT WINEDDOVER_REFRESHALL = 0x00020000;
1381 const UINT WINEDDOVER_DDFX = 0x00080000;
1382 const UINT WINEDDOVER_AUTOFLIP = 0x00100000;
1383 const UINT WINEDDOVER_BOB = 0x00200000;
1384 const UINT WINEDDOVER_OVERRIDEBOBWEAVE = 0x00400000;
1385 const UINT WINEDDOVER_INTERLEAVED = 0x00800000;
1387 /* DirectDraw Caps */
1388 const UINT WINEDDSCAPS_RESERVED1 = 0x00000001;
1389 const UINT WINEDDSCAPS_ALPHA = 0x00000002;
1390 const UINT WINEDDSCAPS_BACKBUFFER = 0x00000004;
1391 const UINT WINEDDSCAPS_COMPLEX = 0x00000008;
1392 const UINT WINEDDSCAPS_FLIP = 0x00000010;
1393 const UINT WINEDDSCAPS_FRONTBUFFER = 0x00000020;
1394 const UINT WINEDDSCAPS_OFFSCREENPLAIN = 0x00000040;
1395 const UINT WINEDDSCAPS_OVERLAY = 0x00000080;
1396 const UINT WINEDDSCAPS_PALETTE = 0x00000100;
1397 const UINT WINEDDSCAPS_PRIMARYSURFACE = 0x00000200;
1398 const UINT WINEDDSCAPS_PRIMARYSURFACELEFT = 0x00000400;
1399 const UINT WINEDDSCAPS_SYSTEMMEMORY = 0x00000800;
1400 const UINT WINEDDSCAPS_TEXTURE = 0x00001000;
1401 const UINT WINEDDSCAPS_3DDEVICE = 0x00002000;
1402 const UINT WINEDDSCAPS_VIDEOMEMORY = 0x00004000;
1403 const UINT WINEDDSCAPS_VISIBLE = 0x00008000;
1404 const UINT WINEDDSCAPS_WRITEONLY = 0x00010000;
1405 const UINT WINEDDSCAPS_ZBUFFER = 0x00020000;
1406 const UINT WINEDDSCAPS_OWNDC = 0x00040000;
1407 const UINT WINEDDSCAPS_LIVEVIDEO = 0x00080000;
1408 const UINT WINEDDSCAPS_HWCODEC = 0x00100000;
1409 const UINT WINEDDSCAPS_MODEX = 0x00200000;
1410 const UINT WINEDDSCAPS_MIPMAP = 0x00400000;
1411 const UINT WINEDDSCAPS_RESERVED2 = 0x00800000;
1412 const UINT WINEDDSCAPS_ALLOCONLOAD = 0x04000000;
1413 const UINT WINEDDSCAPS_VIDEOPORT = 0x08000000;
1414 const UINT WINEDDSCAPS_LOCALVIDMEM = 0x10000000;
1415 const UINT WINEDDSCAPS_NONLOCALVIDMEM = 0x20000000;
1416 const UINT WINEDDSCAPS_STANDARDVGAMODE = 0x40000000;
1417 const UINT WINEDDSCAPS_OPTIMIZED = 0x80000000;
1419 const UINT WINEDDCKEYCAPS_DESTBLT = 0x00000001;
1420 const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACE = 0x00000002;
1421 const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV = 0x00000004;
1422 const UINT WINEDDCKEYCAPS_DESTBLTYUV = 0x00000008;
1423 const UINT WINEDDCKEYCAPS_DESTOVERLAY = 0x00000010;
1424 const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE = 0x00000020;
1425 const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV = 0x00000040;
1426 const UINT WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE = 0x00000080;
1427 const UINT WINEDDCKEYCAPS_DESTOVERLAYYUV = 0x00000100;
1428 const UINT WINEDDCKEYCAPS_SRCBLT = 0x00000200;
1429 const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACE = 0x00000400;
1430 const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV = 0x00000800;
1431 const UINT WINEDDCKEYCAPS_SRCBLTYUV = 0x00001000;
1432 const UINT WINEDDCKEYCAPS_SRCOVERLAY = 0x00002000;
1433 const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE = 0x00004000;
1434 const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV = 0x00008000;
1435 const UINT WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE = 0x00010000;
1436 const UINT WINEDDCKEYCAPS_SRCOVERLAYYUV = 0x00020000;
1437 const UINT WINEDDCKEYCAPS_NOCOSTOVERLAY = 0x00040000;
1439 const UINT WINEDDFXCAPS_BLTALPHA = 0x00000001;
1440 const UINT WINEDDFXCAPS_OVERLAYALPHA = 0x00000004;
1441 const UINT WINEDDFXCAPS_BLTARITHSTRETCHYN = 0x00000010;
1442 const UINT WINEDDFXCAPS_BLTARITHSTRETCHY = 0x00000020;
1443 const UINT WINEDDFXCAPS_BLTMIRRORLEFTRIGHT = 0x00000040;
1444 const UINT WINEDDFXCAPS_BLTMIRRORUPDOWN = 0x00000080;
1445 const UINT WINEDDFXCAPS_BLTROTATION = 0x00000100;
1446 const UINT WINEDDFXCAPS_BLTROTATION90 = 0x00000200;
1447 const UINT WINEDDFXCAPS_BLTSHRINKX = 0x00000400;
1448 const UINT WINEDDFXCAPS_BLTSHRINKXN = 0x00000800;
1449 const UINT WINEDDFXCAPS_BLTSHRINKY = 0x00001000;
1450 const UINT WINEDDFXCAPS_BLTSHRINKYN = 0x00002000;
1451 const UINT WINEDDFXCAPS_BLTSTRETCHX = 0x00004000;
1452 const UINT WINEDDFXCAPS_BLTSTRETCHXN = 0x00008000;
1453 const UINT WINEDDFXCAPS_BLTSTRETCHY = 0x00010000;
1454 const UINT WINEDDFXCAPS_BLTSTRETCHYN = 0x00020000;
1455 const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHY = 0x00040000;
1456 const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHYN = 0x00000008;
1457 const UINT WINEDDFXCAPS_OVERLAYSHRINKX = 0x00080000;
1458 const UINT WINEDDFXCAPS_OVERLAYSHRINKXN = 0x00100000;
1459 const UINT WINEDDFXCAPS_OVERLAYSHRINKY = 0x00200000;
1460 const UINT WINEDDFXCAPS_OVERLAYSHRINKYN = 0x00400000;
1461 const UINT WINEDDFXCAPS_OVERLAYSTRETCHX = 0x00800000;
1462 const UINT WINEDDFXCAPS_OVERLAYSTRETCHXN = 0x01000000;
1463 const UINT WINEDDFXCAPS_OVERLAYSTRETCHY = 0x02000000;
1464 const UINT WINEDDFXCAPS_OVERLAYSTRETCHYN = 0x04000000;
1465 const UINT WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT = 0x08000000;
1466 const UINT WINEDDFXCAPS_OVERLAYMIRRORUPDOWN = 0x10000000;
1468 const UINT WINEDDCAPS_3D = 0x00000001;
1469 const UINT WINEDDCAPS_ALIGNBOUNDARYDEST = 0x00000002;
1470 const UINT WINEDDCAPS_ALIGNSIZEDEST = 0x00000004;
1471 const UINT WINEDDCAPS_ALIGNBOUNDARYSRC = 0x00000008;
1472 const UINT WINEDDCAPS_ALIGNSIZESRC = 0x00000010;
1473 const UINT WINEDDCAPS_ALIGNSTRIDE = 0x00000020;
1474 const UINT WINEDDCAPS_BLT = 0x00000040;
1475 const UINT WINEDDCAPS_BLTQUEUE = 0x00000080;
1476 const UINT WINEDDCAPS_BLTFOURCC = 0x00000100;
1477 const UINT WINEDDCAPS_BLTSTRETCH = 0x00000200;
1478 const UINT WINEDDCAPS_GDI = 0x00000400;
1479 const UINT WINEDDCAPS_OVERLAY = 0x00000800;
1480 const UINT WINEDDCAPS_OVERLAYCANTCLIP = 0x00001000;
1481 const UINT WINEDDCAPS_OVERLAYFOURCC = 0x00002000;
1482 const UINT WINEDDCAPS_OVERLAYSTRETCH = 0x00004000;
1483 const UINT WINEDDCAPS_PALETTE = 0x00008000;
1484 const UINT WINEDDCAPS_PALETTEVSYNC = 0x00010000;
1485 const UINT WINEDDCAPS_READSCANLINE = 0x00020000;
1486 const UINT WINEDDCAPS_STEREOVIEW = 0x00040000;
1487 const UINT WINEDDCAPS_VBI = 0x00080000;
1488 const UINT WINEDDCAPS_ZBLTS = 0x00100000;
1489 const UINT WINEDDCAPS_ZOVERLAYS = 0x00200000;
1490 const UINT WINEDDCAPS_COLORKEY = 0x00400000;
1491 const UINT WINEDDCAPS_ALPHA = 0x00800000;
1492 const UINT WINEDDCAPS_COLORKEYHWASSIST = 0x01000000;
1493 const UINT WINEDDCAPS_NOHARDWARE = 0x02000000;
1494 const UINT WINEDDCAPS_BLTCOLORFILL = 0x04000000;
1495 const UINT WINEDDCAPS_BANKSWITCHED = 0x08000000;
1496 const UINT WINEDDCAPS_BLTDEPTHFILL = 0x10000000;
1497 const UINT WINEDDCAPS_CANCLIP = 0x20000000;
1498 const UINT WINEDDCAPS_CANCLIPSTRETCHED = 0x40000000;
1499 const UINT WINEDDCAPS_CANBLTSYSMEM = 0x80000000;
1501 const UINT WINEDDCAPS2_CERTIFIED = 0x00000001;
1502 const UINT WINEDDCAPS2_NO2DDURING3DSCENE = 0x00000002;
1503 const UINT WINEDDCAPS2_VIDEOPORT = 0x00000004;
1504 const UINT WINEDDCAPS2_AUTOFLIPOVERLAY = 0x00000008;
1505 const UINT WINEDDCAPS2_CANBOBINTERLEAVED = 0x00000010;
1506 const UINT WINEDDCAPS2_CANBOBNONINTERLEAVED = 0x00000020;
1507 const UINT WINEDDCAPS2_COLORCONTROLOVERLAY = 0x00000040;
1508 const UINT WINEDDCAPS2_COLORCONTROLPRIMARY = 0x00000080;
1509 const UINT WINEDDCAPS2_CANDROPZ16BIT = 0x00000100;
1510 const UINT WINEDDCAPS2_NONLOCALVIDMEM = 0x00000200;
1511 const UINT WINEDDCAPS2_NONLOCALVIDMEMCAPS = 0x00000400;
1512 const UINT WINEDDCAPS2_NOPAGELOCKREQUIRED = 0x00000800;
1513 const UINT WINEDDCAPS2_WIDESURFACES = 0x00001000;
1514 const UINT WINEDDCAPS2_CANFLIPODDEVEN = 0x00002000;
1515 const UINT WINEDDCAPS2_CANBOBHARDWARE = 0x00004000;
1516 const UINT WINEDDCAPS2_COPYFOURCC = 0x00008000;
1517 const UINT WINEDDCAPS2_PRIMARYGAMMA = 0x00020000;
1518 const UINT WINEDDCAPS2_CANRENDERWINDOWED = 0x00080000;
1519 const UINT WINEDDCAPS2_CANCALIBRATEGAMMA = 0x00100000;
1520 const UINT WINEDDCAPS2_FLIPINTERVAL = 0x00200000;
1521 const UINT WINEDDCAPS2_FLIPNOVSYNC = 0x00400000;
1522 const UINT WINEDDCAPS2_CANMANAGETEXTURE = 0x00800000;
1523 const UINT WINEDDCAPS2_TEXMANINNONLOCALVIDMEM = 0x01000000;
1524 const UINT WINEDDCAPS2_STEREO = 0x02000000;
1525 const UINT WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL = 0x04000000;
1527 /* DDCAPS.d */
1528 const UINT WINEDDPCAPS_4BIT = 0x00000001;
1529 const UINT WINEDDPCAPS_8BITENTRIES = 0x00000002;
1530 const UINT WINEDDPCAPS_8BIT = 0x00000004;
1531 const UINT WINEDDPCAPS_INITIALIZE = 0x00000008;
1532 const UINT WINEDDPCAPS_PRIMARYSURFACE = 0x00000010;
1533 const UINT WINEDDPCAPS_PRIMARYSURFACELEFT = 0x00000020;
1534 const UINT WINEDDPCAPS_ALLOW256 = 0x00000040;
1535 const UINT WINEDDPCAPS_VSYNC = 0x00000080;
1536 const UINT WINEDDPCAPS_1BIT = 0x00000100;
1537 const UINT WINEDDPCAPS_2BIT = 0x00000200;
1538 const UINT WINEDDPCAPS_ALPHA = 0x00000400;
1540 typedef struct _WINED3DDISPLAYMODE
1542 UINT Width;
1543 UINT Height;
1544 UINT RefreshRate;
1545 enum wined3d_format_id Format;
1546 } WINED3DDISPLAYMODE;
1548 typedef struct _WINED3DCOLORVALUE
1550 float r;
1551 float g;
1552 float b;
1553 float a;
1554 } WINED3DCOLORVALUE;
1556 typedef struct _WINED3DVECTOR
1558 float x;
1559 float y;
1560 float z;
1561 } WINED3DVECTOR;
1563 typedef struct _WINED3DMATRIX
1565 union
1567 struct
1569 float _11, _12, _13, _14;
1570 float _21, _22, _23, _24;
1571 float _31, _32, _33, _34;
1572 float _41, _42, _43, _44;
1573 } DUMMYSTRUCTNAME;
1574 float m[4][4];
1575 } DUMMYUNIONNAME;
1576 } WINED3DMATRIX;
1578 typedef struct _WINED3DLIGHT
1580 WINED3DLIGHTTYPE Type;
1581 WINED3DCOLORVALUE Diffuse;
1582 WINED3DCOLORVALUE Specular;
1583 WINED3DCOLORVALUE Ambient;
1584 WINED3DVECTOR Position;
1585 WINED3DVECTOR Direction;
1586 float Range;
1587 float Falloff;
1588 float Attenuation0;
1589 float Attenuation1;
1590 float Attenuation2;
1591 float Theta;
1592 float Phi;
1593 } WINED3DLIGHT;
1595 typedef struct _WINED3DMATERIAL
1597 WINED3DCOLORVALUE Diffuse;
1598 WINED3DCOLORVALUE Ambient;
1599 WINED3DCOLORVALUE Specular;
1600 WINED3DCOLORVALUE Emissive;
1601 float Power;
1602 } WINED3DMATERIAL;
1604 typedef struct _WINED3DVIEWPORT
1606 DWORD X;
1607 DWORD Y;
1608 DWORD Width;
1609 DWORD Height;
1610 float MinZ;
1611 float MaxZ;
1612 } WINED3DVIEWPORT;
1614 typedef struct _WINED3DGAMMARAMP
1616 WORD red[256];
1617 WORD green[256];
1618 WORD blue[256];
1619 } WINED3DGAMMARAMP;
1621 typedef struct _WINED3DLINEPATTERN
1623 WORD wRepeatFactor;
1624 WORD wLinePattern;
1625 } WINED3DLINEPATTERN;
1627 typedef struct _WINEDD3DRECTPATCH_INFO
1629 UINT StartVertexOffsetWidth;
1630 UINT StartVertexOffsetHeight;
1631 UINT Width;
1632 UINT Height;
1633 UINT Stride;
1634 WINED3DBASISTYPE Basis;
1635 WINED3DDEGREETYPE Degree;
1636 } WINED3DRECTPATCH_INFO;
1638 typedef struct _WINED3DTRIPATCH_INFO
1640 UINT StartVertexOffset;
1641 UINT NumVertices;
1642 WINED3DBASISTYPE Basis;
1643 WINED3DDEGREETYPE Degree;
1644 } WINED3DTRIPATCH_INFO;
1646 typedef struct _WINED3DADAPTER_IDENTIFIER
1648 char *driver;
1649 UINT driver_size;
1650 char *description;
1651 UINT description_size;
1652 char *device_name;
1653 UINT device_name_size;
1654 LARGE_INTEGER driver_version;
1655 DWORD vendor_id;
1656 DWORD device_id;
1657 DWORD subsystem_id;
1658 DWORD revision;
1659 GUID device_identifier;
1660 DWORD whql_level;
1661 LUID adapter_luid;
1662 SIZE_T video_memory;
1663 } WINED3DADAPTER_IDENTIFIER;
1665 typedef struct _WINED3DPRESENT_PARAMETERS
1667 UINT BackBufferWidth;
1668 UINT BackBufferHeight;
1669 enum wined3d_format_id BackBufferFormat;
1670 UINT BackBufferCount;
1671 WINED3DMULTISAMPLE_TYPE MultiSampleType;
1672 DWORD MultiSampleQuality;
1673 WINED3DSWAPEFFECT SwapEffect;
1674 HWND hDeviceWindow;
1675 BOOL Windowed;
1676 BOOL EnableAutoDepthStencil;
1677 enum wined3d_format_id AutoDepthStencilFormat;
1678 DWORD Flags;
1679 UINT FullScreen_RefreshRateInHz;
1680 UINT PresentationInterval;
1681 BOOL AutoRestoreDisplayMode;
1682 } WINED3DPRESENT_PARAMETERS;
1684 struct wined3d_resource_desc
1686 WINED3DRESOURCETYPE resource_type;
1687 enum wined3d_format_id format;
1688 WINED3DMULTISAMPLE_TYPE multisample_type;
1689 UINT multisample_quality;
1690 DWORD usage;
1691 WINED3DPOOL pool;
1692 UINT width;
1693 UINT height;
1694 UINT depth;
1695 UINT size;
1698 typedef struct _WINED3DCLIPSTATUS
1700 DWORD ClipUnion;
1701 DWORD ClipIntersection;
1702 } WINED3DCLIPSTATUS;
1704 typedef struct _WINED3DVERTEXELEMENT
1706 enum wined3d_format_id format;
1707 WORD input_slot;
1708 WORD offset;
1709 UINT output_slot; /* D3D 8 & 10 */
1710 BYTE method;
1711 BYTE usage;
1712 BYTE usage_idx;
1713 } WINED3DVERTEXELEMENT;
1715 typedef struct _WINED3DDEVICE_CREATION_PARAMETERS
1717 UINT AdapterOrdinal;
1718 WINED3DDEVTYPE DeviceType;
1719 HWND hFocusWindow;
1720 DWORD BehaviorFlags;
1721 } WINED3DDEVICE_CREATION_PARAMETERS;
1723 typedef struct _WINED3DDEVINFO_BANDWIDTHTIMINGS
1725 float MaxBandwidthUtilized;
1726 float FrontEndUploadMemoryUtilizedPercent;
1727 float VertexRateUtilizedPercent;
1728 float TriangleSetupRateUtilizedPercent;
1729 float FillRateUtilizedPercent;
1730 } WINED3DDEVINFO_BANDWIDTHTIMINGS;
1732 typedef struct _WINED3DDEVINFO_CACHEUTILIZATION
1734 float TextureCacheHitRate;
1735 float PostTransformVertexCacheHitRate;
1736 } WINED3DDEVINFO_CACHEUTILIZATION;
1738 typedef struct _WINED3DDEVINFO_INTERFACETIMINGS
1740 float WaitingForGPUToUseApplicationResourceTimePercent;
1741 float WaitingForGPUToAcceptMoreCommandsTimePercent;
1742 float WaitingForGPUToStayWithinLatencyTimePercent;
1743 float WaitingForGPUExclusiveResourceTimePercent;
1744 float WaitingForGPUOtherTimePercent;
1745 } WINED3DDEVINFO_INTERFACETIMINGS;
1747 typedef struct _WINED3DDEVINFO_PIPELINETIMINGS
1749 float VertexProcessingTimePercent;
1750 float PixelProcessingTimePercent;
1751 float OtherGPUProcessingTimePercent;
1752 float GPUIdleTimePercent;
1753 } WINED3DDEVINFO_PIPELINETIMINGS;
1755 typedef struct _WINED3DDEVINFO_STAGETIMINGS
1757 float MemoryProcessingPercent;
1758 float ComputationProcessingPercent;
1759 } WINED3DDEVINFO_STAGETIMINGS;
1761 typedef struct _WINED3DRASTER_STATUS
1763 BOOL InVBlank;
1764 UINT ScanLine;
1765 } WINED3DRASTER_STATUS;
1767 typedef struct WINED3DRESOURCESTATS
1769 BOOL bThrashing;
1770 DWORD ApproxBytesDownloaded;
1771 DWORD NumEvicts;
1772 DWORD NumVidCreates;
1773 DWORD LastPri;
1774 DWORD NumUsed;
1775 DWORD NumUsedInVidMem;
1776 DWORD WorkingSet;
1777 DWORD WorkingSetBytes;
1778 DWORD TotalManaged;
1779 DWORD TotalBytes;
1780 } WINED3DRESOURCESTATS;
1782 typedef struct _WINED3DDEVINFO_RESOURCEMANAGER
1784 WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
1785 } WINED3DDEVINFO_RESOURCEMANAGER;
1787 typedef struct _WINED3DDEVINFO_VERTEXSTATS
1789 DWORD NumRenderedTriangles;
1790 DWORD NumExtraClippingTriangles;
1791 } WINED3DDEVINFO_VERTEXSTATS;
1793 typedef struct _WINED3DLOCKED_RECT
1795 INT Pitch;
1796 void *pBits;
1797 } WINED3DLOCKED_RECT;
1799 typedef struct _WINED3DLOCKED_BOX
1801 INT RowPitch;
1802 INT SlicePitch;
1803 void *pBits;
1804 } WINED3DLOCKED_BOX;
1806 typedef struct _WINED3DBOX
1808 UINT Left;
1809 UINT Top;
1810 UINT Right;
1811 UINT Bottom;
1812 UINT Front;
1813 UINT Back;
1814 } WINED3DBOX;
1816 /*Vertex cache optimization hints.*/
1817 typedef struct WINED3DDEVINFO_VCACHE
1819 DWORD Pattern; /* Must be a 4 char code FOURCC (e.g. CACH) */
1820 DWORD OptMethod; /* 0 to get the longest strips, 1 vertex cache */
1821 DWORD CacheSize; /* Cache size to use (only valid if OptMethod==1) */
1822 DWORD MagicNumber; /* Internal for deciding when to restart strips,
1823 non user modifiable (only valid if OptMethod==1) */
1824 } WINED3DDEVINFO_VCACHE;
1826 typedef struct WineDirect3DStridedData
1828 enum wined3d_format_id format; /* Format of the data */
1829 const BYTE *lpData; /* Pointer to start of data */
1830 DWORD dwStride; /* Stride between occurrences of this data */
1831 } WineDirect3DStridedData;
1833 typedef struct WineDirect3DVertexStridedData
1835 WineDirect3DStridedData position;
1836 WineDirect3DStridedData normal;
1837 WineDirect3DStridedData diffuse;
1838 WineDirect3DStridedData specular;
1839 WineDirect3DStridedData texCoords[WINED3DDP_MAXTEXCOORD];
1840 BOOL position_transformed;
1841 } WineDirect3DVertexStridedData;
1843 typedef struct _WINED3DVSHADERCAPS2_0
1845 DWORD Caps;
1846 INT DynamicFlowControlDepth;
1847 INT NumTemps;
1848 INT StaticFlowControlDepth;
1849 } WINED3DVSHADERCAPS2_0;
1851 typedef struct _WINED3DPSHADERCAPS2_0
1853 DWORD Caps;
1854 INT DynamicFlowControlDepth;
1855 INT NumTemps;
1856 INT StaticFlowControlDepth;
1857 INT NumInstructionSlots;
1858 } WINED3DPSHADERCAPS2_0;
1860 typedef struct _WINEDDCAPS
1862 DWORD Caps;
1863 DWORD Caps2;
1864 DWORD CKeyCaps;
1865 DWORD FXCaps;
1866 DWORD FXAlphaCaps;
1867 DWORD PalCaps;
1868 DWORD SVCaps;
1869 DWORD SVBCaps;
1870 DWORD SVBCKeyCaps;
1871 DWORD SVBFXCaps;
1872 DWORD VSBCaps;
1873 DWORD VSBCKeyCaps;
1874 DWORD VSBFXCaps;
1875 DWORD SSBCaps;
1876 DWORD SSBCKeyCaps;
1877 DWORD SSBFXCaps;
1878 DWORD ddsCaps;
1879 DWORD StrideAlign;
1880 } WINEDDCAPS;
1882 typedef struct _WINED3DCAPS
1884 WINED3DDEVTYPE DeviceType;
1885 UINT AdapterOrdinal;
1887 DWORD Caps;
1888 DWORD Caps2;
1889 DWORD Caps3;
1890 DWORD PresentationIntervals;
1892 DWORD CursorCaps;
1893 DWORD DevCaps;
1894 DWORD PrimitiveMiscCaps;
1895 DWORD RasterCaps;
1896 DWORD ZCmpCaps;
1897 DWORD SrcBlendCaps;
1898 DWORD DestBlendCaps;
1899 DWORD AlphaCmpCaps;
1900 DWORD ShadeCaps;
1901 DWORD TextureCaps;
1902 DWORD TextureFilterCaps;
1903 DWORD CubeTextureFilterCaps;
1904 DWORD VolumeTextureFilterCaps;
1905 DWORD TextureAddressCaps;
1906 DWORD VolumeTextureAddressCaps;
1907 DWORD LineCaps;
1909 DWORD MaxTextureWidth;
1910 DWORD MaxTextureHeight;
1911 DWORD MaxVolumeExtent;
1912 DWORD MaxTextureRepeat;
1913 DWORD MaxTextureAspectRatio;
1914 DWORD MaxAnisotropy;
1915 float MaxVertexW;
1917 float GuardBandLeft;
1918 float GuardBandTop;
1919 float GuardBandRight;
1920 float GuardBandBottom;
1922 float ExtentsAdjust;
1923 DWORD StencilCaps;
1925 DWORD FVFCaps;
1926 DWORD TextureOpCaps;
1927 DWORD MaxTextureBlendStages;
1928 DWORD MaxSimultaneousTextures;
1930 DWORD VertexProcessingCaps;
1931 DWORD MaxActiveLights;
1932 DWORD MaxUserClipPlanes;
1933 DWORD MaxVertexBlendMatrices;
1934 DWORD MaxVertexBlendMatrixIndex;
1936 float MaxPointSize;
1938 DWORD MaxPrimitiveCount;
1939 DWORD MaxVertexIndex;
1940 DWORD MaxStreams;
1941 DWORD MaxStreamStride;
1943 DWORD VertexShaderVersion;
1944 DWORD MaxVertexShaderConst;
1946 DWORD PixelShaderVersion;
1947 float PixelShader1xMaxValue;
1949 /* DX 9 */
1950 DWORD DevCaps2;
1952 float MaxNpatchTessellationLevel;
1953 DWORD Reserved5; /* undocumented */
1955 UINT MasterAdapterOrdinal;
1956 UINT AdapterOrdinalInGroup;
1957 UINT NumberOfAdaptersInGroup;
1958 DWORD DeclTypes;
1959 DWORD NumSimultaneousRTs;
1960 DWORD StretchRectFilterCaps;
1961 WINED3DVSHADERCAPS2_0 VS20Caps;
1962 WINED3DPSHADERCAPS2_0 PS20Caps;
1963 DWORD VertexTextureFilterCaps;
1964 DWORD MaxVShaderInstructionsExecuted;
1965 DWORD MaxPShaderInstructionsExecuted;
1966 DWORD MaxVertexShader30InstructionSlots;
1967 DWORD MaxPixelShader30InstructionSlots;
1968 DWORD Reserved2; /* Not in the microsoft headers but documented */
1969 DWORD Reserved3;
1971 WINEDDCAPS DirectDrawCaps;
1972 } WINED3DCAPS;
1974 /* DirectDraw types */
1976 typedef struct _WINEDDCOLORKEY
1978 DWORD dwColorSpaceLowValue; /* low boundary of color space that is to
1979 * be treated as Color Key, inclusive */
1980 DWORD dwColorSpaceHighValue; /* high boundary of color space that is
1981 * to be treated as Color Key, inclusive */
1982 } WINEDDCOLORKEY,*LPWINEDDCOLORKEY;
1984 typedef struct _WINEDDBLTFX
1986 DWORD dwSize; /* size of structure */
1987 DWORD dwDDFX; /* FX operations */
1988 DWORD dwROP; /* Win32 raster operations */
1989 DWORD dwDDROP; /* Raster operations new for DirectDraw */
1990 DWORD dwRotationAngle; /* Rotation angle for blt */
1991 DWORD dwZBufferOpCode; /* ZBuffer compares */
1992 DWORD dwZBufferLow; /* Low limit of Z buffer */
1993 DWORD dwZBufferHigh; /* High limit of Z buffer */
1994 DWORD dwZBufferBaseDest; /* Destination base value */
1995 DWORD dwZDestConstBitDepth; /* Bit depth used to specify Z constant for destination */
1996 union
1998 DWORD dwZDestConst; /* Constant to use as Z buffer for dest */
1999 struct wined3d_surface *lpDDSZBufferDest; /* Surface to use as Z buffer for dest */
2000 } DUMMYUNIONNAME1;
2001 DWORD dwZSrcConstBitDepth; /* Bit depth used to specify Z constant for source */
2002 union
2004 DWORD dwZSrcConst; /* Constant to use as Z buffer for src */
2005 struct wined3d_surface *lpDDSZBufferSrc; /* Surface to use as Z buffer for src */
2006 } DUMMYUNIONNAME2;
2007 DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
2008 DWORD dwAlphaEdgeBlend; /* Alpha for edge blending */
2009 DWORD dwReserved;
2010 DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
2011 union
2013 DWORD dwAlphaDestConst; /* Constant to use as Alpha Channel */
2014 struct wined3d_surface *lpDDSAlphaDest; /* Surface to use as Alpha Channel */
2015 } DUMMYUNIONNAME3;
2016 DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
2017 union
2019 DWORD dwAlphaSrcConst; /* Constant to use as Alpha Channel */
2020 struct wined3d_surface *lpDDSAlphaSrc; /* Surface to use as Alpha Channel */
2021 } DUMMYUNIONNAME4;
2022 union
2024 DWORD dwFillColor; /* color in RGB or Palettized */
2025 DWORD dwFillDepth; /* depth value for z-buffer */
2026 DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
2027 struct wined3d_surface *lpDDSPattern; /* Surface to use as pattern */
2028 } DUMMYUNIONNAME5;
2029 WINEDDCOLORKEY ddckDestColorkey; /* DestColorkey override */
2030 WINEDDCOLORKEY ddckSrcColorkey; /* SrcColorkey override */
2031 } WINEDDBLTFX,*LPWINEDDBLTFX;
2033 typedef struct _WINEDDOVERLAYFX
2035 DWORD dwSize; /* size of structure */
2036 DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
2037 DWORD dwAlphaEdgeBlend; /* Constant to use as alpha for edge blend */
2038 DWORD dwReserved;
2039 DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
2040 union
2042 DWORD dwAlphaDestConst; /* Constant to use as alpha channel for dest */
2043 struct wined3d_surface *lpDDSAlphaDest; /* Surface to use as alpha channel for dest */
2044 } DUMMYUNIONNAME1;
2045 DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
2046 union
2048 DWORD dwAlphaSrcConst; /* Constant to use as alpha channel for src */
2049 struct wined3d_surface *lpDDSAlphaSrc; /* Surface to use as alpha channel for src */
2050 } DUMMYUNIONNAME2;
2051 WINEDDCOLORKEY dckDestColorkey; /* DestColorkey override */
2052 WINEDDCOLORKEY dckSrcColorkey; /* SrcColorkey override */
2053 DWORD dwDDFX; /* Overlay FX */
2054 DWORD dwFlags; /* flags */
2055 } WINEDDOVERLAYFX;
2057 struct wined3d_buffer_desc
2059 UINT byte_width;
2060 DWORD usage;
2061 UINT bind_flags;
2062 UINT cpu_access_flags;
2063 UINT misc_flags;
2066 struct wined3d_shader_signature_element
2068 const char *semantic_name;
2069 UINT semantic_idx;
2070 enum wined3d_sysval_semantic sysval_semantic;
2071 DWORD component_type;
2072 UINT register_idx;
2073 DWORD mask;
2076 struct wined3d_shader_signature
2078 UINT element_count;
2079 struct wined3d_shader_signature_element *elements;
2080 char *string_data;
2083 struct wined3d_parent_ops
2085 void (__stdcall *wined3d_object_destroyed)(void *parent);
2088 struct wined3d;
2089 struct wined3d_buffer;
2090 struct wined3d_clipper;
2091 struct wined3d_device;
2092 struct wined3d_palette;
2093 struct wined3d_query;
2094 struct wined3d_rendertarget_view;
2095 struct wined3d_resource;
2096 struct wined3d_shader;
2097 struct wined3d_stateblock;
2098 struct wined3d_surface;
2099 struct wined3d_swapchain;
2100 struct wined3d_texture;
2101 struct wined3d_vertex_declaration;
2102 struct wined3d_volume;
2104 struct wined3d_device_parent
2106 const struct wined3d_device_parent_ops *ops;
2109 struct wined3d_device_parent_ops
2111 void (__cdecl *wined3d_device_created)(struct wined3d_device_parent *device_parent, struct wined3d_device *device);
2112 HRESULT (__cdecl *create_surface)(struct wined3d_device_parent *device_parent, void *container_parent,
2113 UINT width, UINT height, enum wined3d_format_id format_id, DWORD usage, WINED3DPOOL pool,
2114 UINT level, WINED3DCUBEMAP_FACES face, struct wined3d_surface **surface);
2115 HRESULT (__cdecl *create_rendertarget)(struct wined3d_device_parent *device_parent, void *container_parent,
2116 UINT width, UINT height, enum wined3d_format_id format_id, WINED3DMULTISAMPLE_TYPE multisample_type,
2117 DWORD multisample_quality, BOOL lockable, struct wined3d_surface **surface);
2118 HRESULT (__cdecl *create_depth_stencil)(struct wined3d_device_parent *device_parent,
2119 UINT width, UINT height, enum wined3d_format_id format_id, WINED3DMULTISAMPLE_TYPE multisample_type,
2120 DWORD multisample_quality, BOOL discard, struct wined3d_surface **surface);
2121 HRESULT (__cdecl *create_volume)(struct wined3d_device_parent *device_parent, void *container_parent,
2122 UINT width, UINT height, UINT depth, enum wined3d_format_id format_id, WINED3DPOOL pool, DWORD usage,
2123 struct wined3d_volume **volume);
2124 HRESULT (__cdecl *create_swapchain)(struct wined3d_device_parent *device_parent,
2125 WINED3DPRESENT_PARAMETERS *present_parameters, struct wined3d_swapchain **swapchain);
2128 typedef HRESULT (__stdcall *D3DCB_ENUMRESOURCES)(struct wined3d_resource *resource, void *pData);
2130 void __stdcall wined3d_mutex_lock(void);
2131 void __stdcall wined3d_mutex_unlock(void);
2133 HRESULT __cdecl wined3d_check_depth_stencil_match(const struct wined3d *wined3d, UINT adapter_idx,
2134 WINED3DDEVTYPE device_type, enum wined3d_format_id adapter_format_id,
2135 enum wined3d_format_id render_target_format_id, enum wined3d_format_id depth_stencil_format_id);
2136 HRESULT __cdecl wined3d_check_device_format(const struct wined3d *wined3d, UINT adaper_idx,
2137 WINED3DDEVTYPE device_type, enum wined3d_format_id adapter_format_id, DWORD usage,
2138 WINED3DRESOURCETYPE resource_type, enum wined3d_format_id check_format_id,
2139 WINED3DSURFTYPE surface_type);
2140 HRESULT __cdecl wined3d_check_device_format_conversion(const struct wined3d *wined3d, UINT adapter_idx,
2141 WINED3DDEVTYPE device_type, enum wined3d_format_id source_format_id,
2142 enum wined3d_format_id target_format_id);
2143 HRESULT __cdecl wined3d_check_device_multisample_type(const struct wined3d *wined3d, UINT adapter_idx,
2144 WINED3DDEVTYPE device_type, enum wined3d_format_id surface_format_id, BOOL windowed,
2145 WINED3DMULTISAMPLE_TYPE multisample_type, DWORD *quality_levels);
2146 HRESULT __cdecl wined3d_check_device_type(const struct wined3d *wined3d, UINT adapter_idx,
2147 WINED3DDEVTYPE device_type, enum wined3d_format_id display_format_id,
2148 enum wined3d_format_id backbuffer_format_id, BOOL windowed);
2149 struct wined3d * __cdecl wined3d_create(UINT dxVersion, void *parent);
2150 ULONG __cdecl wined3d_decref(struct wined3d *wined3d);
2151 HRESULT __cdecl wined3d_enum_adapter_modes(const struct wined3d *wined3d, UINT adapter_idx,
2152 enum wined3d_format_id format_id, UINT mode_idx, WINED3DDISPLAYMODE *mode);
2153 UINT __cdecl wined3d_get_adapter_count(const struct wined3d *wined3d);
2154 HRESULT __cdecl wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx,
2155 WINED3DDISPLAYMODE *mode);
2156 HRESULT __cdecl wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx,
2157 DWORD flags, WINED3DADAPTER_IDENTIFIER *identifier);
2158 UINT __cdecl wined3d_get_adapter_mode_count(const struct wined3d *wined3d,
2159 UINT adapter_idx, enum wined3d_format_id format_id);
2160 HMONITOR __cdecl wined3d_get_adapter_monitor(const struct wined3d *wined3d, UINT adapter_idx);
2161 HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
2162 WINED3DDEVTYPE device_type, WINED3DCAPS *caps);
2163 void * __cdecl wined3d_get_parent(const struct wined3d *wined3d);
2164 ULONG __cdecl wined3d_incref(struct wined3d *wined3d);
2165 HRESULT __cdecl wined3d_register_software_device(struct wined3d *wined3d, void *init_function);
2167 HRESULT __cdecl wined3d_buffer_create(struct wined3d_device *device, struct wined3d_buffer_desc *desc,
2168 const void *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer);
2169 HRESULT __cdecl wined3d_buffer_create_ib(struct wined3d_device *device, UINT length, DWORD usage, WINED3DPOOL pool,
2170 void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer);
2171 HRESULT __cdecl wined3d_buffer_create_vb(struct wined3d_device *device, UINT length, DWORD usage, WINED3DPOOL pool,
2172 void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer);
2173 ULONG __cdecl wined3d_buffer_decref(struct wined3d_buffer *buffer);
2174 HRESULT __cdecl wined3d_buffer_free_private_data(struct wined3d_buffer *buffer, REFGUID guid);
2175 void * __cdecl wined3d_buffer_get_parent(const struct wined3d_buffer *buffer);
2176 DWORD __cdecl wined3d_buffer_get_priority(const struct wined3d_buffer *buffer);
2177 HRESULT __cdecl wined3d_buffer_get_private_data(const struct wined3d_buffer *buffer,
2178 REFGUID guid, void *data, DWORD *data_size);
2179 struct wined3d_resource * __cdecl wined3d_buffer_get_resource(struct wined3d_buffer *buffer);
2180 ULONG __cdecl wined3d_buffer_incref(struct wined3d_buffer *buffer);
2181 HRESULT __cdecl wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UINT size, BYTE **data, DWORD flags);
2182 void __cdecl wined3d_buffer_preload(struct wined3d_buffer *buffer);
2183 DWORD __cdecl wined3d_buffer_set_priority(struct wined3d_buffer *buffer, DWORD new_priority);
2184 HRESULT __cdecl wined3d_buffer_set_private_data(struct wined3d_buffer *buffer,
2185 REFGUID guid, const void *data, DWORD data_size, DWORD flags);
2186 void __cdecl wined3d_buffer_unmap(struct wined3d_buffer *buffer);
2188 struct wined3d_clipper * __cdecl wined3d_clipper_create(void);
2189 ULONG __cdecl wined3d_clipper_decref(struct wined3d_clipper *clipper);
2190 HRESULT __cdecl wined3d_clipper_get_clip_list(const struct wined3d_clipper *clipper,
2191 const RECT *rect, RGNDATA *clip_list, DWORD *clip_list_size);
2192 HRESULT __cdecl wined3d_clipper_get_window(const struct wined3d_clipper *clipper, HWND *hwnd);
2193 ULONG __cdecl wined3d_clipper_incref(struct wined3d_clipper *clipper);
2194 HRESULT __cdecl wined3d_clipper_is_clip_list_changed(const struct wined3d_clipper *clipper, BOOL *changed);
2195 HRESULT __cdecl wined3d_clipper_set_clip_list(struct wined3d_clipper *clipper, const RGNDATA *clip_list, DWORD flags);
2196 HRESULT __cdecl wined3d_clipper_set_window(struct wined3d_clipper *clipper, DWORD flags, HWND hwnd);
2198 HRESULT __cdecl wined3d_device_acquire_focus_window(struct wined3d_device *device, HWND window);
2199 HRESULT __cdecl wined3d_device_begin_scene(struct wined3d_device *device);
2200 HRESULT __cdecl wined3d_device_begin_stateblock(struct wined3d_device *device);
2201 HRESULT __cdecl wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags,
2202 WINED3DCOLOR color, float z, DWORD stencil);
2203 void __cdecl wined3d_device_clear_rendertarget_view(struct wined3d_device *device,
2204 struct wined3d_rendertarget_view *rendertarget_view, const WINED3DCOLORVALUE *color);
2205 HRESULT __cdecl wined3d_device_color_fill(struct wined3d_device *device, struct wined3d_surface *surface,
2206 const RECT *rect, const WINED3DCOLORVALUE *color);
2207 HRESULT __cdecl wined3d_device_create(struct wined3d *wined3d, UINT adapter_idx,
2208 WINED3DDEVTYPE device_type, HWND focus_window, DWORD behaviour_flags,
2209 struct wined3d_device_parent *device_parent, struct wined3d_device **device);
2210 ULONG __cdecl wined3d_device_decref(struct wined3d_device *device);
2211 HRESULT __cdecl wined3d_device_delete_patch(struct wined3d_device *device, UINT handle);
2212 HRESULT __cdecl wined3d_device_draw_indexed_primitive(struct wined3d_device *device, UINT start_idx, UINT index_count);
2213 HRESULT __cdecl wined3d_device_draw_indexed_primitive_strided(struct wined3d_device *device, UINT index_count,
2214 const WineDirect3DVertexStridedData *strided_data, UINT vertex_count, const void *index_data,
2215 enum wined3d_format_id index_data_format_id);
2216 HRESULT __cdecl wined3d_device_draw_indexed_primitive_up(struct wined3d_device *device,
2217 UINT index_count, const void *index_data, enum wined3d_format_id index_data_format_id,
2218 const void *stream_data, UINT stream_stride);
2219 HRESULT __cdecl wined3d_device_draw_primitive(struct wined3d_device *device, UINT start_vertex, UINT vertex_count);
2220 HRESULT __cdecl wined3d_device_draw_primitive_strided(struct wined3d_device *device,
2221 UINT vertex_count, const WineDirect3DVertexStridedData *strided_data);
2222 HRESULT __cdecl wined3d_device_draw_primitive_up(struct wined3d_device *device,
2223 UINT vertex_count, const void *stream_data, UINT stream_stride);
2224 HRESULT __cdecl wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT handle,
2225 const float *num_segs, const WINED3DRECTPATCH_INFO *rect_patch_info);
2226 HRESULT __cdecl wined3d_device_draw_tri_patch(struct wined3d_device *device, UINT handle,
2227 const float *num_segs, const WINED3DTRIPATCH_INFO *tri_patch_info);
2228 HRESULT __cdecl wined3d_device_end_scene(struct wined3d_device *device);
2229 HRESULT __cdecl wined3d_device_end_stateblock(struct wined3d_device *device, struct wined3d_stateblock **stateblock);
2230 HRESULT __cdecl wined3d_device_enum_resources(struct wined3d_device *device, D3DCB_ENUMRESOURCES callback, void *data);
2231 HRESULT __cdecl wined3d_device_evict_managed_resources(struct wined3d_device *device);
2232 UINT __cdecl wined3d_device_get_available_texture_mem(struct wined3d_device *device);
2233 HRESULT __cdecl wined3d_device_get_back_buffer(struct wined3d_device *device, UINT swapchain_idx,
2234 UINT backbuffer_idx, WINED3DBACKBUFFER_TYPE backbuffer_type, struct wined3d_surface **backbuffer);
2235 INT __cdecl wined3d_device_get_base_vertex_index(struct wined3d_device *device);
2236 HRESULT __cdecl wined3d_device_get_clip_plane(struct wined3d_device *device, UINT plane_idx, float *plane);
2237 HRESULT __cdecl wined3d_device_get_clip_status(struct wined3d_device *device, WINED3DCLIPSTATUS *clip_status);
2238 HRESULT __cdecl wined3d_device_get_creation_parameters(struct wined3d_device *device,
2239 WINED3DDEVICE_CREATION_PARAMETERS *creation_parameters);
2240 HRESULT __cdecl wined3d_device_get_current_texture_palette(struct wined3d_device *device, UINT *palette_idx);
2241 HRESULT __cdecl wined3d_device_get_depth_stencil(struct wined3d_device *device,
2242 struct wined3d_surface **depth_stencil);
2243 HRESULT __cdecl wined3d_device_get_device_caps(struct wined3d_device *device, WINED3DCAPS *caps);
2244 HRESULT __cdecl wined3d_device_get_display_mode(struct wined3d_device *device,
2245 UINT swapchain_idx, WINED3DDISPLAYMODE *mode);
2246 HRESULT __cdecl wined3d_device_get_front_buffer_data(struct wined3d_device *device,
2247 UINT swapchain_idx, struct wined3d_surface *dst_surface);
2248 void __cdecl wined3d_device_get_gamma_ramp(struct wined3d_device *device, UINT swapchain_idx, WINED3DGAMMARAMP *ramp);
2249 HRESULT __cdecl wined3d_device_get_index_buffer(struct wined3d_device *device, struct wined3d_buffer **index_buffer);
2250 HRESULT __cdecl wined3d_device_get_light(struct wined3d_device *device, UINT light_idx, WINED3DLIGHT *light);
2251 HRESULT __cdecl wined3d_device_get_light_enable(struct wined3d_device *device, UINT light_idx, BOOL *enable);
2252 HRESULT __cdecl wined3d_device_get_material(struct wined3d_device *device, WINED3DMATERIAL *material);
2253 float __cdecl wined3d_device_get_npatch_mode(struct wined3d_device *device);
2254 HRESULT __cdecl wined3d_device_get_palette_entries(struct wined3d_device *device,
2255 UINT palette_idx, PALETTEENTRY *entries);
2256 struct wined3d_shader * __cdecl wined3d_device_get_pixel_shader(struct wined3d_device *device);
2257 void __cdecl wined3d_device_get_primitive_type(struct wined3d_device *device, WINED3DPRIMITIVETYPE *primitive_topology);
2258 HRESULT __cdecl wined3d_device_get_ps_consts_b(struct wined3d_device *device,
2259 UINT start_register, BOOL *constants, UINT bool_count);
2260 HRESULT __cdecl wined3d_device_get_ps_consts_f(struct wined3d_device *device,
2261 UINT start_register, float *constants, UINT vector4f_count);
2262 HRESULT __cdecl wined3d_device_get_ps_consts_i(struct wined3d_device *device,
2263 UINT start_register, int *constants, UINT vector4i_count);
2264 HRESULT __cdecl wined3d_device_get_raster_status(struct wined3d_device *device,
2265 UINT swapchain_idx, WINED3DRASTER_STATUS *raster_status);
2266 HRESULT __cdecl wined3d_device_get_render_state(struct wined3d_device *device,
2267 WINED3DRENDERSTATETYPE state, DWORD *value);
2268 HRESULT __cdecl wined3d_device_get_render_target(struct wined3d_device *device,
2269 UINT render_target_idx, struct wined3d_surface **render_target);
2270 HRESULT __cdecl wined3d_device_get_sampler_state(struct wined3d_device *device,
2271 UINT sampler_idx, WINED3DSAMPLERSTATETYPE state, DWORD *value);
2272 HRESULT __cdecl wined3d_device_get_scissor_rect(struct wined3d_device *device, RECT *rect);
2273 BOOL __cdecl wined3d_device_get_software_vertex_processing(struct wined3d_device *device);
2274 HRESULT __cdecl wined3d_device_get_stream_source(struct wined3d_device *device,
2275 UINT stream_idx, struct wined3d_buffer **buffer, UINT *offset, UINT *stride);
2276 HRESULT __cdecl wined3d_device_get_stream_source_freq(struct wined3d_device *device, UINT stream_idx, UINT *divider);
2277 HRESULT __cdecl wined3d_device_get_surface_from_dc(struct wined3d_device *device,
2278 HDC dc, struct wined3d_surface **surface);
2279 HRESULT __cdecl wined3d_device_get_swapchain(struct wined3d_device *device,
2280 UINT swapchain_idx, struct wined3d_swapchain **swapchain);
2281 UINT __cdecl wined3d_device_get_swapchain_count(struct wined3d_device *device);
2282 HRESULT __cdecl wined3d_device_get_texture(struct wined3d_device *device,
2283 UINT stage, struct wined3d_texture **texture);
2284 HRESULT __cdecl wined3d_device_get_texture_stage_state(struct wined3d_device *device,
2285 UINT stage, WINED3DTEXTURESTAGESTATETYPE state, DWORD *value);
2286 HRESULT __cdecl wined3d_device_get_transform(struct wined3d_device *device,
2287 WINED3DTRANSFORMSTATETYPE state, WINED3DMATRIX *matrix);
2288 HRESULT __cdecl wined3d_device_get_vertex_declaration(struct wined3d_device *device,
2289 struct wined3d_vertex_declaration **declaration);
2290 struct wined3d_shader * __cdecl wined3d_device_get_vertex_shader(struct wined3d_device *device);
2291 HRESULT __cdecl wined3d_device_get_viewport(struct wined3d_device *device, WINED3DVIEWPORT *viewport);
2292 HRESULT __cdecl wined3d_device_get_vs_consts_b(struct wined3d_device *device,
2293 UINT start_register, BOOL *constants, UINT bool_count);
2294 HRESULT __cdecl wined3d_device_get_vs_consts_f(struct wined3d_device *device,
2295 UINT start_register, float *constants, UINT vector4f_count);
2296 HRESULT __cdecl wined3d_device_get_vs_consts_i(struct wined3d_device *device,
2297 UINT start_register, int *constants, UINT vector4i_count);
2298 HRESULT __cdecl wined3d_device_get_wined3d(struct wined3d_device *device, struct wined3d **d3d);
2299 ULONG __cdecl wined3d_device_incref(struct wined3d_device *device);
2300 HRESULT __cdecl wined3d_device_init_3d(struct wined3d_device *device, WINED3DPRESENT_PARAMETERS *present_parameters);
2301 HRESULT __cdecl wined3d_device_init_gdi(struct wined3d_device *device, WINED3DPRESENT_PARAMETERS *present_parameters);
2302 HRESULT __cdecl wined3d_device_multiply_transform(struct wined3d_device *device,
2303 WINED3DTRANSFORMSTATETYPE state, const WINED3DMATRIX *matrix);
2304 HRESULT __cdecl wined3d_device_present(struct wined3d_device *device, const RECT *src_rect,
2305 const RECT *dst_rect, HWND dst_window_override, const RGNDATA *dirty_region);
2306 HRESULT __cdecl wined3d_device_process_vertices(struct wined3d_device *device,
2307 UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer,
2308 struct wined3d_vertex_declaration *declaration, DWORD flags, DWORD dst_fvf);
2309 void __cdecl wined3d_device_release_focus_window(struct wined3d_device *device);
2310 HRESULT __cdecl wined3d_device_reset(struct wined3d_device *device, WINED3DPRESENT_PARAMETERS *present_parameters);
2311 void __cdecl wined3d_device_restore_fullscreen_window(struct wined3d_device *device, HWND window);
2312 HRESULT __cdecl wined3d_device_set_base_vertex_index(struct wined3d_device *device, INT base_index);
2313 HRESULT __cdecl wined3d_device_set_clip_plane(struct wined3d_device *device, UINT plane_idx, const float *plane);
2314 HRESULT __cdecl wined3d_device_set_clip_status(struct wined3d_device *device, const WINED3DCLIPSTATUS *clip_status);
2315 HRESULT __cdecl wined3d_device_set_current_texture_palette(struct wined3d_device *device, UINT palette_idx);
2316 void __cdecl wined3d_device_set_cursor_position(struct wined3d_device *device,
2317 int x_screen_space, int y_screen_space, DWORD flags);
2318 HRESULT __cdecl wined3d_device_set_cursor_properties(struct wined3d_device *device,
2319 UINT x_hotspot, UINT y_hotspot, struct wined3d_surface *cursor_surface);
2320 HRESULT __cdecl wined3d_device_set_depth_stencil(struct wined3d_device *device, struct wined3d_surface *depth_stencil);
2321 HRESULT __cdecl wined3d_device_set_dialog_box_mode(struct wined3d_device *device, BOOL enable_dialogs);
2322 HRESULT __cdecl wined3d_device_set_display_mode(struct wined3d_device *device,
2323 UINT swapchain_idx, const WINED3DDISPLAYMODE *mode);
2324 void __cdecl wined3d_device_set_gamma_ramp(struct wined3d_device *device,
2325 UINT swapchain_idx, DWORD flags, const WINED3DGAMMARAMP *ramp);
2326 HRESULT __cdecl wined3d_device_set_index_buffer(struct wined3d_device *device,
2327 struct wined3d_buffer *index_buffer, enum wined3d_format_id format_id);
2328 HRESULT __cdecl wined3d_device_set_light(struct wined3d_device *device, UINT light_idx, const WINED3DLIGHT *light);
2329 HRESULT __cdecl wined3d_device_set_light_enable(struct wined3d_device *device, UINT light_idx, BOOL enable);
2330 HRESULT __cdecl wined3d_device_set_material(struct wined3d_device *device, const WINED3DMATERIAL *material);
2331 void __cdecl wined3d_device_set_multithreaded(struct wined3d_device *device);
2332 HRESULT __cdecl wined3d_device_set_npatch_mode(struct wined3d_device *device, float segments);
2333 HRESULT __cdecl wined3d_device_set_palette_entries(struct wined3d_device *device,
2334 UINT palette_idx, const PALETTEENTRY *entries);
2335 HRESULT __cdecl wined3d_device_set_pixel_shader(struct wined3d_device *device, struct wined3d_shader *shader);
2336 void __cdecl wined3d_device_set_primitive_type(struct wined3d_device *device, WINED3DPRIMITIVETYPE primitive_topology);
2337 HRESULT __cdecl wined3d_device_set_ps_consts_b(struct wined3d_device *device,
2338 UINT start_register, const BOOL *constants, UINT bool_count);
2339 HRESULT __cdecl wined3d_device_set_ps_consts_f(struct wined3d_device *device,
2340 UINT start_register, const float *constants, UINT vector4f_count);
2341 HRESULT __cdecl wined3d_device_set_ps_consts_i(struct wined3d_device *device,
2342 UINT start_register, const int *constants, UINT vector4i_count);
2343 HRESULT __cdecl wined3d_device_set_render_state(struct wined3d_device *device,
2344 WINED3DRENDERSTATETYPE state, DWORD value);
2345 HRESULT __cdecl wined3d_device_set_render_target(struct wined3d_device *device,
2346 UINT render_target_idx, struct wined3d_surface *render_target, BOOL set_viewport);
2347 HRESULT __cdecl wined3d_device_set_sampler_state(struct wined3d_device *device,
2348 UINT sampler_idx, WINED3DSAMPLERSTATETYPE state, DWORD value);
2349 HRESULT __cdecl wined3d_device_set_scissor_rect(struct wined3d_device *device, const RECT *rect);
2350 HRESULT __cdecl wined3d_device_set_software_vertex_processing(struct wined3d_device *device, BOOL software);
2351 HRESULT __cdecl wined3d_device_set_stream_source(struct wined3d_device *device,
2352 UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride);
2353 HRESULT __cdecl wined3d_device_set_stream_source_freq(struct wined3d_device *device, UINT stream_idx, UINT divider);
2354 HRESULT __cdecl wined3d_device_set_texture(struct wined3d_device *device, UINT stage, struct wined3d_texture *texture);
2355 HRESULT __cdecl wined3d_device_set_texture_stage_state(struct wined3d_device *device,
2356 UINT stage, WINED3DTEXTURESTAGESTATETYPE state, DWORD value);
2357 HRESULT __cdecl wined3d_device_set_transform(struct wined3d_device *device,
2358 WINED3DTRANSFORMSTATETYPE state, const WINED3DMATRIX *matrix);
2359 HRESULT __cdecl wined3d_device_set_vertex_declaration(struct wined3d_device *device,
2360 struct wined3d_vertex_declaration *declaration);
2361 HRESULT __cdecl wined3d_device_set_vertex_shader(struct wined3d_device *device, struct wined3d_shader *shader);
2362 HRESULT __cdecl wined3d_device_set_viewport(struct wined3d_device *device, const WINED3DVIEWPORT *viewport);
2363 HRESULT __cdecl wined3d_device_set_vs_consts_b(struct wined3d_device *device,
2364 UINT start_register, const BOOL *constants, UINT bool_count);
2365 HRESULT __cdecl wined3d_device_set_vs_consts_f(struct wined3d_device *device,
2366 UINT start_register, const float *constants, UINT vector4f_count);
2367 HRESULT __cdecl wined3d_device_set_vs_consts_i(struct wined3d_device *device,
2368 UINT start_register, const int *constants, UINT vector4i_count);
2369 void __cdecl wined3d_device_setup_fullscreen_window(struct wined3d_device *device, HWND window, UINT w, UINT h);
2370 BOOL __cdecl wined3d_device_show_cursor(struct wined3d_device *device, BOOL show);
2371 HRESULT __cdecl wined3d_device_uninit_3d(struct wined3d_device *device);
2372 HRESULT __cdecl wined3d_device_uninit_gdi(struct wined3d_device *device);
2373 HRESULT __cdecl wined3d_device_update_surface(struct wined3d_device *device, struct wined3d_surface *src_surface,
2374 const RECT *src_rect, struct wined3d_surface *dst_surface, const POINT *dst_point);
2375 HRESULT __cdecl wined3d_device_update_texture(struct wined3d_device *device,
2376 struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture);
2377 HRESULT __cdecl wined3d_device_validate_device(struct wined3d_device *device, DWORD *num_passes);
2379 HRESULT __cdecl wined3d_palette_create(struct wined3d_device *device, DWORD flags,
2380 const PALETTEENTRY *entries, void *parent, struct wined3d_palette **palette);
2381 ULONG __cdecl wined3d_palette_decref(struct wined3d_palette *palette);
2382 HRESULT __cdecl wined3d_palette_get_entries(const struct wined3d_palette *palette,
2383 DWORD flags, DWORD start, DWORD count, PALETTEENTRY *entries);
2384 DWORD __cdecl wined3d_palette_get_flags(const struct wined3d_palette *palette);
2385 void * __cdecl wined3d_palette_get_parent(const struct wined3d_palette *palette);
2386 ULONG __cdecl wined3d_palette_incref(struct wined3d_palette *palette);
2387 HRESULT __cdecl wined3d_palette_set_entries(struct wined3d_palette *palette,
2388 DWORD flags, DWORD start, DWORD count, const PALETTEENTRY *entries);
2390 HRESULT __cdecl wined3d_query_create(struct wined3d_device *device,
2391 WINED3DQUERYTYPE type, struct wined3d_query **query);
2392 ULONG __cdecl wined3d_query_decref(struct wined3d_query *query);
2393 HRESULT __cdecl wined3d_query_get_data(struct wined3d_query *query, void *data, UINT data_size, DWORD flags);
2394 UINT __cdecl wined3d_query_get_data_size(const struct wined3d_query *query);
2395 WINED3DQUERYTYPE __cdecl wined3d_query_get_type(const struct wined3d_query *query);
2396 ULONG __cdecl wined3d_query_incref(struct wined3d_query *query);
2397 HRESULT __cdecl wined3d_query_issue(struct wined3d_query *query, DWORD flags);
2399 void __cdecl wined3d_resource_get_desc(const struct wined3d_resource *resource,
2400 struct wined3d_resource_desc *desc);
2401 void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resource);
2403 HRESULT __cdecl wined3d_rendertarget_view_create(struct wined3d_resource *resource,
2404 void *parent, struct wined3d_rendertarget_view **rendertarget_view);
2405 ULONG __cdecl wined3d_rendertarget_view_decref(struct wined3d_rendertarget_view *view);
2406 void * __cdecl wined3d_rendertarget_view_get_parent(const struct wined3d_rendertarget_view *view);
2407 struct wined3d_resource * __cdecl wined3d_rendertarget_view_get_resource(const struct wined3d_rendertarget_view *view);
2408 ULONG __cdecl wined3d_rendertarget_view_incref(struct wined3d_rendertarget_view *view);
2410 HRESULT __cdecl wined3d_shader_create_gs(struct wined3d_device *device, const DWORD *byte_code,
2411 const struct wined3d_shader_signature *output_signature, void *parent,
2412 const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2413 HRESULT __cdecl wined3d_shader_create_ps(struct wined3d_device *device, const DWORD *byte_code,
2414 const struct wined3d_shader_signature *output_signature, void *parent,
2415 const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2416 HRESULT __cdecl wined3d_shader_create_vs(struct wined3d_device *device, const DWORD *byte_code,
2417 const struct wined3d_shader_signature *output_signature, void *parent,
2418 const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2419 ULONG __cdecl wined3d_shader_decref(struct wined3d_shader *shader);
2420 HRESULT __cdecl wined3d_shader_get_byte_code(const struct wined3d_shader *shader,
2421 void *byte_code, UINT *byte_code_size);
2422 void * __cdecl wined3d_shader_get_parent(const struct wined3d_shader *shader);
2423 ULONG __cdecl wined3d_shader_incref(struct wined3d_shader *shader);
2424 HRESULT __cdecl wined3d_shader_set_local_constants_float(struct wined3d_shader *shader,
2425 UINT start_idx, const float *src_data, UINT vector4f_count);
2427 HRESULT __cdecl wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock);
2428 HRESULT __cdecl wined3d_stateblock_capture(struct wined3d_stateblock *stateblock);
2429 HRESULT __cdecl wined3d_stateblock_create(struct wined3d_device *device,
2430 WINED3DSTATEBLOCKTYPE type, struct wined3d_stateblock **stateblock);
2431 ULONG __cdecl wined3d_stateblock_decref(struct wined3d_stateblock *stateblock);
2432 ULONG __cdecl wined3d_stateblock_incref(struct wined3d_stateblock *stateblock);
2434 HRESULT __cdecl wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst_rect,
2435 struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
2436 const WINEDDBLTFX *blt_fx, WINED3DTEXTUREFILTERTYPE filter);
2437 HRESULT __cdecl wined3d_surface_bltfast(struct wined3d_surface *dst_surface, DWORD dst_x, DWORD dst_y,
2438 struct wined3d_surface *src_surface, const RECT *src_rect, DWORD trans);
2439 HRESULT __cdecl wined3d_surface_create(struct wined3d_device *device, UINT width, UINT height,
2440 enum wined3d_format_id format_id, BOOL lockable, BOOL discard, UINT level, DWORD usage, WINED3DPOOL pool,
2441 WINED3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality, WINED3DSURFTYPE surface_type,
2442 void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_surface **surface);
2443 ULONG __cdecl wined3d_surface_decref(struct wined3d_surface *surface);
2444 HRESULT __cdecl wined3d_surface_flip(struct wined3d_surface *surface, struct wined3d_surface *override, DWORD flags);
2445 HRESULT __cdecl wined3d_surface_free_private_data(struct wined3d_surface *surface, REFGUID guid);
2446 HRESULT __cdecl wined3d_surface_get_blt_status(const struct wined3d_surface *surface, DWORD flags);
2447 struct wined3d_clipper * __cdecl wined3d_surface_get_clipper(const struct wined3d_surface *surface);
2448 HRESULT __cdecl wined3d_surface_get_flip_status(const struct wined3d_surface *surface, DWORD flags);
2449 HRESULT __cdecl wined3d_surface_get_overlay_position(const struct wined3d_surface *surface, LONG *x, LONG *y);
2450 struct wined3d_palette * __cdecl wined3d_surface_get_palette(const struct wined3d_surface *surface);
2451 void * __cdecl wined3d_surface_get_parent(const struct wined3d_surface *surface);
2452 DWORD __cdecl wined3d_surface_get_pitch(const struct wined3d_surface *surface);
2453 DWORD __cdecl wined3d_surface_get_priority(const struct wined3d_surface *surface);
2454 HRESULT __cdecl wined3d_surface_get_private_data(const struct wined3d_surface *surface,
2455 REFGUID guid, void *data, DWORD *data_size);
2456 struct wined3d_resource * __cdecl wined3d_surface_get_resource(struct wined3d_surface *surface);
2457 HRESULT __cdecl wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc);
2458 ULONG __cdecl wined3d_surface_incref(struct wined3d_surface *surface);
2459 HRESULT __cdecl wined3d_surface_is_lost(const struct wined3d_surface *surface);
2460 HRESULT __cdecl wined3d_surface_map(struct wined3d_surface *surface,
2461 WINED3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags);
2462 void __cdecl wined3d_surface_preload(struct wined3d_surface *surface);
2463 HRESULT __cdecl wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc);
2464 HRESULT __cdecl wined3d_surface_restore(struct wined3d_surface *surface);
2465 HRESULT __cdecl wined3d_surface_set_clipper(struct wined3d_surface *surface, struct wined3d_clipper *clipper);
2466 HRESULT __cdecl wined3d_surface_set_color_key(struct wined3d_surface *surface,
2467 DWORD flags, const WINEDDCOLORKEY *color_key);
2468 HRESULT __cdecl wined3d_surface_set_format(struct wined3d_surface *surface, enum wined3d_format_id format_id);
2469 HRESULT __cdecl wined3d_surface_set_mem(struct wined3d_surface *surface, void *mem);
2470 HRESULT __cdecl wined3d_surface_set_overlay_position(struct wined3d_surface *surface, LONG x, LONG y);
2471 HRESULT __cdecl wined3d_surface_set_palette(struct wined3d_surface *surface, struct wined3d_palette *palette);
2472 DWORD __cdecl wined3d_surface_set_priority(struct wined3d_surface *surface, DWORD new_priority);
2473 HRESULT __cdecl wined3d_surface_set_private_data(struct wined3d_surface *surface,
2474 REFGUID guid, const void *data, DWORD data_size, DWORD flags);
2475 HRESULT __cdecl wined3d_surface_unmap(struct wined3d_surface *surface);
2476 HRESULT __cdecl wined3d_surface_update_overlay(struct wined3d_surface *surface, const RECT *src_rect,
2477 struct wined3d_surface *dst_surface, const RECT *dst_rect, DWORD flags, const WINEDDOVERLAYFX *fx);
2478 HRESULT __cdecl wined3d_surface_update_overlay_z_order(struct wined3d_surface *surface,
2479 DWORD flags, struct wined3d_surface *ref);
2481 HRESULT __cdecl wined3d_swapchain_create(struct wined3d_device *device,
2482 WINED3DPRESENT_PARAMETERS *present_parameters, WINED3DSURFTYPE surface_type, void *parent,
2483 const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain);
2484 ULONG __cdecl wined3d_swapchain_decref(struct wined3d_swapchain *swapchain);
2485 HRESULT __cdecl wined3d_swapchain_get_back_buffer(const struct wined3d_swapchain *swapchain,
2486 UINT backbuffer_idx, WINED3DBACKBUFFER_TYPE backbuffer_type, struct wined3d_surface **backbuffer);
2487 struct wined3d_device * __cdecl wined3d_swapchain_get_device(const struct wined3d_swapchain *swapchain);
2488 HRESULT __cdecl wined3d_swapchain_get_display_mode(const struct wined3d_swapchain *swapchain,
2489 WINED3DDISPLAYMODE *mode);
2490 HRESULT __cdecl wined3d_swapchain_get_front_buffer_data(const struct wined3d_swapchain *swapchain,
2491 struct wined3d_surface *dst_surface);
2492 HRESULT __cdecl wined3d_swapchain_get_gamma_ramp(const struct wined3d_swapchain *swapchain,
2493 WINED3DGAMMARAMP *ramp);
2494 void * __cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain);
2495 HRESULT __cdecl wined3d_swapchain_get_present_parameters(const struct wined3d_swapchain *swapchain,
2496 WINED3DPRESENT_PARAMETERS *present_parameters);
2497 HRESULT __cdecl wined3d_swapchain_get_raster_status(const struct wined3d_swapchain *swapchain,
2498 WINED3DRASTER_STATUS *raster_status);
2499 ULONG __cdecl wined3d_swapchain_incref(struct wined3d_swapchain *swapchain);
2500 HRESULT __cdecl wined3d_swapchain_present(struct wined3d_swapchain *swapchain,
2501 const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
2502 const RGNDATA *dirty_region, DWORD flags);
2503 HRESULT __cdecl wined3d_swapchain_set_gamma_ramp(const struct wined3d_swapchain *swapchain,
2504 DWORD flags, const WINED3DGAMMARAMP *ramp);
2505 HRESULT __cdecl wined3d_swapchain_set_window(struct wined3d_swapchain *swapchain, HWND window);
2507 HRESULT __cdecl wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
2508 UINT layer, const WINED3DBOX *dirty_region);
2509 HRESULT __cdecl wined3d_texture_create_2d(struct wined3d_device *device, UINT width, UINT height,
2510 UINT level_count, DWORD usage, enum wined3d_format_id format_id, WINED3DPOOL pool, void *parent,
2511 const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
2512 HRESULT __cdecl wined3d_texture_create_3d(struct wined3d_device *device, UINT width, UINT height, UINT depth,
2513 UINT level_count, DWORD usage, enum wined3d_format_id format_id, WINED3DPOOL pool, void *parent,
2514 const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
2515 HRESULT __cdecl wined3d_texture_create_cube(struct wined3d_device *device, UINT edge_length,
2516 UINT level_count, DWORD usage, enum wined3d_format_id format_id, WINED3DPOOL pool, void *parent,
2517 const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
2518 ULONG __cdecl wined3d_texture_decref(struct wined3d_texture *texture);
2519 HRESULT __cdecl wined3d_texture_free_private_data(struct wined3d_texture *texture, REFGUID guid);
2520 void __cdecl wined3d_texture_generate_mipmaps(struct wined3d_texture *texture);
2521 WINED3DTEXTUREFILTERTYPE __cdecl wined3d_texture_get_autogen_filter_type(const struct wined3d_texture *texture);
2522 DWORD __cdecl wined3d_texture_get_level_count(const struct wined3d_texture *texture);
2523 DWORD __cdecl wined3d_texture_get_lod(const struct wined3d_texture *texture);
2524 void * __cdecl wined3d_texture_get_parent(const struct wined3d_texture *texture);
2525 DWORD __cdecl wined3d_texture_get_priority(const struct wined3d_texture *texture);
2526 HRESULT __cdecl wined3d_texture_get_private_data(const struct wined3d_texture *texture,
2527 REFGUID guid, void *data, DWORD *data_size);
2528 struct wined3d_resource * __cdecl wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
2529 UINT sub_resource_idx);
2530 WINED3DRESOURCETYPE __cdecl wined3d_texture_get_type(const struct wined3d_texture *texture);
2531 ULONG __cdecl wined3d_texture_incref(struct wined3d_texture *texture);
2532 void __cdecl wined3d_texture_preload(struct wined3d_texture *texture);
2533 HRESULT __cdecl wined3d_texture_set_autogen_filter_type(struct wined3d_texture *texture,
2534 WINED3DTEXTUREFILTERTYPE filter_type);
2535 DWORD __cdecl wined3d_texture_set_lod(struct wined3d_texture *texture, DWORD lod);
2536 DWORD __cdecl wined3d_texture_set_priority(struct wined3d_texture *texture, DWORD priority);
2537 HRESULT __cdecl wined3d_texture_set_private_data(struct wined3d_texture *texture,
2538 REFGUID guid, const void *data, DWORD data_size, DWORD flags);
2540 HRESULT __cdecl wined3d_vertex_declaration_create(struct wined3d_device *device,
2541 const WINED3DVERTEXELEMENT *elements, UINT element_count, void *parent,
2542 const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration);
2543 HRESULT __cdecl wined3d_vertex_declaration_create_from_fvf(struct wined3d_device *device,
2544 DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops,
2545 struct wined3d_vertex_declaration **declaration);
2546 ULONG __cdecl wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration);
2547 void * __cdecl wined3d_vertex_declaration_get_parent(const struct wined3d_vertex_declaration *declaration);
2548 ULONG __cdecl wined3d_vertex_declaration_incref(struct wined3d_vertex_declaration *declaration);
2550 HRESULT __cdecl wined3d_volume_create(struct wined3d_device *device, UINT width, UINT height, UINT depth,
2551 DWORD usage, enum wined3d_format_id format_id, WINED3DPOOL pool, void *parent,
2552 const struct wined3d_parent_ops *parent_ops, struct wined3d_volume **volume);
2553 ULONG __cdecl wined3d_volume_decref(struct wined3d_volume *volume);
2554 HRESULT __cdecl wined3d_volume_free_private_data(struct wined3d_volume *volume, REFGUID guid);
2555 struct wined3d_volume * __cdecl wined3d_volume_from_resource(struct wined3d_resource *resource);
2556 void * __cdecl wined3d_volume_get_parent(const struct wined3d_volume *volume);
2557 DWORD __cdecl wined3d_volume_get_priority(const struct wined3d_volume *volume);
2558 HRESULT __cdecl wined3d_volume_get_private_data(const struct wined3d_volume *volume,
2559 REFGUID guid, void *data, DWORD *data_size);
2560 struct wined3d_resource * __cdecl wined3d_volume_get_resource(struct wined3d_volume *volume);
2561 ULONG __cdecl wined3d_volume_incref(struct wined3d_volume *volume);
2562 HRESULT __cdecl wined3d_volume_map(struct wined3d_volume *volume,
2563 WINED3DLOCKED_BOX *locked_box, const WINED3DBOX *box, DWORD flags);
2564 void __cdecl wined3d_volume_preload(struct wined3d_volume *volume);
2565 DWORD __cdecl wined3d_volume_set_priority(struct wined3d_volume *volume, DWORD new_priority);
2566 HRESULT __cdecl wined3d_volume_set_private_data(struct wined3d_volume *volume,
2567 REFGUID guid, const void *data, DWORD data_size, DWORD flags);
2568 HRESULT __cdecl wined3d_volume_unmap(struct wined3d_volume *volume);