wined3d: Use IDL to generate wined3d.h.
diff --git a/.gitignore b/.gitignore
index 2315e1f..dd81905 100644
--- a/.gitignore
+++ b/.gitignore
@@ -200,6 +200,7 @@
include/vmr9.h
include/wine/itss.h
include/wine/svcctl.h
+include/wine/wined3d.h
include/wtypes.h
include/xmldom.h
include/xmldso.h
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 86adcba..c8051dc 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -33,7 +33,7 @@
#include "wingdi.h"
#include "wine/debug.h"
#include "d3d8.h"
-#include "wine/wined3d_interface.h"
+#include "wine/wined3d.h"
/* Device caps */
#define INITIAL_SHADER_HANDLE_TABLE_SIZE 64
diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h
index 03c4d47..c925cf5 100644
--- a/dlls/d3d9/d3d9_private.h
+++ b/dlls/d3d9/d3d9_private.h
@@ -36,7 +36,7 @@
#include "wine/unicode.h"
#include "d3d9.h"
-#include "wine/wined3d_interface.h"
+#include "wine/wined3d.h"
/* ===========================================================================
Internal use
diff --git a/dlls/ddraw/clipper.c b/dlls/ddraw/clipper.c
index e3bbfb9..b43ca0e 100644
--- a/dlls/ddraw/clipper.c
+++ b/dlls/ddraw/clipper.c
@@ -25,6 +25,8 @@
#include <stdlib.h>
#include <string.h>
+#define COBJMACROS
+
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index cd1ce15..7a5eadb 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -35,7 +35,7 @@
#include "ddcomimpl.h"
-#include "wine/wined3d_interface.h"
+#include "wine/wined3d.h"
#include "wine/list.h"
/*****************************************************************************
diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h
index 95cfe58..1e8ca51 100644
--- a/dlls/dxgi/dxgi_private.h
+++ b/dlls/dxgi/dxgi_private.h
@@ -28,7 +28,7 @@
#include "objbase.h"
#include "dxgi.h"
-#include "wine/wined3d_interface.h"
+#include "wine/wined3d.h"
#ifdef DXGI_INIT_GUID
#include "initguid.h"
#endif
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index cb3a26d..dbbdf4f 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -37,9 +37,9 @@
#include "wine/debug.h"
#include "wine/unicode.h"
+#include "objbase.h"
#include "wined3d_private_types.h"
-#include "wine/wined3d_interface.h"
-#include "wine/wined3d_caps.h"
+#include "wine/wined3d.h"
#include "wined3d_gl.h"
#include "wine/list.h"
diff --git a/include/Makefile.in b/include/Makefile.in
index 8d229bb..3254080 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -4,7 +4,10 @@
VPATH = @srcdir@
MODULE = none
-IDL_H_SRCS = \
+PRIVATE_IDL_H_SRCS = \
+ wine/wined3d.idl
+
+PUBLIC_IDL_H_SRCS = \
activaut.idl \
activdbg.idl \
activscp.idl \
@@ -80,7 +83,7 @@
SRCDIR_INCLUDES = \
$(IDL_TLB_SRCS) \
- $(IDL_H_SRCS) \
+ $(PUBLIC_IDL_H_SRCS) \
accctrl.h \
aclapi.h \
adshlp.h \
@@ -475,11 +478,13 @@
$(DESTDIR)$(includedir)/msvcrt \
$(DESTDIR)$(includedir)
+IDL_H_SRCS = $(PUBLIC_IDL_H_SRCS) $(PRIVATE_IDL_H_SRCS)
+
@MAKE_RULES@
-OBJDIR_INCLUDES = $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
+OBJDIR_INCLUDES = $(PUBLIC_IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
-all: $(OBJDIR_INCLUDES)
+all: $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
install install-dev:: $(OBJDIR_INCLUDES) $(INSTALLDIRS)
for f in $(SRCDIR_INCLUDES); do case $$f in \
diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl
new file mode 100644
index 0000000..3116a5e
--- /dev/null
+++ b/include/wine/wined3d.idl
@@ -0,0 +1,3429 @@
+/*
+ * Copyright 2002-2003 The wine-d3d team
+ * Copyright 2002-2003 Jason Edmeades
+ * Copyright 2002-2003 Raphael Junqueira
+ * Copyright 2005 Oliver Stieber
+ * Copyright 2006 Stefan Dösinger
+ * Copyright 2006 Stefan Dösinger for CodeWeavers
+ * Copyright 2007 Henri Verbeet
+ * Copyright 2008 Henri Verbeet for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+
+cpp_quote("#if 0")
+typedef HANDLE HMONITOR;
+
+typedef struct _RGNDATAHEADER
+{
+ DWORD dwSize;
+ DWORD iType;
+ DWORD nCount;
+ DWORD nRgnSize;
+ RECT rcBound;
+} RGNDATAHEADER;
+
+typedef struct _RGNDATA
+{
+ RGNDATAHEADER rdh;
+ char Buffer[1];
+} RGNDATA;
+cpp_quote("#endif")
+
+cpp_quote("#define WINED3D_OK S_OK")
+
+const UINT _FACWINED3D = 0x876;
+cpp_quote("#define MAKE_WINED3DSTATUS(code) MAKE_HRESULT(0, _FACWINED3D, code)")
+cpp_quote("#define WINED3DOK_NOAUTOGEN MAKE_WINED3DSTATUS(2159)")
+
+cpp_quote("#define MAKE_WINED3DHRESULT(code) MAKE_HRESULT(1, _FACWINED3D, code)")
+cpp_quote("#define WINED3DERR_WRONGTEXTUREFORMAT MAKE_WINED3DHRESULT(2072)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLOROPERATION MAKE_WINED3DHRESULT(2073)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDCOLORARG MAKE_WINED3DHRESULT(2074)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAOPERATION MAKE_WINED3DHRESULT(2075)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDALPHAARG MAKE_WINED3DHRESULT(2076)")
+cpp_quote("#define WINED3DERR_TOOMANYOPERATIONS MAKE_WINED3DHRESULT(2077)")
+cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREFILTER MAKE_WINED3DHRESULT(2078)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDFACTORVALUE MAKE_WINED3DHRESULT(2079)")
+cpp_quote("#define WINED3DERR_CONFLICTINGRENDERSTATE MAKE_WINED3DHRESULT(2081)")
+cpp_quote("#define WINED3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_WINED3DHRESULT(2082)")
+cpp_quote("#define WINED3DERR_CONFLICTINGTEXTUREPALETTE MAKE_WINED3DHRESULT(2086)")
+cpp_quote("#define WINED3DERR_DRIVERINTERNALERROR MAKE_WINED3DHRESULT(2087)")
+cpp_quote("#define WINED3DERR_NOTFOUND MAKE_WINED3DHRESULT(2150)")
+cpp_quote("#define WINED3DERR_MOREDATA MAKE_WINED3DHRESULT(2151)")
+cpp_quote("#define WINED3DERR_DEVICELOST MAKE_WINED3DHRESULT(2152)")
+cpp_quote("#define WINED3DERR_DEVICENOTRESET MAKE_WINED3DHRESULT(2153)")
+cpp_quote("#define WINED3DERR_NOTAVAILABLE MAKE_WINED3DHRESULT(2154)")
+cpp_quote("#define WINED3DERR_OUTOFVIDEOMEMORY MAKE_WINED3DHRESULT(380)")
+cpp_quote("#define WINED3DERR_INVALIDDEVICE MAKE_WINED3DHRESULT(2155)")
+cpp_quote("#define WINED3DERR_INVALIDCALL MAKE_WINED3DHRESULT(2156)")
+cpp_quote("#define WINED3DERR_DRIVERINVALIDCALL MAKE_WINED3DHRESULT(2157)")
+cpp_quote("#define WINED3DERR_WASSTILLDRAWING MAKE_WINED3DHRESULT(540)")
+cpp_quote("#define WINEDDERR_NOTAOVERLAYSURFACE MAKE_WINED3DHRESULT(580)")
+cpp_quote("#define WINEDDERR_NODC MAKE_WINED3DHRESULT(586)")
+cpp_quote("#define WINEDDERR_DCALREADYCREATED MAKE_WINED3DHRESULT(620)")
+cpp_quote("#define WINEDDERR_NOTFLIPPABLE MAKE_WINED3DHRESULT(582)")
+cpp_quote("#define WINEDDERR_SURFACEBUSY MAKE_WINED3DHRESULT(430)")
+cpp_quote("#define WINEDDERR_INVALIDRECT MAKE_WINED3DHRESULT(150)")
+cpp_quote("#define WINEDDERR_NOCLIPLIST MAKE_WINED3DHRESULT(205)")
+cpp_quote("#define WINEDDERR_OVERLAYNOTVISIBLE MAKE_WINED3DHRESULT(577)")
+
+typedef DWORD WINED3DCOLOR;
+
+typedef enum _WINED3DLIGHTTYPE
+{
+ WINED3DLIGHT_POINT = 1,
+ WINED3DLIGHT_SPOT = 2,
+ WINED3DLIGHT_DIRECTIONAL = 3,
+ WINED3DLIGHT_PARALLELPOINT = 4, /* D3D7 */
+ WINED3DLIGHT_GLSPOT = 5, /* D3D7 */
+ WINED3DLIGHT_FORCE_DWORD = 0x7fffffff
+} WINED3DLIGHTTYPE;
+
+typedef enum _WINED3DPRIMITIVETYPE
+{
+ WINED3DPT_POINTLIST = 1,
+ WINED3DPT_LINELIST = 2,
+ WINED3DPT_LINESTRIP = 3,
+ WINED3DPT_TRIANGLELIST = 4,
+ WINED3DPT_TRIANGLESTRIP = 5,
+ WINED3DPT_TRIANGLEFAN = 6,
+ WINED3DPT_FORCE_DWORD = 0x7fffffff
+} WINED3DPRIMITIVETYPE;
+
+typedef enum _WINED3DDEVTYPE
+{
+ WINED3DDEVTYPE_HAL = 1,
+ WINED3DDEVTYPE_REF = 2,
+ WINED3DDEVTYPE_SW = 3,
+ WINED3DDEVTYPE_NULLREF = 4,
+ WINED3DDEVTYPE_FORCE_DWORD = 0xffffffff
+} WINED3DDEVTYPE;
+
+typedef enum _WINED3DDEGREETYPE
+{
+ WINED3DDEGREE_LINEAR = 1,
+ WINED3DDEGREE_QUADRATIC = 2,
+ WINED3DDEGREE_CUBIC = 3,
+ WINED3DDEGREE_QUINTIC = 5,
+ WINED3DDEGREE_FORCE_DWORD = 0x7fffffff
+} WINED3DDEGREETYPE;
+
+typedef enum _WINED3DFORMAT
+{
+ WINED3DFMT_UNKNOWN = 0,
+ WINED3DFMT_R8G8B8 = 20,
+ WINED3DFMT_A8R8G8B8 = 21,
+ WINED3DFMT_X8R8G8B8 = 22,
+ WINED3DFMT_R5G6B5 = 23,
+ WINED3DFMT_X1R5G5B5 = 24,
+ WINED3DFMT_A1R5G5B5 = 25,
+ WINED3DFMT_A4R4G4B4 = 26,
+ WINED3DFMT_R3G3B2 = 27,
+ WINED3DFMT_A8 = 28,
+ WINED3DFMT_A8R3G3B2 = 29,
+ WINED3DFMT_X4R4G4B4 = 30,
+ WINED3DFMT_A2B10G10R10 = 31,
+ WINED3DFMT_A8B8G8R8 = 32,
+ WINED3DFMT_X8B8G8R8 = 33,
+ WINED3DFMT_G16R16 = 34,
+ WINED3DFMT_A2R10G10B10 = 35,
+ WINED3DFMT_A16B16G16R16 = 36,
+ WINED3DFMT_A8P8 = 40,
+ WINED3DFMT_P8 = 41,
+ WINED3DFMT_L8 = 50,
+ WINED3DFMT_A8L8 = 51,
+ WINED3DFMT_A4L4 = 52,
+ WINED3DFMT_V8U8 = 60,
+ WINED3DFMT_L6V5U5 = 61,
+ WINED3DFMT_X8L8V8U8 = 62,
+ WINED3DFMT_Q8W8V8U8 = 63,
+ WINED3DFMT_V16U16 = 64,
+ WINED3DFMT_W11V11U10 = 65,
+ WINED3DFMT_A2W10V10U10 = 67,
+ WINED3DFMT_D16_LOCKABLE = 70,
+ WINED3DFMT_D32 = 71,
+ WINED3DFMT_D15S1 = 73,
+ WINED3DFMT_D24S8 = 75,
+ WINED3DFMT_D24X8 = 77,
+ WINED3DFMT_D24X4S4 = 79,
+ WINED3DFMT_D16 = 80,
+ WINED3DFMT_L16 = 81,
+ WINED3DFMT_D32F_LOCKABLE = 82,
+ WINED3DFMT_D24FS8 = 83,
+ WINED3DFMT_VERTEXDATA = 100,
+ WINED3DFMT_INDEX16 = 101,
+ WINED3DFMT_INDEX32 = 102,
+ WINED3DFMT_Q16W16V16U16 = 110,
+ WINED3DFMT_R16F = 111,
+ WINED3DFMT_G16R16F = 112,
+ WINED3DFMT_A16B16G16R16F = 113,
+ WINED3DFMT_R32F = 114,
+ WINED3DFMT_G32R32F = 115,
+ WINED3DFMT_A32B32G32R32F = 116,
+ WINED3DFMT_CxV8U8 = 117,
+ WINED3DFMT_FORCE_DWORD = 0xffffffff
+} WINED3DFORMAT;
+cpp_quote("#define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \\")
+cpp_quote(" ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \\")
+cpp_quote(" ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))")
+cpp_quote("#define WINED3DFMT_UYVY WINEMAKEFOURCC('U', 'Y', 'V', 'Y')")
+cpp_quote("#define WINED3DFMT_YUY2 WINEMAKEFOURCC('Y', 'U', 'Y', '2')")
+cpp_quote("#define WINED3DFMT_YV12 WINEMAKEFOURCC('Y', 'V', '1', '2')")
+cpp_quote("#define WINED3DFMT_DXT1 WINEMAKEFOURCC('D', 'X', 'T', '1')")
+cpp_quote("#define WINED3DFMT_DXT2 WINEMAKEFOURCC('D', 'X', 'T', '2')")
+cpp_quote("#define WINED3DFMT_DXT3 WINEMAKEFOURCC('D', 'X', 'T', '3')")
+cpp_quote("#define WINED3DFMT_DXT4 WINEMAKEFOURCC('D', 'X', 'T', '4')")
+cpp_quote("#define WINED3DFMT_DXT5 WINEMAKEFOURCC('D', 'X', 'T', '5')")
+cpp_quote("#define WINED3DFMT_MULTI2_ARGB8 WINEMAKEFOURCC('M', 'E', 'T', '1')")
+cpp_quote("#define WINED3DFMT_G8R8_G8B8 WINEMAKEFOURCC('G', 'R', 'G', 'B')")
+cpp_quote("#define WINED3DFMT_R8G8_B8G8 WINEMAKEFOURCC('R', 'G', 'B', 'G')")
+/* Vendor specific formats */
+cpp_quote("#define WINED3DFMT_ATI2N WINEMAKEFOURCC('A', 'T', 'I', '2')")
+cpp_quote("#define WINED3DFMT_NVHU WINEMAKEFOURCC('N', 'V', 'H', 'U')")
+cpp_quote("#define WINED3DFMT_NVHS WINEMAKEFOURCC('N', 'V', 'H', 'S')")
+
+typedef enum _WINED3DRENDERSTATETYPE
+{
+ WINED3DRS_TEXTUREHANDLE = 1, /* d3d7 */
+ WINED3DRS_ANTIALIAS = 2, /* d3d7 */
+ WINED3DRS_TEXTUREADDRESS = 3, /* d3d7 */
+ WINED3DRS_TEXTUREPERSPECTIVE = 4, /* d3d7 */
+ WINED3DRS_WRAPU = 5, /* d3d7 */
+ WINED3DRS_WRAPV = 6, /* d3d7 */
+ WINED3DRS_ZENABLE = 7,
+ WINED3DRS_FILLMODE = 8,
+ WINED3DRS_SHADEMODE = 9,
+ WINED3DRS_LINEPATTERN = 10, /* d3d7, d3d8 */
+ WINED3DRS_MONOENABLE = 11, /* d3d7 */
+ WINED3DRS_ROP2 = 12, /* d3d7 */
+ WINED3DRS_PLANEMASK = 13, /* d3d7 */
+ WINED3DRS_ZWRITEENABLE = 14,
+ WINED3DRS_ALPHATESTENABLE = 15,
+ WINED3DRS_LASTPIXEL = 16,
+ WINED3DRS_TEXTUREMAG = 17, /* d3d7 */
+ WINED3DRS_TEXTUREMIN = 18, /* d3d7 */
+ WINED3DRS_SRCBLEND = 19,
+ WINED3DRS_DESTBLEND = 20,
+ WINED3DRS_TEXTUREMAPBLEND = 21, /* d3d7 */
+ WINED3DRS_CULLMODE = 22,
+ WINED3DRS_ZFUNC = 23,
+ WINED3DRS_ALPHAREF = 24,
+ WINED3DRS_ALPHAFUNC = 25,
+ WINED3DRS_DITHERENABLE = 26,
+ WINED3DRS_ALPHABLENDENABLE = 27,
+ WINED3DRS_FOGENABLE = 28,
+ WINED3DRS_SPECULARENABLE = 29,
+ WINED3DRS_ZVISIBLE = 30, /* d3d7, d3d8 */
+ WINED3DRS_SUBPIXEL = 31, /* d3d7 */
+ WINED3DRS_SUBPIXELX = 32, /* d3d7 */
+ WINED3DRS_STIPPLEDALPHA = 33, /* d3d7 */
+ WINED3DRS_FOGCOLOR = 34,
+ WINED3DRS_FOGTABLEMODE = 35,
+ WINED3DRS_FOGSTART = 36,
+ WINED3DRS_FOGEND = 37,
+ WINED3DRS_FOGDENSITY = 38,
+ WINED3DRS_STIPPLEENABLE = 39, /* d3d7 */
+ WINED3DRS_EDGEANTIALIAS = 40, /* d3d7, d3d8 */
+ WINED3DRS_COLORKEYENABLE = 41, /* d3d7 */
+ WINED3DRS_BORDERCOLOR = 43, /* d3d7 */
+ WINED3DRS_TEXTUREADDRESSU = 44, /* d3d7 */
+ WINED3DRS_TEXTUREADDRESSV = 45, /* d3d7 */
+ WINED3DRS_MIPMAPLODBIAS = 46, /* d3d7 */
+ WINED3DRS_ZBIAS = 47, /* d3d7, d3d8 */
+ WINED3DRS_RANGEFOGENABLE = 48,
+ WINED3DRS_ANISOTROPY = 49, /* d3d7 */
+ WINED3DRS_FLUSHBATCH = 50, /* d3d7 */
+ WINED3DRS_TRANSLUCENTSORTINDEPENDENT = 51, /* d3d7 */
+ WINED3DRS_STENCILENABLE = 52,
+ WINED3DRS_STENCILFAIL = 53,
+ WINED3DRS_STENCILZFAIL = 54,
+ WINED3DRS_STENCILPASS = 55,
+ WINED3DRS_STENCILFUNC = 56,
+ WINED3DRS_STENCILREF = 57,
+ WINED3DRS_STENCILMASK = 58,
+ WINED3DRS_STENCILWRITEMASK = 59,
+ WINED3DRS_TEXTUREFACTOR = 60,
+ WINED3DRS_STIPPLEPATTERN00 = 64,
+ WINED3DRS_STIPPLEPATTERN01 = 65,
+ WINED3DRS_STIPPLEPATTERN02 = 66,
+ WINED3DRS_STIPPLEPATTERN03 = 67,
+ WINED3DRS_STIPPLEPATTERN04 = 68,
+ WINED3DRS_STIPPLEPATTERN05 = 69,
+ WINED3DRS_STIPPLEPATTERN06 = 70,
+ WINED3DRS_STIPPLEPATTERN07 = 71,
+ WINED3DRS_STIPPLEPATTERN08 = 72,
+ WINED3DRS_STIPPLEPATTERN09 = 73,
+ WINED3DRS_STIPPLEPATTERN10 = 74,
+ WINED3DRS_STIPPLEPATTERN11 = 75,
+ WINED3DRS_STIPPLEPATTERN12 = 76,
+ WINED3DRS_STIPPLEPATTERN13 = 77,
+ WINED3DRS_STIPPLEPATTERN14 = 78,
+ WINED3DRS_STIPPLEPATTERN15 = 79,
+ WINED3DRS_STIPPLEPATTERN16 = 80,
+ WINED3DRS_STIPPLEPATTERN17 = 81,
+ WINED3DRS_STIPPLEPATTERN18 = 82,
+ WINED3DRS_STIPPLEPATTERN19 = 83,
+ WINED3DRS_STIPPLEPATTERN20 = 84,
+ WINED3DRS_STIPPLEPATTERN21 = 85,
+ WINED3DRS_STIPPLEPATTERN22 = 86,
+ WINED3DRS_STIPPLEPATTERN23 = 87,
+ WINED3DRS_STIPPLEPATTERN24 = 88,
+ WINED3DRS_STIPPLEPATTERN25 = 89,
+ WINED3DRS_STIPPLEPATTERN26 = 90,
+ WINED3DRS_STIPPLEPATTERN27 = 91,
+ WINED3DRS_STIPPLEPATTERN28 = 92,
+ WINED3DRS_STIPPLEPATTERN29 = 93,
+ WINED3DRS_STIPPLEPATTERN30 = 94,
+ WINED3DRS_STIPPLEPATTERN31 = 95,
+ WINED3DRS_WRAP0 = 128,
+ WINED3DRS_WRAP1 = 129,
+ WINED3DRS_WRAP2 = 130,
+ WINED3DRS_WRAP3 = 131,
+ WINED3DRS_WRAP4 = 132,
+ WINED3DRS_WRAP5 = 133,
+ WINED3DRS_WRAP6 = 134,
+ WINED3DRS_WRAP7 = 135,
+ WINED3DRS_CLIPPING = 136,
+ WINED3DRS_LIGHTING = 137,
+ WINED3DRS_EXTENTS = 138, /* d3d7 */
+ WINED3DRS_AMBIENT = 139,
+ WINED3DRS_FOGVERTEXMODE = 140,
+ WINED3DRS_COLORVERTEX = 141,
+ WINED3DRS_LOCALVIEWER = 142,
+ WINED3DRS_NORMALIZENORMALS = 143,
+ WINED3DRS_COLORKEYBLENDENABLE = 144, /* d3d7 */
+ WINED3DRS_DIFFUSEMATERIALSOURCE = 145,
+ WINED3DRS_SPECULARMATERIALSOURCE = 146,
+ WINED3DRS_AMBIENTMATERIALSOURCE = 147,
+ WINED3DRS_EMISSIVEMATERIALSOURCE = 148,
+ WINED3DRS_VERTEXBLEND = 151,
+ WINED3DRS_CLIPPLANEENABLE = 152,
+ WINED3DRS_SOFTWAREVERTEXPROCESSING = 153, /* d3d8 */
+ WINED3DRS_POINTSIZE = 154,
+ WINED3DRS_POINTSIZE_MIN = 155,
+ WINED3DRS_POINTSPRITEENABLE = 156,
+ WINED3DRS_POINTSCALEENABLE = 157,
+ WINED3DRS_POINTSCALE_A = 158,
+ WINED3DRS_POINTSCALE_B = 159,
+ WINED3DRS_POINTSCALE_C = 160,
+ WINED3DRS_MULTISAMPLEANTIALIAS = 161,
+ WINED3DRS_MULTISAMPLEMASK = 162,
+ WINED3DRS_PATCHEDGESTYLE = 163,
+ WINED3DRS_PATCHSEGMENTS = 164, /* d3d8 */
+ WINED3DRS_DEBUGMONITORTOKEN = 165,
+ WINED3DRS_POINTSIZE_MAX = 166,
+ WINED3DRS_INDEXEDVERTEXBLENDENABLE = 167,
+ WINED3DRS_COLORWRITEENABLE = 168,
+ WINED3DRS_TWEENFACTOR = 170,
+ WINED3DRS_BLENDOP = 171,
+ WINED3DRS_POSITIONORDER = 172,
+ WINED3DRS_NORMALORDER = 173,
+ WINED3DRS_POSITIONDEGREE = 172,
+ WINED3DRS_NORMALDEGREE = 173,
+ WINED3DRS_SCISSORTESTENABLE = 174,
+ WINED3DRS_SLOPESCALEDEPTHBIAS = 175,
+ WINED3DRS_ANTIALIASEDLINEENABLE = 176,
+ WINED3DRS_MINTESSELLATIONLEVEL = 178,
+ WINED3DRS_MAXTESSELLATIONLEVEL = 179,
+ WINED3DRS_ADAPTIVETESS_X = 180,
+ WINED3DRS_ADAPTIVETESS_Y = 181,
+ WINED3DRS_ADAPTIVETESS_Z = 182,
+ WINED3DRS_ADAPTIVETESS_W = 183,
+ WINED3DRS_ENABLEADAPTIVETESSELLATION = 184,
+ WINED3DRS_TWOSIDEDSTENCILMODE = 185,
+ WINED3DRS_CCW_STENCILFAIL = 186,
+ WINED3DRS_CCW_STENCILZFAIL = 187,
+ WINED3DRS_CCW_STENCILPASS = 188,
+ WINED3DRS_CCW_STENCILFUNC = 189,
+ WINED3DRS_COLORWRITEENABLE1 = 190,
+ WINED3DRS_COLORWRITEENABLE2 = 191,
+ WINED3DRS_COLORWRITEENABLE3 = 192,
+ WINED3DRS_BLENDFACTOR = 193,
+ WINED3DRS_SRGBWRITEENABLE = 194,
+ WINED3DRS_DEPTHBIAS = 195,
+ WINED3DRS_WRAP8 = 198,
+ WINED3DRS_WRAP9 = 199,
+ WINED3DRS_WRAP10 = 200,
+ WINED3DRS_WRAP11 = 201,
+ WINED3DRS_WRAP12 = 202,
+ WINED3DRS_WRAP13 = 203,
+ WINED3DRS_WRAP14 = 204,
+ WINED3DRS_WRAP15 = 205,
+ WINED3DRS_SEPARATEALPHABLENDENABLE = 206,
+ WINED3DRS_SRCBLENDALPHA = 207,
+ WINED3DRS_DESTBLENDALPHA = 208,
+ WINED3DRS_BLENDOPALPHA = 209,
+ WINED3DRS_FORCE_DWORD = 0x7fffffff
+} WINED3DRENDERSTATETYPE;
+const UINT WINEHIGHEST_RENDER_STATE = WINED3DRS_BLENDOPALPHA;
+
+typedef enum _WINED3DBLEND
+{
+ WINED3DBLEND_ZERO = 1,
+ WINED3DBLEND_ONE = 2,
+ WINED3DBLEND_SRCCOLOR = 3,
+ WINED3DBLEND_INVSRCCOLOR = 4,
+ WINED3DBLEND_SRCALPHA = 5,
+ WINED3DBLEND_INVSRCALPHA = 6,
+ WINED3DBLEND_DESTALPHA = 7,
+ WINED3DBLEND_INVDESTALPHA = 8,
+ WINED3DBLEND_DESTCOLOR = 9,
+ WINED3DBLEND_INVDESTCOLOR = 10,
+ WINED3DBLEND_SRCALPHASAT = 11,
+ WINED3DBLEND_BOTHSRCALPHA = 12,
+ WINED3DBLEND_BOTHINVSRCALPHA = 13,
+ WINED3DBLEND_BLENDFACTOR = 14,
+ WINED3DBLEND_INVBLENDFACTOR = 15,
+ WINED3DBLEND_FORCE_DWORD = 0x7fffffff
+} WINED3DBLEND;
+
+typedef enum _WINED3DBLENDOP
+{
+ WINED3DBLENDOP_ADD = 1,
+ WINED3DBLENDOP_SUBTRACT = 2,
+ WINED3DBLENDOP_REVSUBTRACT = 3,
+ WINED3DBLENDOP_MIN = 4,
+ WINED3DBLENDOP_MAX = 5,
+ WINED3DBLENDOP_FORCE_DWORD = 0x7fffffff
+} WINED3DBLENDOP;
+
+typedef enum _WINED3DVERTEXBLENDFLAGS
+{
+ WINED3DVBF_DISABLE = 0,
+ WINED3DVBF_1WEIGHTS = 1,
+ WINED3DVBF_2WEIGHTS = 2,
+ WINED3DVBF_3WEIGHTS = 3,
+ WINED3DVBF_TWEENING = 255,
+ WINED3DVBF_0WEIGHTS = 256
+} WINED3DVERTEXBLENDFLAGS;
+
+typedef enum _WINED3DCMPFUNC
+{
+ WINED3DCMP_NEVER = 1,
+ WINED3DCMP_LESS = 2,
+ WINED3DCMP_EQUAL = 3,
+ WINED3DCMP_LESSEQUAL = 4,
+ WINED3DCMP_GREATER = 5,
+ WINED3DCMP_NOTEQUAL = 6,
+ WINED3DCMP_GREATEREQUAL = 7,
+ WINED3DCMP_ALWAYS = 8,
+ WINED3DCMP_FORCE_DWORD = 0x7fffffff
+} WINED3DCMPFUNC;
+
+typedef enum _WINED3DZBUFFERTYPE
+{
+ WINED3DZB_FALSE = 0,
+ WINED3DZB_TRUE = 1,
+ WINED3DZB_USEW = 2,
+ WINED3DZB_FORCE_DWORD = 0x7fffffff
+} WINED3DZBUFFERTYPE;
+
+typedef enum _WINED3DFOGMODE
+{
+ WINED3DFOG_NONE = 0,
+ WINED3DFOG_EXP = 1,
+ WINED3DFOG_EXP2 = 2,
+ WINED3DFOG_LINEAR = 3,
+ WINED3DFOG_FORCE_DWORD = 0x7fffffff
+} WINED3DFOGMODE;
+
+typedef enum _WINED3DSHADEMODE
+{
+ WINED3DSHADE_FLAT = 1,
+ WINED3DSHADE_GOURAUD = 2,
+ WINED3DSHADE_PHONG = 3,
+ WINED3DSHADE_FORCE_DWORD = 0x7fffffff
+} WINED3DSHADEMODE;
+
+typedef enum _WINED3DFILLMODE
+{
+ WINED3DFILL_POINT = 1,
+ WINED3DFILL_WIREFRAME = 2,
+ WINED3DFILL_SOLID = 3,
+ WINED3DFILL_FORCE_DWORD = 0x7fffffff
+} WINED3DFILLMODE;
+
+typedef enum _WINED3DCULL
+{
+ WINED3DCULL_NONE = 1,
+ WINED3DCULL_CW = 2,
+ WINED3DCULL_CCW = 3,
+ WINED3DCULL_FORCE_DWORD = 0x7fffffff
+} WINED3DCULL;
+
+typedef enum _WINED3DSTENCILOP
+{
+ WINED3DSTENCILOP_KEEP = 1,
+ WINED3DSTENCILOP_ZERO = 2,
+ WINED3DSTENCILOP_REPLACE = 3,
+ WINED3DSTENCILOP_INCRSAT = 4,
+ WINED3DSTENCILOP_DECRSAT = 5,
+ WINED3DSTENCILOP_INVERT = 6,
+ WINED3DSTENCILOP_INCR = 7,
+ WINED3DSTENCILOP_DECR = 8,
+ WINED3DSTENCILOP_FORCE_DWORD = 0x7fffffff
+} WINED3DSTENCILOP;
+
+typedef enum _WINED3DMATERIALCOLORSOURCE
+{
+ WINED3DMCS_MATERIAL = 0,
+ WINED3DMCS_COLOR1 = 1,
+ WINED3DMCS_COLOR2 = 2,
+ WINED3DMCS_FORCE_DWORD = 0x7fffffff
+} WINED3DMATERIALCOLORSOURCE;
+
+typedef enum _WINED3DPATCHEDGESTYLE
+{
+ WINED3DPATCHEDGE_DISCRETE = 0,
+ WINED3DPATCHEDGE_CONTINUOUS = 1,
+ WINED3DPATCHEDGE_FORCE_DWORD = 0x7fffffff
+} WINED3DPATCHEDGESTYLE;
+
+typedef enum _WINED3DBACKBUFFER_TYPE
+{
+ WINED3DBACKBUFFER_TYPE_MONO = 0,
+ WINED3DBACKBUFFER_TYPE_LEFT = 1,
+ WINED3DBACKBUFFER_TYPE_RIGHT = 2,
+ WINED3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
+} WINED3DBACKBUFFER_TYPE;
+
+typedef enum _WINED3DSWAPEFFECT
+{
+ WINED3DSWAPEFFECT_DISCARD = 1,
+ WINED3DSWAPEFFECT_FLIP = 2,
+ WINED3DSWAPEFFECT_COPY = 3,
+ WINED3DSWAPEFFECT_COPY_VSYNC = 4,
+ WINED3DSWAPEFFECT_FORCE_DWORD = 0xffffffff
+} WINED3DSWAPEFFECT;
+
+typedef enum _WINED3DSAMPLERSTATETYPE
+{
+ WINED3DSAMP_ADDRESSU = 1,
+ WINED3DSAMP_ADDRESSV = 2,
+ WINED3DSAMP_ADDRESSW = 3,
+ WINED3DSAMP_BORDERCOLOR = 4,
+ WINED3DSAMP_MAGFILTER = 5,
+ WINED3DSAMP_MINFILTER = 6,
+ WINED3DSAMP_MIPFILTER = 7,
+ WINED3DSAMP_MIPMAPLODBIAS = 8,
+ WINED3DSAMP_MAXMIPLEVEL = 9,
+ WINED3DSAMP_MAXANISOTROPY = 10,
+ WINED3DSAMP_SRGBTEXTURE = 11,
+ WINED3DSAMP_ELEMENTINDEX = 12,
+ WINED3DSAMP_DMAPOFFSET = 13,
+ WINED3DSAMP_FORCE_DWORD = 0x7fffffff,
+} WINED3DSAMPLERSTATETYPE;
+const UINT WINED3D_HIGHEST_SAMPLER_STATE = WINED3DSAMP_DMAPOFFSET;
+
+typedef enum _WINED3DMULTISAMPLE_TYPE
+{
+ WINED3DMULTISAMPLE_NONE = 0,
+ WINED3DMULTISAMPLE_NONMASKABLE = 1,
+ WINED3DMULTISAMPLE_2_SAMPLES = 2,
+ WINED3DMULTISAMPLE_3_SAMPLES = 3,
+ WINED3DMULTISAMPLE_4_SAMPLES = 4,
+ WINED3DMULTISAMPLE_5_SAMPLES = 5,
+ WINED3DMULTISAMPLE_6_SAMPLES = 6,
+ WINED3DMULTISAMPLE_7_SAMPLES = 7,
+ WINED3DMULTISAMPLE_8_SAMPLES = 8,
+ WINED3DMULTISAMPLE_9_SAMPLES = 9,
+ WINED3DMULTISAMPLE_10_SAMPLES = 10,
+ WINED3DMULTISAMPLE_11_SAMPLES = 11,
+ WINED3DMULTISAMPLE_12_SAMPLES = 12,
+ WINED3DMULTISAMPLE_13_SAMPLES = 13,
+ WINED3DMULTISAMPLE_14_SAMPLES = 14,
+ WINED3DMULTISAMPLE_15_SAMPLES = 15,
+ WINED3DMULTISAMPLE_16_SAMPLES = 16,
+ WINED3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
+} WINED3DMULTISAMPLE_TYPE;
+
+typedef enum _WINED3DTEXTURESTAGESTATETYPE
+{
+ WINED3DTSS_COLOROP = 1,
+ WINED3DTSS_COLORARG1 = 2,
+ WINED3DTSS_COLORARG2 = 3,
+ WINED3DTSS_ALPHAOP = 4,
+ WINED3DTSS_ALPHAARG1 = 5,
+ WINED3DTSS_ALPHAARG2 = 6,
+ WINED3DTSS_BUMPENVMAT00 = 7,
+ WINED3DTSS_BUMPENVMAT01 = 8,
+ WINED3DTSS_BUMPENVMAT10 = 9,
+ WINED3DTSS_BUMPENVMAT11 = 10,
+ WINED3DTSS_TEXCOORDINDEX = 11,
+ WINED3DTSS_ADDRESS = 12,
+ WINED3DTSS_ADDRESSU = 13,
+ WINED3DTSS_ADDRESSV = 14,
+ WINED3DTSS_BORDERCOLOR = 15,
+ WINED3DTSS_MAGFILTER = 16,
+ WINED3DTSS_MINFILTER = 17,
+ WINED3DTSS_MIPFILTER = 18,
+ WINED3DTSS_MIPMAPLODBIAS = 19,
+ WINED3DTSS_MAXMIPLEVEL = 20,
+ WINED3DTSS_MAXANISOTROPY = 21,
+ WINED3DTSS_BUMPENVLSCALE = 22,
+ WINED3DTSS_BUMPENVLOFFSET = 23,
+ WINED3DTSS_TEXTURETRANSFORMFLAGS = 24,
+ WINED3DTSS_ADDRESSW = 25,
+ WINED3DTSS_COLORARG0 = 26,
+ WINED3DTSS_ALPHAARG0 = 27,
+ WINED3DTSS_RESULTARG = 28,
+ WINED3DTSS_CONSTANT = 32,
+ WINED3DTSS_FORCE_DWORD = 0x7fffffff
+} WINED3DTEXTURESTAGESTATETYPE;
+const UINT WINED3D_HIGHEST_TEXTURE_STATE = WINED3DTSS_CONSTANT;
+
+typedef enum _WINED3DTEXTURETRANSFORMFLAGS
+{
+ WINED3DTTFF_DISABLE = 0,
+ WINED3DTTFF_COUNT1 = 1,
+ WINED3DTTFF_COUNT2 = 2,
+ WINED3DTTFF_COUNT3 = 3,
+ WINED3DTTFF_COUNT4 = 4,
+ WINED3DTTFF_PROJECTED = 256,
+ WINED3DTTFF_FORCE_DWORD = 0x7fffffff
+} WINED3DTEXTURETRANSFORMFLAGS;
+
+typedef enum _WINED3DTEXTUREOP
+{
+ WINED3DTOP_DISABLE = 1,
+ WINED3DTOP_SELECTARG1 = 2,
+ WINED3DTOP_SELECTARG2 = 3,
+ WINED3DTOP_MODULATE = 4,
+ WINED3DTOP_MODULATE2X = 5,
+ WINED3DTOP_MODULATE4X = 6,
+ WINED3DTOP_ADD = 7,
+ WINED3DTOP_ADDSIGNED = 8,
+ WINED3DTOP_ADDSIGNED2X = 9,
+ WINED3DTOP_SUBTRACT = 10,
+ WINED3DTOP_ADDSMOOTH = 11,
+ WINED3DTOP_BLENDDIFFUSEALPHA = 12,
+ WINED3DTOP_BLENDTEXTUREALPHA = 13,
+ WINED3DTOP_BLENDFACTORALPHA = 14,
+ WINED3DTOP_BLENDTEXTUREALPHAPM = 15,
+ WINED3DTOP_BLENDCURRENTALPHA = 16,
+ WINED3DTOP_PREMODULATE = 17,
+ WINED3DTOP_MODULATEALPHA_ADDCOLOR = 18,
+ WINED3DTOP_MODULATECOLOR_ADDALPHA = 19,
+ WINED3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
+ WINED3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
+ WINED3DTOP_BUMPENVMAP = 22,
+ WINED3DTOP_BUMPENVMAPLUMINANCE = 23,
+ WINED3DTOP_DOTPRODUCT3 = 24,
+ WINED3DTOP_MULTIPLYADD = 25,
+ WINED3DTOP_LERP = 26,
+ WINED3DTOP_FORCE_DWORD = 0x7fffffff,
+} WINED3DTEXTUREOP;
+
+typedef enum _WINED3DTEXTUREADDRESS
+{
+ WINED3DTADDRESS_WRAP = 1,
+ WINED3DTADDRESS_MIRROR = 2,
+ WINED3DTADDRESS_CLAMP = 3,
+ WINED3DTADDRESS_BORDER = 4,
+ WINED3DTADDRESS_MIRRORONCE = 5,
+ WINED3DTADDRESS_FORCE_DWORD = 0x7fffffff
+} WINED3DTEXTUREADDRESS;
+
+typedef enum _WINED3DTRANSFORMSTATETYPE
+{
+ WINED3DTS_VIEW = 2,
+ WINED3DTS_PROJECTION = 3,
+ WINED3DTS_TEXTURE0 = 16,
+ WINED3DTS_TEXTURE1 = 17,
+ WINED3DTS_TEXTURE2 = 18,
+ WINED3DTS_TEXTURE3 = 19,
+ WINED3DTS_TEXTURE4 = 20,
+ WINED3DTS_TEXTURE5 = 21,
+ WINED3DTS_TEXTURE6 = 22,
+ WINED3DTS_TEXTURE7 = 23,
+ WINED3DTS_FORCE_DWORD = 0x7fffffff
+} WINED3DTRANSFORMSTATETYPE;
+cpp_quote("#define WINED3DTS_WORLD WINED3DTS_WORLDMATRIX(0)")
+cpp_quote("#define WINED3DTS_WORLD1 WINED3DTS_WORLDMATRIX(1)")
+cpp_quote("#define WINED3DTS_WORLD2 WINED3DTS_WORLDMATRIX(2)")
+cpp_quote("#define WINED3DTS_WORLD3 WINED3DTS_WORLDMATRIX(3)")
+cpp_quote("#define WINED3DTS_WORLDMATRIX(index) (WINED3DTRANSFORMSTATETYPE)(index + 256)")
+
+typedef enum _WINED3DBASISTYPE
+{
+ WINED3DBASIS_BEZIER = 0,
+ WINED3DBASIS_BSPLINE = 1,
+ WINED3DBASIS_INTERPOLATE = 2,
+ WINED3DBASIS_FORCE_DWORD = 0x7fffffff
+} WINED3DBASISTYPE;
+
+typedef enum _WINED3DCUBEMAP_FACES
+{
+ WINED3DCUBEMAP_FACE_POSITIVE_X = 0,
+ WINED3DCUBEMAP_FACE_NEGATIVE_X = 1,
+ WINED3DCUBEMAP_FACE_POSITIVE_Y = 2,
+ WINED3DCUBEMAP_FACE_NEGATIVE_Y = 3,
+ WINED3DCUBEMAP_FACE_POSITIVE_Z = 4,
+ WINED3DCUBEMAP_FACE_NEGATIVE_Z = 5,
+ WINED3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
+} WINED3DCUBEMAP_FACES;
+
+typedef enum _WINED3DTEXTUREFILTERTYPE
+{
+ WINED3DTEXF_NONE = 0,
+ WINED3DTEXF_POINT = 1,
+ WINED3DTEXF_LINEAR = 2,
+ WINED3DTEXF_ANISOTROPIC = 3,
+ WINED3DTEXF_FLATCUBIC = 4,
+ WINED3DTEXF_GAUSSIANCUBIC = 5,
+ WINED3DTEXF_PYRAMIDALQUAD = 6,
+ WINED3DTEXF_GAUSSIANQUAD = 7,
+ WINED3DTEXF_FORCE_DWORD = 0x7fffffff
+} WINED3DTEXTUREFILTERTYPE;
+
+typedef enum _WINED3DRESOURCETYPE
+{
+ WINED3DRTYPE_SURFACE = 1,
+ WINED3DRTYPE_VOLUME = 2,
+ WINED3DRTYPE_TEXTURE = 3,
+ WINED3DRTYPE_VOLUMETEXTURE = 4,
+ WINED3DRTYPE_CUBETEXTURE = 5,
+ WINED3DRTYPE_VERTEXBUFFER = 6,
+ WINED3DRTYPE_INDEXBUFFER = 7,
+ WINED3DRTYPE_FORCE_DWORD = 0x7fffffff
+} WINED3DRESOURCETYPE;
+const UINT WINED3DRTYPECOUNT = WINED3DRTYPE_INDEXBUFFER + 1;
+
+typedef enum _WINED3DPOOL
+{
+ WINED3DPOOL_DEFAULT = 0,
+ WINED3DPOOL_MANAGED = 1,
+ WINED3DPOOL_SYSTEMMEM = 2,
+ WINED3DPOOL_SCRATCH = 3,
+ WINED3DPOOL_FORCE_DWORD = 0x7fffffff
+} WINED3DPOOL;
+
+typedef enum _WINED3DQUERYTYPE
+{
+ WINED3DQUERYTYPE_VCACHE = 4,
+ WINED3DQUERYTYPE_RESOURCEMANAGER = 5,
+ WINED3DQUERYTYPE_VERTEXSTATS = 6,
+ WINED3DQUERYTYPE_EVENT = 8,
+ WINED3DQUERYTYPE_OCCLUSION = 9,
+ WINED3DQUERYTYPE_TIMESTAMP = 10,
+ WINED3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
+ WINED3DQUERYTYPE_TIMESTAMPFREQ = 12,
+ WINED3DQUERYTYPE_PIPELINETIMINGS = 13,
+ WINED3DQUERYTYPE_INTERFACETIMINGS = 14,
+ WINED3DQUERYTYPE_VERTEXTIMINGS = 15,
+ WINED3DQUERYTYPE_PIXELTIMINGS = 16,
+ WINED3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
+ WINED3DQUERYTYPE_CACHEUTILIZATION = 18
+} WINED3DQUERYTYPE;
+
+const UINT WINED3DISSUE_BEGIN = (1 << 1);
+const UINT WINED3DISSUE_END = (1 << 0);
+const UINT WINED3DGETDATA_FLUSH = (1 << 0);
+
+typedef enum _WINED3DSTATEBLOCKTYPE
+{
+ WINED3DSBT_INIT = 0,
+ WINED3DSBT_ALL = 1,
+ WINED3DSBT_PIXELSTATE = 2,
+ WINED3DSBT_VERTEXSTATE = 3,
+ WINED3DSBT_RECORDED = 4, /* WineD3D private */
+ WINED3DSBT_FORCE_DWORD = 0xffffffff
+} WINED3DSTATEBLOCKTYPE;
+
+typedef enum _WINED3DDECLMETHOD
+{
+ WINED3DDECLMETHOD_DEFAULT = 0,
+ WINED3DDECLMETHOD_PARTIALU = 1,
+ WINED3DDECLMETHOD_PARTIALV = 2,
+ WINED3DDECLMETHOD_CROSSUV = 3,
+ WINED3DDECLMETHOD_UV = 4,
+ WINED3DDECLMETHOD_LOOKUP = 5,
+ WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
+} WINED3DDECLMETHOD;
+
+typedef enum _WINED3DDECLTYPE
+{
+ WINED3DDECLTYPE_FLOAT1 = 0,
+ WINED3DDECLTYPE_FLOAT2 = 1,
+ WINED3DDECLTYPE_FLOAT3 = 2,
+ WINED3DDECLTYPE_FLOAT4 = 3,
+ WINED3DDECLTYPE_D3DCOLOR = 4,
+ WINED3DDECLTYPE_UBYTE4 = 5,
+ WINED3DDECLTYPE_SHORT2 = 6,
+ WINED3DDECLTYPE_SHORT4 = 7,
+ /* VS 2.0 */
+ WINED3DDECLTYPE_UBYTE4N = 8,
+ WINED3DDECLTYPE_SHORT2N = 9,
+ WINED3DDECLTYPE_SHORT4N = 10,
+ WINED3DDECLTYPE_USHORT2N = 11,
+ WINED3DDECLTYPE_USHORT4N = 12,
+ WINED3DDECLTYPE_UDEC3 = 13,
+ WINED3DDECLTYPE_DEC3N = 14,
+ WINED3DDECLTYPE_FLOAT16_2 = 15,
+ WINED3DDECLTYPE_FLOAT16_4 = 16,
+ WINED3DDECLTYPE_UNUSED = 17,
+} WINED3DDECLTYPE;
+cpp_quote("#define WINED3DDECL_END() {0xFF, 0, WINED3DDECLTYPE_UNUSED, 0, 0, 0, -1}")
+
+typedef enum _WINED3DDECLUSAGE
+{
+ WINED3DDECLUSAGE_POSITION = 0,
+ WINED3DDECLUSAGE_BLENDWEIGHT = 1,
+ WINED3DDECLUSAGE_BLENDINDICES = 2,
+ WINED3DDECLUSAGE_NORMAL = 3,
+ WINED3DDECLUSAGE_PSIZE = 4,
+ WINED3DDECLUSAGE_TEXCOORD = 5,
+ WINED3DDECLUSAGE_TANGENT = 6,
+ WINED3DDECLUSAGE_BINORMAL = 7,
+ WINED3DDECLUSAGE_TESSFACTOR = 8,
+ WINED3DDECLUSAGE_POSITIONT = 9,
+ WINED3DDECLUSAGE_COLOR = 10,
+ WINED3DDECLUSAGE_FOG = 11,
+ WINED3DDECLUSAGE_DEPTH = 12,
+ WINED3DDECLUSAGE_SAMPLE = 13
+} WINED3DDECLUSAGE;
+
+typedef enum _WINED3DSURFTYPE
+{
+ SURFACE_UNKNOWN = 0, /* Default / Unknown surface type */
+ SURFACE_OPENGL, /* OpenGL surface: Renders using libGL, needed for 3D */
+ SURFACE_GDI, /* User surface. No 3D, DirectDraw rendering with GDI */
+} WINED3DSURFTYPE;
+
+const UINT WINED3DCOLORWRITEENABLE_RED = (1<<0);
+const UINT WINED3DCOLORWRITEENABLE_GREEN = (1<<1);
+const UINT WINED3DCOLORWRITEENABLE_BLUE = (1<<2);
+const UINT WINED3DCOLORWRITEENABLE_ALPHA = (1<<3);
+
+const UINT WINED3DADAPTER_DEFAULT = 0;
+const UINT WINED3DENUM_NO_WHQL_LEVEL = 2;
+const UINT WINED3DPRESENT_BACK_BUFFER_MAX = 3;
+
+const UINT WINED3DTSS_TCI_PASSTHRU = 0x00000;
+const UINT WINED3DTSS_TCI_CAMERASPACENORMAL = 0x10000;
+const UINT WINED3DTSS_TCI_CAMERASPACEPOSITION = 0x20000;
+const UINT WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR = 0x30000;
+const UINT WINED3DTSS_TCI_SPHEREMAP = 0x40000;
+
+const UINT WINED3DTA_SELECTMASK = 0x0000000f;
+const UINT WINED3DTA_DIFFUSE = 0x00000000;
+const UINT WINED3DTA_CURRENT = 0x00000001;
+const UINT WINED3DTA_TEXTURE = 0x00000002;
+const UINT WINED3DTA_TFACTOR = 0x00000003;
+const UINT WINED3DTA_SPECULAR = 0x00000004;
+const UINT WINED3DTA_TEMP = 0x00000005;
+const UINT WINED3DTA_CONSTANT = 0x00000006;
+const UINT WINED3DTA_COMPLEMENT = 0x00000010;
+const UINT WINED3DTA_ALPHAREPLICATE = 0x00000020;
+
+const UINT WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER = 0x00000001;
+const UINT WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL = 0x00000002;
+const UINT WINED3DPRESENTFLAG_DEVICECLIP = 0x00000004;
+const UINT WINED3DPRESENTFLAG_VIDEO = 0x00000010;
+const UINT WINED3DPRESENTFLAG_NOAUTOROTATE = 0x00000020;
+const UINT WINED3DPRESENTFLAG_UNPRUNEDMODE = 0x00000040;
+
+const UINT WINED3DDP_MAXTEXCOORD = 8;
+
+const UINT WINED3DUSAGE_RENDERTARGET = 0x00000001;
+const UINT WINED3DUSAGE_DEPTHSTENCIL = 0x00000002;
+const UINT WINED3DUSAGE_WRITEONLY = 0x00000008;
+const UINT WINED3DUSAGE_SOFTWAREPROCESSING = 0x00000010;
+const UINT WINED3DUSAGE_DONOTCLIP = 0x00000020;
+const UINT WINED3DUSAGE_POINTS = 0x00000040;
+const UINT WINED3DUSAGE_RTPATCHES = 0x00000080;
+const UINT WINED3DUSAGE_NPATCHES = 0x00000100;
+const UINT WINED3DUSAGE_DYNAMIC = 0x00000200;
+const UINT WINED3DUSAGE_AUTOGENMIPMAP = 0x00000400;
+const UINT WINED3DUSAGE_DMAP = 0x00004000;
+const UINT WINED3DUSAGE_MASK = 0x00004fff;
+const UINT WINED3DUSAGE_OVERLAY = 0x80000000;
+
+const UINT WINED3DUSAGE_QUERY_LEGACYBUMPMAP = 0x00008000;
+const UINT WINED3DUSAGE_QUERY_FILTER = 0x00020000;
+const UINT WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING = 0x00080000;
+const UINT WINED3DUSAGE_QUERY_SRGBREAD = 0x00010000;
+const UINT WINED3DUSAGE_QUERY_SRGBWRITE = 0x00040000;
+const UINT WINED3DUSAGE_QUERY_VERTEXTEXTURE = 0x00100000;
+const UINT WINED3DUSAGE_QUERY_WRAPANDMIP = 0x00200000;
+const UINT WINED3DUSAGE_QUERY_MASK = 0x003f8000;
+
+const UINT WINED3DLOCK_READONLY = 0x0010;
+const UINT WINED3DLOCK_NOSYSLOCK = 0x0800;
+const UINT WINED3DLOCK_NOOVERWRITE = 0x1000;
+const UINT WINED3DLOCK_DISCARD = 0x2000;
+const UINT WINED3DLOCK_DONOTWAIT = 0x4000;
+const UINT WINED3DLOCK_NO_DIRTY_UPDATE = 0x8000;
+
+const UINT WINED3DPRESENT_RATE_DEFAULT = 0x000000000;
+
+const UINT WINED3DPRESENT_INTERVAL_DEFAULT = 0x00000000;
+const UINT WINED3DPRESENT_INTERVAL_ONE = 0x00000001;
+const UINT WINED3DPRESENT_INTERVAL_TWO = 0x00000002;
+const UINT WINED3DPRESENT_INTERVAL_THREE = 0x00000004;
+const UINT WINED3DPRESENT_INTERVAL_FOUR = 0x00000008;
+const UINT WINED3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000;
+
+const UINT WINED3DMAXUSERCLIPPLANES = 32;
+const UINT WINED3DCLIPPLANE0 = (1 << 0);
+const UINT WINED3DCLIPPLANE1 = (1 << 1);
+const UINT WINED3DCLIPPLANE2 = (1 << 2);
+const UINT WINED3DCLIPPLANE3 = (1 << 3);
+const UINT WINED3DCLIPPLANE4 = (1 << 4);
+const UINT WINED3DCLIPPLANE5 = (1 << 5);
+
+/* FVF (Flexible Vertex Format) codes */
+const UINT WINED3DFVF_RESERVED0 = 0x0001;
+const UINT WINED3DFVF_POSITION_MASK = 0x000e;
+const UINT WINED3DFVF_XYZ = 0x0002;
+const UINT WINED3DFVF_XYZRHW = 0x0004;
+const UINT WINED3DFVF_XYZB1 = 0x0006;
+const UINT WINED3DFVF_XYZB2 = 0x0008;
+const UINT WINED3DFVF_XYZB3 = 0x000a;
+const UINT WINED3DFVF_XYZB4 = 0x000c;
+const UINT WINED3DFVF_XYZB5 = 0x000e;
+const UINT WINED3DFVF_XYZW = 0x4002;
+const UINT WINED3DFVF_NORMAL = 0x0010;
+const UINT WINED3DFVF_PSIZE = 0x0020;
+const UINT WINED3DFVF_DIFFUSE = 0x0040;
+const UINT WINED3DFVF_SPECULAR = 0x0080;
+const UINT WINED3DFVF_TEXCOUNT_MASK = 0x0f00;
+const UINT WINED3DFVF_TEXCOUNT_SHIFT = 8;
+const UINT WINED3DFVF_TEX0 = 0x0000;
+const UINT WINED3DFVF_TEX1 = 0x0100;
+const UINT WINED3DFVF_TEX2 = 0x0200;
+const UINT WINED3DFVF_TEX3 = 0x0300;
+const UINT WINED3DFVF_TEX4 = 0x0400;
+const UINT WINED3DFVF_TEX5 = 0x0500;
+const UINT WINED3DFVF_TEX6 = 0x0600;
+const UINT WINED3DFVF_TEX7 = 0x0700;
+const UINT WINED3DFVF_TEX8 = 0x0800;
+const UINT WINED3DFVF_LASTBETA_UBYTE4 = 0x1000;
+const UINT WINED3DFVF_LASTBETA_D3DCOLOR = 0x8000;
+const UINT WINED3DFVF_RESERVED2 = 0x6000;
+
+const UINT WINED3DFVF_TEXTUREFORMAT1 = 3;
+const UINT WINED3DFVF_TEXTUREFORMAT2 = 0;
+const UINT WINED3DFVF_TEXTUREFORMAT3 = 1;
+const UINT WINED3DFVF_TEXTUREFORMAT4 = 2;
+cpp_quote("#define WINED3DFVF_TEXCOORDSIZE1(CoordIndex) (WINED3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))")
+cpp_quote("#define WINED3DFVF_TEXCOORDSIZE2(CoordIndex) (WINED3DFVF_TEXTUREFORMAT2)")
+cpp_quote("#define WINED3DFVF_TEXCOORDSIZE3(CoordIndex) (WINED3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))")
+cpp_quote("#define WINED3DFVF_TEXCOORDSIZE4(CoordIndex) (WINED3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))")
+
+/* Clear flags */
+const UINT WINED3DCLEAR_TARGET = 0x00000001;
+const UINT WINED3DCLEAR_ZBUFFER = 0x00000002;
+const UINT WINED3DCLEAR_STENCIL = 0x00000004;
+
+/* Stream source flags */
+const UINT WINED3DSTREAMSOURCE_INDEXEDDATA = (1 << 30);
+const UINT WINED3DSTREAMSOURCE_INSTANCEDATA = (2 << 30);
+
+/* SetPrivateData flags */
+const UINT WINED3DSPD_IUNKNOWN = 0x00000001;
+
+/* IWineD3D::CreateDevice behaviour flags */
+const UINT WINED3DCREATE_FPU_PRESERVE = 0x00000002;
+const UINT WINED3DCREATE_PUREDEVICE = 0x00000010;
+const UINT WINED3DCREATE_SOFTWARE_VERTEXPROCESSING = 0x00000020;
+const UINT WINED3DCREATE_HARDWARE_VERTEXPROCESSING = 0x00000040;
+const UINT WINED3DCREATE_MIXED_VERTEXPROCESSING = 0x00000080;
+const UINT WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT = 0x00000100;
+const UINT WINED3DCREATE_ADAPTERGROUP_DEVICE = 0x00000200;
+
+/* VTF defines */
+const UINT WINED3DDMAPSAMPLER = 0x100;
+const UINT WINED3DVERTEXTEXTURESAMPLER0 = (WINED3DDMAPSAMPLER + 1);
+const UINT WINED3DVERTEXTEXTURESAMPLER1 = (WINED3DDMAPSAMPLER + 2);
+const UINT WINED3DVERTEXTEXTURESAMPLER2 = (WINED3DDMAPSAMPLER + 3);
+const UINT WINED3DVERTEXTEXTURESAMPLER3 = (WINED3DDMAPSAMPLER + 4);
+
+const UINT WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD = 0x00000020;
+const UINT WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION = 0x00000080;
+const UINT WINED3DCAPS3_COPY_TO_VIDMEM = 0x00000100;
+const UINT WINED3DCAPS3_COPY_TO_SYSTEMMEM = 0x00000200;
+const UINT WINED3DCAPS3_RESERVED = 0x8000001f;
+
+const UINT WINED3DDEVCAPS2_STREAMOFFSET = 0x00000001;
+const UINT WINED3DDEVCAPS2_DMAPNPATCH = 0x00000002;
+const UINT WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH = 0x00000004;
+const UINT WINED3DDEVCAPS2_ADAPTIVETESSNPATCH = 0x00000008;
+const UINT WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES = 0x00000010;
+const UINT WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH = 0x00000020;
+const UINT WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET = 0x00000040;
+
+const UINT WINED3DDTCAPS_UBYTE4 = 0x00000001;
+const UINT WINED3DDTCAPS_UBYTE4N = 0x00000002;
+const UINT WINED3DDTCAPS_SHORT2N = 0x00000004;
+const UINT WINED3DDTCAPS_SHORT4N = 0x00000008;
+const UINT WINED3DDTCAPS_USHORT2N = 0x00000010;
+const UINT WINED3DDTCAPS_USHORT4N = 0x00000020;
+const UINT WINED3DDTCAPS_UDEC3 = 0x00000040;
+const UINT WINED3DDTCAPS_DEC3N = 0x00000080;
+const UINT WINED3DDTCAPS_FLOAT16_2 = 0x00000100;
+const UINT WINED3DDTCAPS_FLOAT16_4 = 0x00000200;
+
+const UINT WINED3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffff;
+const UINT WINED3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000;
+const UINT WINED3DFVFCAPS_PSIZE = 0x00100000;
+
+const UINT WINED3DLINECAPS_TEXTURE = 0x00000001;
+const UINT WINED3DLINECAPS_ZTEST = 0x00000002;
+const UINT WINED3DLINECAPS_BLEND = 0x00000004;
+const UINT WINED3DLINECAPS_ALPHACMP = 0x00000008;
+const UINT WINED3DLINECAPS_FOG = 0x00000010;
+const UINT WINED3DLINECAPS_ANTIALIAS = 0x00000020;
+
+const UINT WINED3DMAX30SHADERINSTRUCTIONS = 32768;
+const UINT WINED3DMIN30SHADERINSTRUCTIONS = 512;
+
+const UINT WINED3DPBLENDCAPS_ZERO = 0x00000001;
+const UINT WINED3DPBLENDCAPS_ONE = 0x00000002;
+const UINT WINED3DPBLENDCAPS_SRCCOLOR = 0x00000004;
+const UINT WINED3DPBLENDCAPS_INVSRCCOLOR = 0x00000008;
+const UINT WINED3DPBLENDCAPS_SRCALPHA = 0x00000010;
+const UINT WINED3DPBLENDCAPS_INVSRCALPHA = 0x00000020;
+const UINT WINED3DPBLENDCAPS_DESTALPHA = 0x00000040;
+const UINT WINED3DPBLENDCAPS_INVDESTALPHA = 0x00000080;
+const UINT WINED3DPBLENDCAPS_DESTCOLOR = 0x00000100;
+const UINT WINED3DPBLENDCAPS_INVDESTCOLOR = 0x00000200;
+const UINT WINED3DPBLENDCAPS_SRCALPHASAT = 0x00000400;
+const UINT WINED3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800;
+const UINT WINED3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000;
+const UINT WINED3DPBLENDCAPS_BLENDFACTOR = 0x00002000;
+
+const UINT WINED3DPCMPCAPS_NEVER = 0x00000001;
+const UINT WINED3DPCMPCAPS_LESS = 0x00000002;
+const UINT WINED3DPCMPCAPS_EQUAL = 0x00000004;
+const UINT WINED3DPCMPCAPS_LESSEQUAL = 0x00000008;
+const UINT WINED3DPCMPCAPS_GREATER = 0x00000010;
+const UINT WINED3DPCMPCAPS_NOTEQUAL = 0x00000020;
+const UINT WINED3DPCMPCAPS_GREATEREQUAL = 0x00000040;
+const UINT WINED3DPCMPCAPS_ALWAYS = 0x00000080;
+
+const UINT WINED3DPMISCCAPS_MASKZ = 0x00000002;
+const UINT WINED3DPMISCCAPS_LINEPATTERNREP = 0x00000004;
+const UINT WINED3DPMISCCAPS_CULLNONE = 0x00000010;
+const UINT WINED3DPMISCCAPS_CULLCW = 0x00000020;
+const UINT WINED3DPMISCCAPS_CULLCCW = 0x00000040;
+const UINT WINED3DPMISCCAPS_COLORWRITEENABLE = 0x00000080;
+const UINT WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS = 0x00000100;
+const UINT WINED3DPMISCCAPS_CLIPTLVERTS = 0x00000200;
+const UINT WINED3DPMISCCAPS_TSSARGTEMP = 0x00000400;
+const UINT WINED3DPMISCCAPS_BLENDOP = 0x00000800;
+const UINT WINED3DPMISCCAPS_NULLREFERENCE = 0x00001000;
+const UINT WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS = 0x00004000;
+const UINT WINED3DPMISCCAPS_PERSTAGECONSTANT = 0x00008000;
+const UINT WINED3DPMISCCAPS_FOGANDSPECULARALPHA = 0x00010000;
+const UINT WINED3DPMISCCAPS_SEPARATEALPHABLEND = 0x00020000;
+const UINT WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS = 0x00040000;
+const UINT WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING = 0x00080000;
+const UINT WINED3DPMISCCAPS_FOGVERTEXCLAMPED = 0x00100000;
+
+const UINT WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
+const UINT WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
+const UINT WINED3DPS20_MAX_NUMTEMPS = 32;
+const UINT WINED3DPS20_MIN_NUMTEMPS = 12;
+const UINT WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH = 4;
+const UINT WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH = 0;
+const UINT WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS = 512;
+const UINT WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS = 96;
+
+const UINT WINED3DPS20CAPS_ARBITRARYSWIZZLE = 0x00000001;
+const UINT WINED3DPS20CAPS_GRADIENTINSTRUCTIONS = 0x00000002;
+const UINT WINED3DPS20CAPS_PREDICATION = 0x00000004;
+const UINT WINED3DPS20CAPS_NODEPENDENTREADLIMIT = 0x00000008;
+const UINT WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT = 0x00000010;
+
+const UINT WINED3DPTADDRESSCAPS_WRAP = 0x00000001;
+const UINT WINED3DPTADDRESSCAPS_MIRROR = 0x00000002;
+const UINT WINED3DPTADDRESSCAPS_CLAMP = 0x00000004;
+const UINT WINED3DPTADDRESSCAPS_BORDER = 0x00000008;
+const UINT WINED3DPTADDRESSCAPS_INDEPENDENTUV = 0x00000010;
+const UINT WINED3DPTADDRESSCAPS_MIRRORONCE = 0x00000020;
+
+const UINT WINED3DSTENCILCAPS_KEEP = 0x00000001;
+const UINT WINED3DSTENCILCAPS_ZERO = 0x00000002;
+const UINT WINED3DSTENCILCAPS_REPLACE = 0x00000004;
+const UINT WINED3DSTENCILCAPS_INCRSAT = 0x00000008;
+const UINT WINED3DSTENCILCAPS_DECRSAT = 0x00000010;
+const UINT WINED3DSTENCILCAPS_INVERT = 0x00000020;
+const UINT WINED3DSTENCILCAPS_INCR = 0x00000040;
+const UINT WINED3DSTENCILCAPS_DECR = 0x00000080;
+const UINT WINED3DSTENCILCAPS_TWOSIDED = 0x00000100;
+
+const UINT WINED3DTEXOPCAPS_DISABLE = 0x00000001;
+const UINT WINED3DTEXOPCAPS_SELECTARG1 = 0x00000002;
+const UINT WINED3DTEXOPCAPS_SELECTARG2 = 0x00000004;
+const UINT WINED3DTEXOPCAPS_MODULATE = 0x00000008;
+const UINT WINED3DTEXOPCAPS_MODULATE2X = 0x00000010;
+const UINT WINED3DTEXOPCAPS_MODULATE4X = 0x00000020;
+const UINT WINED3DTEXOPCAPS_ADD = 0x00000040;
+const UINT WINED3DTEXOPCAPS_ADDSIGNED = 0x00000080;
+const UINT WINED3DTEXOPCAPS_ADDSIGNED2X = 0x00000100;
+const UINT WINED3DTEXOPCAPS_SUBTRACT = 0x00000200;
+const UINT WINED3DTEXOPCAPS_ADDSMOOTH = 0x00000400;
+const UINT WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA = 0x00000800;
+const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHA = 0x00001000;
+const UINT WINED3DTEXOPCAPS_BLENDFACTORALPHA = 0x00002000;
+const UINT WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM = 0x00004000;
+const UINT WINED3DTEXOPCAPS_BLENDCURRENTALPHA = 0x00008000;
+const UINT WINED3DTEXOPCAPS_PREMODULATE = 0x00010000;
+const UINT WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR = 0x00020000;
+const UINT WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA = 0x00040000;
+const UINT WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR = 0x00080000;
+const UINT WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA = 0x00100000;
+const UINT WINED3DTEXOPCAPS_BUMPENVMAP = 0x00200000;
+const UINT WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE = 0x00400000;
+const UINT WINED3DTEXOPCAPS_DOTPRODUCT3 = 0x00800000;
+const UINT WINED3DTEXOPCAPS_MULTIPLYADD = 0x01000000;
+const UINT WINED3DTEXOPCAPS_LERP = 0x02000000;
+
+const UINT WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24;
+const UINT WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0;
+const UINT WINED3DVS20_MAX_NUMTEMPS = 32;
+const UINT WINED3DVS20_MIN_NUMTEMPS = 12;
+const UINT WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH = 4;
+const UINT WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH = 1;
+
+const UINT WINED3DVS20CAPS_PREDICATION = 0x00000001;
+
+const UINT WINED3DCAPS2_NO2DDURING3DSCENE = 0x00000002;
+const UINT WINED3DCAPS2_FULLSCREENGAMMA = 0x00020000;
+const UINT WINED3DCAPS2_CANRENDERWINDOWED = 0x00080000;
+const UINT WINED3DCAPS2_CANCALIBRATEGAMMA = 0x00100000;
+const UINT WINED3DCAPS2_RESERVED = 0x02000000;
+const UINT WINED3DCAPS2_CANMANAGERESOURCE = 0x10000000;
+const UINT WINED3DCAPS2_DYNAMICTEXTURES = 0x20000000;
+const UINT WINED3DCAPS2_CANAUTOGENMIPMAP = 0x40000000;
+
+const UINT WINED3DPRASTERCAPS_DITHER = 0x00000001;
+const UINT WINED3DPRASTERCAPS_ROP2 = 0x00000002;
+const UINT WINED3DPRASTERCAPS_XOR = 0x00000004;
+const UINT WINED3DPRASTERCAPS_PAT = 0x00000008;
+const UINT WINED3DPRASTERCAPS_ZTEST = 0x00000010;
+const UINT WINED3DPRASTERCAPS_SUBPIXEL = 0x00000020;
+const UINT WINED3DPRASTERCAPS_SUBPIXELX = 0x00000040;
+const UINT WINED3DPRASTERCAPS_FOGVERTEX = 0x00000080;
+const UINT WINED3DPRASTERCAPS_FOGTABLE = 0x00000100;
+const UINT WINED3DPRASTERCAPS_STIPPLE = 0x00000200;
+const UINT WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT = 0x00000400;
+const UINT WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT = 0x00000800;
+const UINT WINED3DPRASTERCAPS_ANTIALIASEDGES = 0x00001000;
+const UINT WINED3DPRASTERCAPS_MIPMAPLODBIAS = 0x00002000;
+const UINT WINED3DPRASTERCAPS_ZBIAS = 0x00004000;
+const UINT WINED3DPRASTERCAPS_ZBUFFERLESSHSR = 0x00008000;
+const UINT WINED3DPRASTERCAPS_FOGRANGE = 0x00010000;
+const UINT WINED3DPRASTERCAPS_ANISOTROPY = 0x00020000;
+const UINT WINED3DPRASTERCAPS_WBUFFER = 0x00040000;
+const UINT WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT = 0x00080000;
+const UINT WINED3DPRASTERCAPS_WFOG = 0x00100000;
+const UINT WINED3DPRASTERCAPS_ZFOG = 0x00200000;
+const UINT WINED3DPRASTERCAPS_COLORPERSPECTIVE = 0x00400000;
+const UINT WINED3DPRASTERCAPS_SCISSORTEST = 0x01000000;
+const UINT WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS = 0x02000000;
+const UINT WINED3DPRASTERCAPS_DEPTHBIAS = 0x04000000;
+const UINT WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE = 0x08000000;
+
+const UINT WINED3DPSHADECAPS_COLORFLATMONO = 0x00000001;
+const UINT WINED3DPSHADECAPS_COLORFLATRGB = 0x00000002;
+const UINT WINED3DPSHADECAPS_COLORGOURAUDMONO = 0x00000004;
+const UINT WINED3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008;
+const UINT WINED3DPSHADECAPS_COLORPHONGMONO = 0x00000010;
+const UINT WINED3DPSHADECAPS_COLORPHONGRGB = 0x00000020;
+const UINT WINED3DPSHADECAPS_SPECULARFLATMONO = 0x00000040;
+const UINT WINED3DPSHADECAPS_SPECULARFLATRGB = 0x00000080;
+const UINT WINED3DPSHADECAPS_SPECULARGOURAUDMONO = 0x00000100;
+const UINT WINED3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200;
+const UINT WINED3DPSHADECAPS_SPECULARPHONGMONO = 0x00000400;
+const UINT WINED3DPSHADECAPS_SPECULARPHONGRGB = 0x00000800;
+const UINT WINED3DPSHADECAPS_ALPHAFLATBLEND = 0x00001000;
+const UINT WINED3DPSHADECAPS_ALPHAFLATSTIPPLED = 0x00002000;
+const UINT WINED3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000;
+const UINT WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED = 0x00008000;
+const UINT WINED3DPSHADECAPS_ALPHAPHONGBLEND = 0x00010000;
+const UINT WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED = 0x00020000;
+const UINT WINED3DPSHADECAPS_FOGFLAT = 0x00040000;
+const UINT WINED3DPSHADECAPS_FOGGOURAUD = 0x00080000;
+const UINT WINED3DPSHADECAPS_FOGPHONG = 0x00100000;
+
+const UINT WINED3DPTEXTURECAPS_PERSPECTIVE = 0x00000001;
+const UINT WINED3DPTEXTURECAPS_POW2 = 0x00000002;
+const UINT WINED3DPTEXTURECAPS_ALPHA = 0x00000004;
+const UINT WINED3DPTEXTURECAPS_TRANSPARENCY = 0x00000008;
+const UINT WINED3DPTEXTURECAPS_BORDER = 0x00000010;
+const UINT WINED3DPTEXTURECAPS_SQUAREONLY = 0x00000020;
+const UINT WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE = 0x00000040;
+const UINT WINED3DPTEXTURECAPS_ALPHAPALETTE = 0x00000080;
+const UINT WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL = 0x00000100;
+const UINT WINED3DPTEXTURECAPS_PROJECTED = 0x00000400;
+const UINT WINED3DPTEXTURECAPS_CUBEMAP = 0x00000800;
+const UINT WINED3DPTEXTURECAPS_COLORKEYBLEND = 0x00001000;
+const UINT WINED3DPTEXTURECAPS_VOLUMEMAP = 0x00002000;
+const UINT WINED3DPTEXTURECAPS_MIPMAP = 0x00004000;
+const UINT WINED3DPTEXTURECAPS_MIPVOLUMEMAP = 0x00008000;
+const UINT WINED3DPTEXTURECAPS_MIPCUBEMAP = 0x00010000;
+const UINT WINED3DPTEXTURECAPS_CUBEMAP_POW2 = 0x00020000;
+const UINT WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 = 0x00040000;
+const UINT WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV = 0x00200000;
+
+const UINT WINED3DPTFILTERCAPS_NEAREST = 0x00000001;
+const UINT WINED3DPTFILTERCAPS_LINEAR = 0x00000002;
+const UINT WINED3DPTFILTERCAPS_MIPNEAREST = 0x00000004;
+const UINT WINED3DPTFILTERCAPS_MIPLINEAR = 0x00000008;
+const UINT WINED3DPTFILTERCAPS_LINEARMIPNEAREST = 0x00000010;
+const UINT WINED3DPTFILTERCAPS_LINEARMIPLINEAR = 0x00000020;
+const UINT WINED3DPTFILTERCAPS_MINFPOINT = 0x00000100;
+const UINT WINED3DPTFILTERCAPS_MINFLINEAR = 0x00000200;
+const UINT WINED3DPTFILTERCAPS_MINFANISOTROPIC = 0x00000400;
+const UINT WINED3DPTFILTERCAPS_MIPFPOINT = 0x00010000;
+const UINT WINED3DPTFILTERCAPS_MIPFLINEAR = 0x00020000;
+const UINT WINED3DPTFILTERCAPS_MAGFPOINT = 0x01000000;
+const UINT WINED3DPTFILTERCAPS_MAGFLINEAR = 0x02000000;
+const UINT WINED3DPTFILTERCAPS_MAGFANISOTROPIC = 0x04000000;
+const UINT WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD = 0x08000000;
+const UINT WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD = 0x10000000;
+
+const UINT WINED3DVTXPCAPS_TEXGEN = 0x00000001;
+const UINT WINED3DVTXPCAPS_MATERIALSOURCE7 = 0x00000002;
+const UINT WINED3DVTXPCAPS_VERTEXFOG = 0x00000004;
+const UINT WINED3DVTXPCAPS_DIRECTIONALLIGHTS = 0x00000008;
+const UINT WINED3DVTXPCAPS_POSITIONALLIGHTS = 0x00000010;
+const UINT WINED3DVTXPCAPS_LOCALVIEWER = 0x00000020;
+const UINT WINED3DVTXPCAPS_TWEENING = 0x00000040;
+const UINT WINED3DVTXPCAPS_TEXGEN_SPHEREMAP = 0x00000100;
+const UINT WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER = 0x00000200;
+
+const UINT WINED3DCURSORCAPS_COLOR = 0x00000001;
+const UINT WINED3DCURSORCAPS_LOWRES = 0x00000002;
+
+const UINT WINED3DDEVCAPS_FLOATTLVERTEX = 0x00000001;
+const UINT WINED3DDEVCAPS_SORTINCREASINGZ = 0x00000002;
+const UINT WINED3DDEVCAPS_SORTDECREASINGZ = 0X00000004;
+const UINT WINED3DDEVCAPS_SORTEXACT = 0x00000008;
+const UINT WINED3DDEVCAPS_EXECUTESYSTEMMEMORY = 0x00000010;
+const UINT WINED3DDEVCAPS_EXECUTEVIDEOMEMORY = 0x00000020;
+const UINT WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 0x00000040;
+const UINT WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY = 0x00000080;
+const UINT WINED3DDEVCAPS_TEXTURESYSTEMMEMORY = 0x00000100;
+const UINT WINED3DDEVCAPS_TEXTUREVIDEOMEMORY = 0x00000200;
+const UINT WINED3DDEVCAPS_DRAWPRIMTLVERTEX = 0x00000400;
+const UINT WINED3DDEVCAPS_CANRENDERAFTERFLIP = 0x00000800;
+const UINT WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM = 0x00001000;
+const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2 = 0x00002000;
+const UINT WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES = 0x00004000;
+const UINT WINED3DDEVCAPS_DRAWPRIMITIVES2EX = 0x00008000;
+const UINT WINED3DDEVCAPS_HWTRANSFORMANDLIGHT = 0x00010000;
+const UINT WINED3DDEVCAPS_CANBLTSYSTONONLOCAL = 0x00020000;
+const UINT WINED3DDEVCAPS_HWRASTERIZATION = 0x00080000;
+const UINT WINED3DDEVCAPS_PUREDEVICE = 0x00100000;
+const UINT WINED3DDEVCAPS_QUINTICRTPATCHES = 0x00200000;
+const UINT WINED3DDEVCAPS_RTPATCHES = 0x00400000;
+const UINT WINED3DDEVCAPS_RTPATCHHANDLEZERO = 0x00800000;
+const UINT WINED3DDEVCAPS_NPATCHES = 0x01000000;
+
+/* dwDDFX */
+/* arithmetic stretching along y axis */
+const UINT WINEDDBLTFX_ARITHSTRETCHY = 0x00000001;
+/* mirror on y axis */
+const UINT WINEDDBLTFX_MIRRORLEFTRIGHT = 0x00000002;
+/* mirror on x axis */
+const UINT WINEDDBLTFX_MIRRORUPDOWN = 0x00000004;
+/* do not tear */
+const UINT WINEDDBLTFX_NOTEARING = 0x00000008;
+/* 180 degrees clockwise rotation */
+const UINT WINEDDBLTFX_ROTATE180 = 0x00000010;
+/* 270 degrees clockwise rotation */
+const UINT WINEDDBLTFX_ROTATE270 = 0x00000020;
+/* 90 degrees clockwise rotation */
+const UINT WINEDDBLTFX_ROTATE90 = 0x00000040;
+/* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
+const UINT WINEDDBLTFX_ZBUFFERRANGE = 0x00000080;
+/* add dwZBufferBaseDest to every source z value before compare */
+const UINT WINEDDBLTFX_ZBUFFERBASEDEST = 0x00000100;
+
+/* dwFlags for Blt* */
+const UINT WINEDDBLT_ALPHADEST = 0x00000001;
+const UINT WINEDDBLT_ALPHADESTCONSTOVERRIDE = 0x00000002;
+const UINT WINEDDBLT_ALPHADESTNEG = 0x00000004;
+const UINT WINEDDBLT_ALPHADESTSURFACEOVERRIDE = 0x00000008;
+const UINT WINEDDBLT_ALPHAEDGEBLEND = 0x00000010;
+const UINT WINEDDBLT_ALPHASRC = 0x00000020;
+const UINT WINEDDBLT_ALPHASRCCONSTOVERRIDE = 0x00000040;
+const UINT WINEDDBLT_ALPHASRCNEG = 0x00000080;
+const UINT WINEDDBLT_ALPHASRCSURFACEOVERRIDE = 0x00000100;
+const UINT WINEDDBLT_ASYNC = 0x00000200;
+const UINT WINEDDBLT_COLORFILL = 0x00000400;
+const UINT WINEDDBLT_DDFX = 0x00000800;
+const UINT WINEDDBLT_DDROPS = 0x00001000;
+const UINT WINEDDBLT_KEYDEST = 0x00002000;
+const UINT WINEDDBLT_KEYDESTOVERRIDE = 0x00004000;
+const UINT WINEDDBLT_KEYSRC = 0x00008000;
+const UINT WINEDDBLT_KEYSRCOVERRIDE = 0x00010000;
+const UINT WINEDDBLT_ROP = 0x00020000;
+const UINT WINEDDBLT_ROTATIONANGLE = 0x00040000;
+const UINT WINEDDBLT_ZBUFFER = 0x00080000;
+const UINT WINEDDBLT_ZBUFFERDESTCONSTOVERRIDE = 0x00100000;
+const UINT WINEDDBLT_ZBUFFERDESTOVERRIDE = 0x00200000;
+const UINT WINEDDBLT_ZBUFFERSRCCONSTOVERRIDE = 0x00400000;
+const UINT WINEDDBLT_ZBUFFERSRCOVERRIDE = 0x00800000;
+const UINT WINEDDBLT_WAIT = 0x01000000;
+const UINT WINEDDBLT_DEPTHFILL = 0x02000000;
+const UINT WINEDDBLT_DONOTWAIT = 0x08000000;
+
+/* dwTrans for BltFast */
+const UINT WINEDDBLTFAST_NOCOLORKEY = 0x00000000;
+const UINT WINEDDBLTFAST_SRCCOLORKEY = 0x00000001;
+const UINT WINEDDBLTFAST_DESTCOLORKEY = 0x00000002;
+const UINT WINEDDBLTFAST_WAIT = 0x00000010;
+const UINT WINEDDBLTFAST_DONOTWAIT = 0x00000020;
+
+/* DDSURFACEDESC.dwFlags */
+const UINT WINEDDSD_CAPS = 0x00000001;
+const UINT WINEDDSD_HEIGHT = 0x00000002;
+const UINT WINEDDSD_WIDTH = 0x00000004;
+const UINT WINEDDSD_PITCH = 0x00000008;
+const UINT WINEDDSD_BACKBUFFERCOUNT = 0x00000020;
+const UINT WINEDDSD_ZBUFFERBITDEPTH = 0x00000040;
+const UINT WINEDDSD_ALPHABITDEPTH = 0x00000080;
+const UINT WINEDDSD_LPSURFACE = 0x00000800;
+const UINT WINEDDSD_PIXELFORMAT = 0x00001000;
+const UINT WINEDDSD_CKDESTOVERLAY = 0x00002000;
+const UINT WINEDDSD_CKDESTBLT = 0x00004000;
+const UINT WINEDDSD_CKSRCOVERLAY = 0x00008000;
+const UINT WINEDDSD_CKSRCBLT = 0x00010000;
+const UINT WINEDDSD_MIPMAPCOUNT = 0x00020000;
+const UINT WINEDDSD_REFRESHRATE = 0x00040000;
+const UINT WINEDDSD_LINEARSIZE = 0x00080000;
+const UINT WINEDDSD_TEXTURESTAGE = 0x00100000;
+const UINT WINEDDSD_FVF = 0x00200000;
+const UINT WINEDDSD_SRCVBHANDLE = 0x00400000;
+const UINT WINEDDSD_ALL = 0x007ff9ee;
+
+/* Set/Get Colour Key Flags */
+const UINT WINEDDCKEY_COLORSPACE = 0x00000001; /* Struct is single colour space */
+const UINT WINEDDCKEY_DESTBLT = 0x00000002; /* To be used as dest for blt */
+const UINT WINEDDCKEY_DESTOVERLAY = 0x00000004; /* To be used as dest for CK overlays */
+const UINT WINEDDCKEY_SRCBLT = 0x00000008; /* To be used as src for blt */
+const UINT WINEDDCKEY_SRCOVERLAY = 0x00000010; /* To be used as src for CK overlays */
+
+/* dwFlags for GetBltStatus */
+const UINT WINEDDGBS_CANBLT = 0x00000001;
+const UINT WINEDDGBS_ISBLTDONE = 0x00000002;
+
+/* dwFlags for GetFlipStatus */
+const UINT WINEDDGFS_CANFLIP = 0x00000001;
+const UINT WINEDDGFS_ISFLIPDONE = 0x00000002;
+
+/* dwFlags for Flip */
+const UINT WINEDDFLIP_WAIT = 0x00000001;
+const UINT WINEDDFLIP_EVEN = 0x00000002; /* only valid for overlay */
+const UINT WINEDDFLIP_ODD = 0x00000004; /* only valid for overlay */
+const UINT WINEDDFLIP_NOVSYNC = 0x00000008;
+const UINT WINEDDFLIP_STEREO = 0x00000010;
+const UINT WINEDDFLIP_DONOTWAIT = 0x00000020;
+const UINT WINEDDFLIP_INTERVAL2 = 0x02000000;
+const UINT WINEDDFLIP_INTERVAL3 = 0x03000000;
+const UINT WINEDDFLIP_INTERVAL4 = 0x04000000;
+
+const UINT WINEDDOVER_ALPHADEST = 0x00000001;
+const UINT WINEDDOVER_ALPHADESTCONSTOVERRIDE = 0x00000002;
+const UINT WINEDDOVER_ALPHADESTNEG = 0x00000004;
+const UINT WINEDDOVER_ALPHADESTSURFACEOVERRIDE = 0x00000008;
+const UINT WINEDDOVER_ALPHAEDGEBLEND = 0x00000010;
+const UINT WINEDDOVER_ALPHASRC = 0x00000020;
+const UINT WINEDDOVER_ALPHASRCCONSTOVERRIDE = 0x00000040;
+const UINT WINEDDOVER_ALPHASRCNEG = 0x00000080;
+const UINT WINEDDOVER_ALPHASRCSURFACEOVERRIDE = 0x00000100;
+const UINT WINEDDOVER_HIDE = 0x00000200;
+const UINT WINEDDOVER_KEYDEST = 0x00000400;
+const UINT WINEDDOVER_KEYDESTOVERRIDE = 0x00000800;
+const UINT WINEDDOVER_KEYSRC = 0x00001000;
+const UINT WINEDDOVER_KEYSRCOVERRIDE = 0x00002000;
+const UINT WINEDDOVER_SHOW = 0x00004000;
+const UINT WINEDDOVER_ADDDIRTYRECT = 0x00008000;
+const UINT WINEDDOVER_REFRESHDIRTYRECTS = 0x00010000;
+const UINT WINEDDOVER_REFRESHALL = 0x00020000;
+const UINT WINEDDOVER_DDFX = 0x00080000;
+const UINT WINEDDOVER_AUTOFLIP = 0x00100000;
+const UINT WINEDDOVER_BOB = 0x00200000;
+const UINT WINEDDOVER_OVERRIDEBOBWEAVE = 0x00400000;
+const UINT WINEDDOVER_INTERLEAVED = 0x00800000;
+
+/* DirectDraw Caps */
+const UINT WINEDDSCAPS_RESERVED1 = 0x00000001;
+const UINT WINEDDSCAPS_ALPHA = 0x00000002;
+const UINT WINEDDSCAPS_BACKBUFFER = 0x00000004;
+const UINT WINEDDSCAPS_COMPLEX = 0x00000008;
+const UINT WINEDDSCAPS_FLIP = 0x00000010;
+const UINT WINEDDSCAPS_FRONTBUFFER = 0x00000020;
+const UINT WINEDDSCAPS_OFFSCREENPLAIN = 0x00000040;
+const UINT WINEDDSCAPS_OVERLAY = 0x00000080;
+const UINT WINEDDSCAPS_PALETTE = 0x00000100;
+const UINT WINEDDSCAPS_PRIMARYSURFACE = 0x00000200;
+const UINT WINEDDSCAPS_PRIMARYSURFACELEFT = 0x00000400;
+const UINT WINEDDSCAPS_SYSTEMMEMORY = 0x00000800;
+const UINT WINEDDSCAPS_TEXTURE = 0x00001000;
+const UINT WINEDDSCAPS_3DDEVICE = 0x00002000;
+const UINT WINEDDSCAPS_VIDEOMEMORY = 0x00004000;
+const UINT WINEDDSCAPS_VISIBLE = 0x00008000;
+const UINT WINEDDSCAPS_WRITEONLY = 0x00010000;
+const UINT WINEDDSCAPS_ZBUFFER = 0x00020000;
+const UINT WINEDDSCAPS_OWNDC = 0x00040000;
+const UINT WINEDDSCAPS_LIVEVIDEO = 0x00080000;
+const UINT WINEDDSCAPS_HWCODEC = 0x00100000;
+const UINT WINEDDSCAPS_MODEX = 0x00200000;
+const UINT WINEDDSCAPS_MIPMAP = 0x00400000;
+const UINT WINEDDSCAPS_RESERVED2 = 0x00800000;
+const UINT WINEDDSCAPS_ALLOCONLOAD = 0x04000000;
+const UINT WINEDDSCAPS_VIDEOPORT = 0x08000000;
+const UINT WINEDDSCAPS_LOCALVIDMEM = 0x10000000;
+const UINT WINEDDSCAPS_NONLOCALVIDMEM = 0x20000000;
+const UINT WINEDDSCAPS_STANDARDVGAMODE = 0x40000000;
+const UINT WINEDDSCAPS_OPTIMIZED = 0x80000000;
+
+const UINT WINEDDCKEYCAPS_DESTBLT = 0x00000001;
+const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACE = 0x00000002;
+const UINT WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV = 0x00000004;
+const UINT WINEDDCKEYCAPS_DESTBLTYUV = 0x00000008;
+const UINT WINEDDCKEYCAPS_DESTOVERLAY = 0x00000010;
+const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE = 0x00000020;
+const UINT WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV = 0x00000040;
+const UINT WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE = 0x00000080;
+const UINT WINEDDCKEYCAPS_DESTOVERLAYYUV = 0x00000100;
+const UINT WINEDDCKEYCAPS_SRCBLT = 0x00000200;
+const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACE = 0x00000400;
+const UINT WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV = 0x00000800;
+const UINT WINEDDCKEYCAPS_SRCBLTYUV = 0x00001000;
+const UINT WINEDDCKEYCAPS_SRCOVERLAY = 0x00002000;
+const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE = 0x00004000;
+const UINT WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV = 0x00008000;
+const UINT WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE = 0x00010000;
+const UINT WINEDDCKEYCAPS_SRCOVERLAYYUV = 0x00020000;
+const UINT WINEDDCKEYCAPS_NOCOSTOVERLAY = 0x00040000;
+
+const UINT WINEDDFXCAPS_BLTALPHA = 0x00000001;
+const UINT WINEDDFXCAPS_OVERLAYALPHA = 0x00000004;
+const UINT WINEDDFXCAPS_BLTARITHSTRETCHYN = 0x00000010;
+const UINT WINEDDFXCAPS_BLTARITHSTRETCHY = 0x00000020;
+const UINT WINEDDFXCAPS_BLTMIRRORLEFTRIGHT = 0x00000040;
+const UINT WINEDDFXCAPS_BLTMIRRORUPDOWN = 0x00000080;
+const UINT WINEDDFXCAPS_BLTROTATION = 0x00000100;
+const UINT WINEDDFXCAPS_BLTROTATION90 = 0x00000200;
+const UINT WINEDDFXCAPS_BLTSHRINKX = 0x00000400;
+const UINT WINEDDFXCAPS_BLTSHRINKXN = 0x00000800;
+const UINT WINEDDFXCAPS_BLTSHRINKY = 0x00001000;
+const UINT WINEDDFXCAPS_BLTSHRINKYN = 0x00002000;
+const UINT WINEDDFXCAPS_BLTSTRETCHX = 0x00004000;
+const UINT WINEDDFXCAPS_BLTSTRETCHXN = 0x00008000;
+const UINT WINEDDFXCAPS_BLTSTRETCHY = 0x00010000;
+const UINT WINEDDFXCAPS_BLTSTRETCHYN = 0x00020000;
+const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHY = 0x00040000;
+const UINT WINEDDFXCAPS_OVERLAYARITHSTRETCHYN = 0x00000008;
+const UINT WINEDDFXCAPS_OVERLAYSHRINKX = 0x00080000;
+const UINT WINEDDFXCAPS_OVERLAYSHRINKXN = 0x00100000;
+const UINT WINEDDFXCAPS_OVERLAYSHRINKY = 0x00200000;
+const UINT WINEDDFXCAPS_OVERLAYSHRINKYN = 0x00400000;
+const UINT WINEDDFXCAPS_OVERLAYSTRETCHX = 0x00800000;
+const UINT WINEDDFXCAPS_OVERLAYSTRETCHXN = 0x01000000;
+const UINT WINEDDFXCAPS_OVERLAYSTRETCHY = 0x02000000;
+const UINT WINEDDFXCAPS_OVERLAYSTRETCHYN = 0x04000000;
+const UINT WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT = 0x08000000;
+const UINT WINEDDFXCAPS_OVERLAYMIRRORUPDOWN = 0x10000000;
+
+const UINT WINEDDCAPS_3D = 0x00000001;
+const UINT WINEDDCAPS_ALIGNBOUNDARYDEST = 0x00000002;
+const UINT WINEDDCAPS_ALIGNSIZEDEST = 0x00000004;
+const UINT WINEDDCAPS_ALIGNBOUNDARYSRC = 0x00000008;
+const UINT WINEDDCAPS_ALIGNSIZESRC = 0x00000010;
+const UINT WINEDDCAPS_ALIGNSTRIDE = 0x00000020;
+const UINT WINEDDCAPS_BLT = 0x00000040;
+const UINT WINEDDCAPS_BLTQUEUE = 0x00000080;
+const UINT WINEDDCAPS_BLTFOURCC = 0x00000100;
+const UINT WINEDDCAPS_BLTSTRETCH = 0x00000200;
+const UINT WINEDDCAPS_GDI = 0x00000400;
+const UINT WINEDDCAPS_OVERLAY = 0x00000800;
+const UINT WINEDDCAPS_OVERLAYCANTCLIP = 0x00001000;
+const UINT WINEDDCAPS_OVERLAYFOURCC = 0x00002000;
+const UINT WINEDDCAPS_OVERLAYSTRETCH = 0x00004000;
+const UINT WINEDDCAPS_PALETTE = 0x00008000;
+const UINT WINEDDCAPS_PALETTEVSYNC = 0x00010000;
+const UINT WINEDDCAPS_READSCANLINE = 0x00020000;
+const UINT WINEDDCAPS_STEREOVIEW = 0x00040000;
+const UINT WINEDDCAPS_VBI = 0x00080000;
+const UINT WINEDDCAPS_ZBLTS = 0x00100000;
+const UINT WINEDDCAPS_ZOVERLAYS = 0x00200000;
+const UINT WINEDDCAPS_COLORKEY = 0x00400000;
+const UINT WINEDDCAPS_ALPHA = 0x00800000;
+const UINT WINEDDCAPS_COLORKEYHWASSIST = 0x01000000;
+const UINT WINEDDCAPS_NOHARDWARE = 0x02000000;
+const UINT WINEDDCAPS_BLTCOLORFILL = 0x04000000;
+const UINT WINEDDCAPS_BANKSWITCHED = 0x08000000;
+const UINT WINEDDCAPS_BLTDEPTHFILL = 0x10000000;
+const UINT WINEDDCAPS_CANCLIP = 0x20000000;
+const UINT WINEDDCAPS_CANCLIPSTRETCHED = 0x40000000;
+const UINT WINEDDCAPS_CANBLTSYSMEM = 0x80000000;
+
+const UINT WINEDDCAPS2_CERTIFIED = 0x00000001;
+const UINT WINEDDCAPS2_NO2DDURING3DSCENE = 0x00000002;
+const UINT WINEDDCAPS2_VIDEOPORT = 0x00000004;
+const UINT WINEDDCAPS2_AUTOFLIPOVERLAY = 0x00000008;
+const UINT WINEDDCAPS2_CANBOBINTERLEAVED = 0x00000010;
+const UINT WINEDDCAPS2_CANBOBNONINTERLEAVED = 0x00000020;
+const UINT WINEDDCAPS2_COLORCONTROLOVERLAY = 0x00000040;
+const UINT WINEDDCAPS2_COLORCONTROLPRIMARY = 0x00000080;
+const UINT WINEDDCAPS2_CANDROPZ16BIT = 0x00000100;
+const UINT WINEDDCAPS2_NONLOCALVIDMEM = 0x00000200;
+const UINT WINEDDCAPS2_NONLOCALVIDMEMCAPS = 0x00000400;
+const UINT WINEDDCAPS2_NOPAGELOCKREQUIRED = 0x00000800;
+const UINT WINEDDCAPS2_WIDESURFACES = 0x00001000;
+const UINT WINEDDCAPS2_CANFLIPODDEVEN = 0x00002000;
+const UINT WINEDDCAPS2_CANBOBHARDWARE = 0x00004000;
+const UINT WINEDDCAPS2_COPYFOURCC = 0x00008000;
+const UINT WINEDDCAPS2_PRIMARYGAMMA = 0x00020000;
+const UINT WINEDDCAPS2_CANRENDERWINDOWED = 0x00080000;
+const UINT WINEDDCAPS2_CANCALIBRATEGAMMA = 0x00100000;
+const UINT WINEDDCAPS2_FLIPINTERVAL = 0x00200000;
+const UINT WINEDDCAPS2_FLIPNOVSYNC = 0x00400000;
+const UINT WINEDDCAPS2_CANMANAGETEXTURE = 0x00800000;
+const UINT WINEDDCAPS2_TEXMANINNONLOCALVIDMEM = 0x01000000;
+const UINT WINEDDCAPS2_STEREO = 0x02000000;
+const UINT WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL = 0x04000000;
+
+/* DDCAPS.d */
+const UINT WINEDDPCAPS_4BIT = 0x00000001;
+const UINT WINEDDPCAPS_8BITENTRIES = 0x00000002;
+const UINT WINEDDPCAPS_8BIT = 0x00000004;
+const UINT WINEDDPCAPS_INITIALIZE = 0x00000008;
+const UINT WINEDDPCAPS_PRIMARYSURFACE = 0x00000010;
+const UINT WINEDDPCAPS_PRIMARYSURFACELEFT = 0x00000020;
+const UINT WINEDDPCAPS_ALLOW256 = 0x00000040;
+const UINT WINEDDPCAPS_VSYNC = 0x00000080;
+const UINT WINEDDPCAPS_1BIT = 0x00000100;
+const UINT WINEDDPCAPS_2BIT = 0x00000200;
+const UINT WINEDDPCAPS_ALPHA = 0x00000400;
+
+typedef struct _WINED3DDISPLAYMODE
+{
+ UINT Width;
+ UINT Height;
+ UINT RefreshRate;
+ WINED3DFORMAT Format;
+} WINED3DDISPLAYMODE;
+
+typedef struct _WINED3DCOLORVALUE
+{
+ float r;
+ float g;
+ float b;
+ float a;
+} WINED3DCOLORVALUE;
+
+typedef struct _WINED3DVECTOR
+{
+ float x;
+ float y;
+ float z;
+} WINED3DVECTOR;
+
+typedef struct _WINED3DMATRIX
+{
+ union
+ {
+ struct
+ {
+ float _11, _12, _13, _14;
+ float _21, _22, _23, _24;
+ float _31, _32, _33, _34;
+ float _41, _42, _43, _44;
+ } DUMMYSTRUCTNAME;
+ float m[4][4];
+ } DUMMYUNIONNAME;
+} WINED3DMATRIX;
+
+typedef struct _WINED3DRECT
+{
+ LONG x1;
+ LONG y1;
+ LONG x2;
+ LONG y2;
+} WINED3DRECT;
+
+typedef struct _WINED3DLIGHT
+{
+ WINED3DLIGHTTYPE Type;
+ WINED3DCOLORVALUE Diffuse;
+ WINED3DCOLORVALUE Specular;
+ WINED3DCOLORVALUE Ambient;
+ WINED3DVECTOR Position;
+ WINED3DVECTOR Direction;
+ float Range;
+ float Falloff;
+ float Attenuation0;
+ float Attenuation1;
+ float Attenuation2;
+ float Theta;
+ float Phi;
+} WINED3DLIGHT;
+
+typedef struct _WINED3DMATERIAL
+{
+ WINED3DCOLORVALUE Diffuse;
+ WINED3DCOLORVALUE Ambient;
+ WINED3DCOLORVALUE Specular;
+ WINED3DCOLORVALUE Emissive;
+ float Power;
+} WINED3DMATERIAL;
+
+typedef struct _WINED3DVIEWPORT
+{
+ DWORD X;
+ DWORD Y;
+ DWORD Width;
+ DWORD Height;
+ float MinZ;
+ float MaxZ;
+} WINED3DVIEWPORT;
+
+typedef struct _WINED3DGAMMARAMP
+{
+ WORD red[256];
+ WORD green[256];
+ WORD blue[256];
+} WINED3DGAMMARAMP;
+
+typedef struct _WINED3DLINEPATTERN
+{
+ WORD wRepeatFactor;
+ WORD wLinePattern;
+} WINED3DLINEPATTERN;
+
+typedef struct _WINEDD3DRECTPATCH_INFO
+{
+ UINT StartVertexOffsetWidth;
+ UINT StartVertexOffsetHeight;
+ UINT Width;
+ UINT Height;
+ UINT Stride;
+ WINED3DBASISTYPE Basis;
+ WINED3DDEGREETYPE Degree;
+} WINED3DRECTPATCH_INFO;
+
+typedef struct _WINED3DTRIPATCH_INFO
+{
+ UINT StartVertexOffset;
+ UINT NumVertices;
+ WINED3DBASISTYPE Basis;
+ WINED3DDEGREETYPE Degree;
+} WINED3DTRIPATCH_INFO;
+
+typedef struct _WINED3DADAPTER_IDENTIFIER
+{
+ char *Driver;
+ char *Description;
+ char *DeviceName;
+ LARGE_INTEGER *DriverVersion;
+ DWORD *VendorId;
+ DWORD *DeviceId;
+ DWORD *SubSysId;
+ DWORD *Revision;
+ GUID *DeviceIdentifier;
+ DWORD *WHQLLevel;
+} WINED3DADAPTER_IDENTIFIER;
+
+typedef struct _WINED3DPRESENT_PARAMETERS
+{
+ UINT BackBufferWidth;
+ UINT BackBufferHeight;
+ WINED3DFORMAT BackBufferFormat;
+ UINT BackBufferCount;
+ WINED3DMULTISAMPLE_TYPE MultiSampleType;
+ DWORD MultiSampleQuality;
+ WINED3DSWAPEFFECT SwapEffect;
+ HWND hDeviceWindow;
+ BOOL Windowed;
+ BOOL EnableAutoDepthStencil;
+ WINED3DFORMAT AutoDepthStencilFormat;
+ DWORD Flags;
+ UINT FullScreen_RefreshRateInHz;
+ UINT PresentationInterval;
+ BOOL AutoRestoreDisplayMode;
+} WINED3DPRESENT_PARAMETERS;
+
+typedef struct _WINED3DSURFACE_DESC
+{
+ WINED3DFORMAT *Format;
+ WINED3DRESOURCETYPE *Type;
+ DWORD *Usage;
+ WINED3DPOOL *Pool;
+ UINT *Size;
+ WINED3DMULTISAMPLE_TYPE *MultiSampleType;
+ DWORD *MultiSampleQuality;
+ UINT *Width;
+ UINT *Height;
+} WINED3DSURFACE_DESC;
+
+typedef struct _WINED3DVOLUME_DESC
+{
+ WINED3DFORMAT *Format;
+ WINED3DRESOURCETYPE *Type;
+ DWORD *Usage;
+ WINED3DPOOL *Pool;
+ UINT *Size;
+ UINT *Width;
+ UINT *Height;
+ UINT *Depth;
+} WINED3DVOLUME_DESC;
+
+typedef struct _WINED3DCLIPSTATUS
+{
+ DWORD ClipUnion;
+ DWORD ClipIntersection;
+} WINED3DCLIPSTATUS;
+
+typedef struct _WINED3DVERTEXELEMENT
+{
+ WORD Stream;
+ WORD Offset;
+ BYTE Type;
+ BYTE Method;
+ BYTE Usage;
+ BYTE UsageIndex;
+ int Reg; /* DirectX 8 */
+} WINED3DVERTEXELEMENT, *LPWINED3DVERTEXELEMENT;
+
+typedef struct _WINED3DDEVICE_CREATION_PARAMETERS
+{
+ UINT AdapterOrdinal;
+ WINED3DDEVTYPE DeviceType;
+ HWND hFocusWindow;
+ DWORD BehaviorFlags;
+} WINED3DDEVICE_CREATION_PARAMETERS;
+
+typedef struct _WINED3DDEVINFO_BANDWIDTHTIMINGS
+{
+ float MaxBandwidthUtilized;
+ float FrontEndUploadMemoryUtilizedPercent;
+ float VertexRateUtilizedPercent;
+ float TriangleSetupRateUtilizedPercent;
+ float FillRateUtilizedPercent;
+} WINED3DDEVINFO_BANDWIDTHTIMINGS;
+
+typedef struct _WINED3DDEVINFO_CACHEUTILIZATION
+{
+ float TextureCacheHitRate;
+ float PostTransformVertexCacheHitRate;
+} WINED3DDEVINFO_CACHEUTILIZATION;
+
+typedef struct _WINED3DDEVINFO_INTERFACETIMINGS
+{
+ float WaitingForGPUToUseApplicationResourceTimePercent;
+ float WaitingForGPUToAcceptMoreCommandsTimePercent;
+ float WaitingForGPUToStayWithinLatencyTimePercent;
+ float WaitingForGPUExclusiveResourceTimePercent;
+ float WaitingForGPUOtherTimePercent;
+} WINED3DDEVINFO_INTERFACETIMINGS;
+
+typedef struct _WINED3DDEVINFO_PIPELINETIMINGS
+{
+ float VertexProcessingTimePercent;
+ float PixelProcessingTimePercent;
+ float OtherGPUProcessingTimePercent;
+ float GPUIdleTimePercent;
+} WINED3DDEVINFO_PIPELINETIMINGS;
+
+typedef struct _WINED3DDEVINFO_STAGETIMINGS
+{
+ float MemoryProcessingPercent;
+ float ComputationProcessingPercent;
+} WINED3DDEVINFO_STAGETIMINGS;
+
+typedef struct _WINED3DRASTER_STATUS
+{
+ BOOL InVBlank;
+ UINT ScanLine;
+} WINED3DRASTER_STATUS;
+
+typedef struct WINED3DRESOURCESTATS
+{
+ BOOL bThrashing;
+ DWORD ApproxBytesDownloaded;
+ DWORD NumEvicts;
+ DWORD NumVidCreates;
+ DWORD LastPri;
+ DWORD NumUsed;
+ DWORD NumUsedInVidMem;
+ DWORD WorkingSet;
+ DWORD WorkingSetBytes;
+ DWORD TotalManaged;
+ DWORD TotalBytes;
+} WINED3DRESOURCESTATS;
+
+typedef struct _WINED3DDEVINFO_RESOURCEMANAGER
+{
+ WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
+} WINED3DDEVINFO_RESOURCEMANAGER;
+
+typedef struct _WINED3DDEVINFO_VERTEXSTATS
+{
+ DWORD NumRenderedTriangles;
+ DWORD NumExtraClippingTriangles;
+} WINED3DDEVINFO_VERTEXSTATS;
+
+typedef struct _WINED3DLOCKED_RECT
+{
+ INT Pitch;
+ void *pBits;
+} WINED3DLOCKED_RECT;
+
+typedef struct _WINED3DLOCKED_BOX
+{
+ INT RowPitch;
+ INT SlicePitch;
+ void *pBits;
+} WINED3DLOCKED_BOX;
+
+typedef struct _WINED3DBOX
+{
+ UINT Left;
+ UINT Top;
+ UINT Right;
+ UINT Bottom;
+ UINT Front;
+ UINT Back;
+} WINED3DBOX;
+
+/*Vertex cache optimization hints.*/
+typedef struct WINED3DDEVINFO_VCACHE
+{
+ DWORD Pattern; /* Must be a 4 char code FOURCC (e.g. CACH) */
+ DWORD OptMethod; /* 0 to get the longest strips, 1 vertex cache */
+ DWORD CacheSize; /* Cache size to use (only valid if OptMethod==1) */
+ DWORD MagicNumber; /* Internal for deciding when to restart strips,
+ non user modifiable (only valid if OptMethod==1) */
+} WINED3DDEVINFO_VCACHE;
+
+typedef struct _WINED3DVERTEXBUFFER_DESC
+{
+ WINED3DFORMAT Format;
+ WINED3DRESOURCETYPE Type;
+ DWORD Usage;
+ WINED3DPOOL Pool;
+ UINT Size;
+ DWORD FVF;
+} WINED3DVERTEXBUFFER_DESC;
+
+typedef struct _WINED3DINDEXBUFFER_DESC
+{
+ WINED3DFORMAT Format;
+ WINED3DRESOURCETYPE Type;
+ DWORD Usage;
+ WINED3DPOOL Pool;
+ UINT Size;
+} WINED3DINDEXBUFFER_DESC;
+
+typedef struct glDescriptor
+{
+ UINT textureName;
+ int level;
+ int /*GLenum*/ target;
+ int /*GLenum*/ glFormat;
+ int /*GLenum*/ glFormatInternal;
+ int /*GLenum*/ glType;
+} glDescriptor;
+
+typedef struct WineDirect3DStridedData
+{
+ BYTE *lpData; /* Pointer to start of data */
+ DWORD dwStride; /* Stride between occurrences of this data */
+ DWORD dwType; /* Type (as in D3DVSDT_TYPE) */
+ int VBO; /* Vertex buffer object this data is in */
+ UINT streamNo; /* D3D stream number */
+} WineDirect3DStridedData;
+
+typedef struct WineDirect3DVertexStridedData
+{
+ /*
+ * IMPORTANT:
+ * This structure can be accessed in two ways: Named access, and array
+ * access. Please note that named access is only valid with the fixed
+ * function vertex pipeline, and the arrays are only valid with the
+ * programmable vertex pipeline(vertex shaders).
+ */
+ union
+ {
+ struct
+ {
+ /* Do not add or reorder fields here,
+ * so this can be indexed as an array */
+ WineDirect3DStridedData position;
+ WineDirect3DStridedData blendWeights;
+ WineDirect3DStridedData blendMatrixIndices;
+ WineDirect3DStridedData normal;
+ WineDirect3DStridedData pSize;
+ WineDirect3DStridedData diffuse;
+ WineDirect3DStridedData specular;
+ WineDirect3DStridedData texCoords[WINED3DDP_MAXTEXCOORD];
+ WineDirect3DStridedData position2; /* tween data */
+ WineDirect3DStridedData normal2; /* tween data */
+ WineDirect3DStridedData tangent;
+ WineDirect3DStridedData binormal;
+ WineDirect3DStridedData tessFactor;
+ WineDirect3DStridedData fog;
+ WineDirect3DStridedData depth;
+ WineDirect3DStridedData sample;
+
+ /* Add fields here */
+ BOOL position_transformed;
+ } s;
+ WineDirect3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */
+ } u;
+} WineDirect3DVertexStridedData;
+
+typedef struct _WINED3DVSHADERCAPS2_0
+{
+ DWORD Caps;
+ INT DynamicFlowControlDepth;
+ INT NumTemps;
+ INT StaticFlowControlDepth;
+} WINED3DVSHADERCAPS2_0;
+
+typedef struct _WINED3DPSHADERCAPS2_0
+{
+ DWORD Caps;
+ INT DynamicFlowControlDepth;
+ INT NumTemps;
+ INT StaticFlowControlDepth;
+ INT NumInstructionSlots;
+} WINED3DPSHADERCAPS2_0;
+
+typedef struct _WINEDDCAPS
+{
+ DWORD Caps;
+ DWORD Caps2;
+ DWORD CKeyCaps;
+ DWORD FXCaps;
+ DWORD FXAlphaCaps;
+ DWORD PalCaps;
+ DWORD SVCaps;
+ DWORD SVBCaps;
+ DWORD SVBCKeyCaps;
+ DWORD SVBFXCaps;
+ DWORD VSBCaps;
+ DWORD VSBCKeyCaps;
+ DWORD VSBFXCaps;
+ DWORD SSBCaps;
+ DWORD SSBCKeyCaps;
+ DWORD SSBFXCaps;
+ DWORD ddsCaps;
+ DWORD StrideAlign;
+} WINEDDCAPS;
+
+typedef struct _WINED3DCAPS
+{
+ WINED3DDEVTYPE DeviceType;
+ UINT AdapterOrdinal;
+
+ DWORD Caps;
+ DWORD Caps2;
+ DWORD Caps3;
+ DWORD PresentationIntervals;
+
+ DWORD CursorCaps;
+ DWORD DevCaps;
+ DWORD PrimitiveMiscCaps;
+ DWORD RasterCaps;
+ DWORD ZCmpCaps;
+ DWORD SrcBlendCaps;
+ DWORD DestBlendCaps;
+ DWORD AlphaCmpCaps;
+ DWORD ShadeCaps;
+ DWORD TextureCaps;
+ DWORD TextureFilterCaps;
+ DWORD CubeTextureFilterCaps;
+ DWORD VolumeTextureFilterCaps;
+ DWORD TextureAddressCaps;
+ DWORD VolumeTextureAddressCaps;
+ DWORD LineCaps;
+
+ DWORD MaxTextureWidth;
+ DWORD MaxTextureHeight;
+ DWORD MaxVolumeExtent;
+ DWORD MaxTextureRepeat;
+ DWORD MaxTextureAspectRatio;
+ DWORD MaxAnisotropy;
+ float MaxVertexW;
+
+ float GuardBandLeft;
+ float GuardBandTop;
+ float GuardBandRight;
+ float GuardBandBottom;
+
+ float ExtentsAdjust;
+ DWORD StencilCaps;
+
+ DWORD FVFCaps;
+ DWORD TextureOpCaps;
+ DWORD MaxTextureBlendStages;
+ DWORD MaxSimultaneousTextures;
+
+ DWORD VertexProcessingCaps;
+ DWORD MaxActiveLights;
+ DWORD MaxUserClipPlanes;
+ DWORD MaxVertexBlendMatrices;
+ DWORD MaxVertexBlendMatrixIndex;
+
+ float MaxPointSize;
+
+ DWORD MaxPrimitiveCount;
+ DWORD MaxVertexIndex;
+ DWORD MaxStreams;
+ DWORD MaxStreamStride;
+
+ DWORD VertexShaderVersion;
+ DWORD MaxVertexShaderConst;
+
+ DWORD PixelShaderVersion;
+ float PixelShader1xMaxValue;
+
+ /* DX 9 */
+ DWORD DevCaps2;
+
+ float MaxNpatchTessellationLevel;
+ DWORD Reserved5; /* undocumented */
+
+ UINT MasterAdapterOrdinal;
+ UINT AdapterOrdinalInGroup;
+ UINT NumberOfAdaptersInGroup;
+ DWORD DeclTypes;
+ DWORD NumSimultaneousRTs;
+ DWORD StretchRectFilterCaps;
+ WINED3DVSHADERCAPS2_0 VS20Caps;
+ WINED3DPSHADERCAPS2_0 PS20Caps;
+ DWORD VertexTextureFilterCaps;
+ DWORD MaxVShaderInstructionsExecuted;
+ DWORD MaxPShaderInstructionsExecuted;
+ DWORD MaxVertexShader30InstructionSlots;
+ DWORD MaxPixelShader30InstructionSlots;
+ DWORD Reserved2; /* Not in the microsoft headers but documented */
+ DWORD Reserved3;
+
+ WINEDDCAPS DirectDrawCaps;
+} WINED3DCAPS;
+
+/* DirectDraw types */
+
+typedef struct _WINEDDCOLORKEY
+{
+ DWORD dwColorSpaceLowValue; /* low boundary of color space that is to
+ * be treated as Color Key, inclusive */
+ DWORD dwColorSpaceHighValue; /* high boundary of color space that is
+ * to be treated as Color Key, inclusive */
+} WINEDDCOLORKEY,*LPWINEDDCOLORKEY;
+
+typedef struct _WINEDDBLTFX
+{
+ DWORD dwSize; /* size of structure */
+ DWORD dwDDFX; /* FX operations */
+ DWORD dwROP; /* Win32 raster operations */
+ DWORD dwDDROP; /* Raster operations new for DirectDraw */
+ DWORD dwRotationAngle; /* Rotation angle for blt */
+ DWORD dwZBufferOpCode; /* ZBuffer compares */
+ DWORD dwZBufferLow; /* Low limit of Z buffer */
+ DWORD dwZBufferHigh; /* High limit of Z buffer */
+ DWORD dwZBufferBaseDest; /* Destination base value */
+ DWORD dwZDestConstBitDepth; /* Bit depth used to specify Z constant for destination */
+ union
+ {
+ DWORD dwZDestConst; /* Constant to use as Z buffer for dest */
+ struct IWineD3DSurface *lpDDSZBufferDest; /* Surface to use as Z buffer for dest */
+ } DUMMYUNIONNAME1;
+ DWORD dwZSrcConstBitDepth; /* Bit depth used to specify Z constant for source */
+ union
+ {
+ DWORD dwZSrcConst; /* Constant to use as Z buffer for src */
+ struct IWineD3DSurface *lpDDSZBufferSrc; /* Surface to use as Z buffer for src */
+ } DUMMYUNIONNAME2;
+ DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
+ DWORD dwAlphaEdgeBlend; /* Alpha for edge blending */
+ DWORD dwReserved;
+ DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
+ union
+ {
+ DWORD dwAlphaDestConst; /* Constant to use as Alpha Channel */
+ struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as Alpha Channel */
+ } DUMMYUNIONNAME3;
+ DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
+ union
+ {
+ DWORD dwAlphaSrcConst; /* Constant to use as Alpha Channel */
+ struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as Alpha Channel */
+ } DUMMYUNIONNAME4;
+ union
+ {
+ DWORD dwFillColor; /* color in RGB or Palettized */
+ DWORD dwFillDepth; /* depth value for z-buffer */
+ DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
+ struct IWineD3DSurface *lpDDSPattern; /* Surface to use as pattern */
+ } DUMMYUNIONNAME5;
+ WINEDDCOLORKEY ddckDestColorkey; /* DestColorkey override */
+ WINEDDCOLORKEY ddckSrcColorkey; /* SrcColorkey override */
+} WINEDDBLTFX,*LPWINEDDBLTFX;
+
+typedef struct _WINEDDOVERLAYFX
+{
+ DWORD dwSize; /* size of structure */
+ DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
+ DWORD dwAlphaEdgeBlend; /* Constant to use as alpha for edge blend */
+ DWORD dwReserved;
+ DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
+ union
+ {
+ DWORD dwAlphaDestConst; /* Constant to use as alpha channel for dest */
+ struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as alpha channel for dest */
+ } DUMMYUNIONNAME1;
+ DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
+ union
+ {
+ DWORD dwAlphaSrcConst; /* Constant to use as alpha channel for src */
+ struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as alpha channel for src */
+ } DUMMYUNIONNAME2;
+ WINEDDCOLORKEY dckDestColorkey; /* DestColorkey override */
+ WINEDDCOLORKEY dckSrcColorkey; /* SrcColorkey override */
+ DWORD dwDDFX; /* Overlay FX */
+ DWORD dwFlags; /* flags */
+} WINEDDOVERLAYFX;
+
+interface IWineD3DResource;
+interface IWineD3DSurface;
+interface IWineD3DVolume;
+interface IWineD3DSwapChain;
+interface IWineD3DDevice;
+
+typedef HRESULT (*D3DCB_CREATESURFACEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
+ UINT Height, WINED3DFORMAT Format, DWORD Usage, WINED3DPOOL Pool, UINT Level, WINED3DCUBEMAP_FACES Face,
+ IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
+typedef HRESULT (*D3DCB_CREATERENDERTARGETFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
+ UINT Height, WINED3DFORMAT Format, WINED3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality,
+ BOOL Lockable, IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
+typedef HRESULT (*D3DCB_CREATEDEPTHSTENCILSURFACEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
+ UINT Height, WINED3DFORMAT Format, WINED3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality,
+ BOOL Discard, IWineD3DSurface **ppSurface, HANDLE *pSharedHandle);
+typedef ULONG (*D3DCB_DESTROYSURFACEFN)(IWineD3DSurface *pSurface);
+typedef HRESULT (*D3DCB_CREATEVOLUMEFN)(IUnknown *pDevice, IUnknown *pSuperior, UINT Width,
+ UINT Height, UINT Depth, WINED3DFORMAT Format, WINED3DPOOL Pool, DWORD Usage,
+ IWineD3DVolume **ppVolume, HANDLE *pSharedHandle);
+typedef ULONG (*D3DCB_DESTROYVOLUMEFN)(IWineD3DVolume *pVolume);
+typedef HRESULT (*D3DCB_CREATESWAPCHAIN)(IUnknown *pDevice, WINED3DPRESENT_PARAMETERS *pPresentationParameters,
+ IWineD3DSwapChain **pSwapChain);
+typedef ULONG (*D3DCB_DESTROYSWAPCHAINFN)(IWineD3DSwapChain *pSwapChain);
+typedef HRESULT (*D3DCB_ENUMRESOURCES)(IWineD3DResource *resource, void *pData);
+
+[
+ object,
+ local,
+ uuid(46799311-8e0e-40ce-b2ec-ddb99f18fcb4)
+]
+interface IWineD3DBase : IUnknown
+{
+ HRESULT GetParent(
+ [out] IUnknown **parent
+ );
+}
+
+[
+ object,
+ local,
+ uuid(108f9c44-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3D : IWineD3DBase
+{
+ UINT GetAdapterCount(
+ );
+ HRESULT RegisterSoftwareDevice(
+ [in] void *pInitializeFunction
+ );
+ HMONITOR GetAdapterMonitor(
+ [in] UINT adapter_idx
+ );
+ UINT GetAdapterModeCount(
+ [in] UINT adapter_idx,
+ [in] WINED3DFORMAT format
+ );
+ HRESULT EnumAdapterModes(
+ [in] UINT adapter_idx,
+ [in] UINT mode_idx,
+ [in] WINED3DFORMAT format,
+ [out] WINED3DDISPLAYMODE *mode
+ );
+ HRESULT GetAdapterDisplayMode(
+ [in] UINT adapter_idx,
+ [out] WINED3DDISPLAYMODE *mode
+ );
+ HRESULT GetAdapterIdentifier(
+ [in] UINT adapter_idx,
+ [in] DWORD flags,
+ [out] WINED3DADAPTER_IDENTIFIER *identifier
+ );
+ HRESULT CheckDeviceMultiSampleType(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] WINED3DFORMAT surface_format,
+ [in] BOOL windowed,
+ [in] WINED3DMULTISAMPLE_TYPE multisample_type,
+ [out] DWORD *quality_levels
+ );
+ HRESULT CheckDepthStencilMatch(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] WINED3DFORMAT adapter_format,
+ [in] WINED3DFORMAT render_target_format,
+ [in] WINED3DFORMAT depth_stencil_format
+ );
+ HRESULT CheckDeviceType(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] WINED3DFORMAT display_format,
+ [in] WINED3DFORMAT backbuffer_format,
+ [in] BOOL windowed
+ );
+ HRESULT CheckDeviceFormat(
+ [in] UINT adaper_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] WINED3DFORMAT adapter_format,
+ [in] DWORD usage,
+ [in] WINED3DRESOURCETYPE resource_type,
+ [in] WINED3DFORMAT check_format,
+ [in] WINED3DSURFTYPE surface_type
+ );
+ HRESULT CheckDeviceFormatConversion(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] WINED3DFORMAT source_format,
+ [in] WINED3DFORMAT target_format
+ );
+ HRESULT GetDeviceCaps(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [out] WINED3DCAPS *caps
+ );
+ HRESULT CreateDevice(
+ [in] UINT adapter_idx,
+ [in] WINED3DDEVTYPE device_type,
+ [in] HWND focus_window,
+ [in] DWORD behaviour_flags,
+ [out] IWineD3DDevice **device,
+ [in] IUnknown *parent
+ );
+}
+
+[
+ object,
+ local,
+ uuid(1f3bfb34-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DResource : IWineD3DBase
+{
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT SetPrivateData(
+ [in] REFGUID guid,
+ [in] const void *data,
+ [in] DWORD data_size,
+ [in] DWORD flags
+ );
+ HRESULT GetPrivateData(
+ [in] REFGUID guid,
+ [out] void *data,
+ [in, out] DWORD *data_size
+ );
+ HRESULT FreePrivateData(
+ [in] REFGUID guid
+ );
+ DWORD SetPriority(
+ [in] DWORD new_priority
+ );
+ DWORD GetPriority(
+ );
+ void PreLoad(
+ );
+ void UnLoad(
+ );
+ WINED3DRESOURCETYPE GetType(
+ );
+}
+
+[
+ object,
+ local,
+ uuid(217f671e-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DVertexBuffer : IWineD3DResource
+{
+ HRESULT Lock(
+ [in] UINT offset,
+ [in] UINT size,
+ [out] BYTE **data,
+ [in] DWORD flags
+ );
+ HRESULT Unlock(
+ );
+ HRESULT GetDesc(
+ [out] WINED3DVERTEXBUFFER_DESC *desc
+ );
+}
+
+[
+ object,
+ local,
+ uuid(3a02a54e-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DIndexBuffer : IWineD3DResource
+{
+ HRESULT Lock(
+ [in] UINT offset,
+ [in] UINT size,
+ [out] BYTE **data,
+ [in] DWORD flags
+ );
+ HRESULT Unlock(
+ );
+ HRESULT GetDesc(
+ [out] WINED3DINDEXBUFFER_DESC *desc
+ );
+}
+
+[
+ object,
+ local,
+ uuid(f756720c-32b9-4439-b5a3-1d6c97037d9e)
+]
+interface IWineD3DPalette : IWineD3DBase
+{
+ HRESULT GetEntries(
+ [in] DWORD flags,
+ [in] DWORD start,
+ [in] DWORD count,
+ [out] PALETTEENTRY *entries
+ );
+ HRESULT GetCaps(
+ [out] DWORD *caps
+ );
+ HRESULT SetEntries(
+ [in] DWORD flags,
+ [in] DWORD start,
+ [in] DWORD count,
+ [in] PALETTEENTRY *entries
+ );
+}
+
+[
+ object,
+ local,
+ uuid(8f2bceb1-d338-488c-ab7f-0ec980bf5d2d)
+]
+interface IWineD3DClipper : IWineD3DBase
+{
+ HRESULT GetClipList(
+ [in] RECT *rect,
+ [out] RGNDATA *clip_list,
+ [in, out] DWORD *clip_list_size
+ );
+ HRESULT GetHWnd(
+ [out] HWND *hwnd
+ );
+ HRESULT IsClipListChanged(
+ [out] BOOL *changed
+ );
+ HRESULT SetClipList(
+ [in] RGNDATA *clip_list,
+ [in] DWORD flags
+ );
+ HRESULT SetHWnd(
+ [in] DWORD flags,
+ [in] HWND hwnd
+ );
+}
+
+[
+ object,
+ local,
+ uuid(37cd5526-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DSurface : IWineD3DResource
+{
+ HRESULT GetContainer(
+ [in] REFIID riid,
+ [out] void **container
+ );
+ HRESULT GetDesc(
+ [out] WINED3DSURFACE_DESC *desc
+ );
+ HRESULT LockRect(
+ [out] WINED3DLOCKED_RECT *locked_rect,
+ [in] const RECT *rect,
+ [in] DWORD flags
+ );
+ HRESULT UnlockRect(
+ );
+ HRESULT GetDC(
+ [out] HDC *dc
+ );
+ HRESULT ReleaseDC(
+ [in] HDC dc
+ );
+ HRESULT Flip(
+ [in] IWineD3DSurface *override,
+ [in] DWORD flags
+ );
+ HRESULT Blt(
+ [in] RECT *dst_rect,
+ [in] IWineD3DSurface *src_surface,
+ [in] RECT *src_rect,
+ [in] DWORD flags,
+ [in] WINEDDBLTFX *blt_fx,
+ [in] WINED3DTEXTUREFILTERTYPE filter
+ );
+ HRESULT GetBltStatus(
+ [in] DWORD flags
+ );
+ HRESULT GetFlipStatus(
+ [in] DWORD flags
+ );
+ HRESULT IsLost(
+ );
+ HRESULT Restore(
+ );
+ HRESULT BltFast(
+ [in] DWORD dst_x,
+ [in] DWORD dst_y,
+ [in] IWineD3DSurface *src_surface,
+ [in] RECT *src_rect,
+ [in] DWORD trans
+ );
+ HRESULT GetPalette(
+ [out] IWineD3DPalette **palette
+ );
+ HRESULT SetPalette(
+ [in] IWineD3DPalette *palette
+ );
+ HRESULT RealizePalette(
+ );
+ HRESULT SetColorKey(
+ [in] DWORD flags,
+ [in] WINEDDCOLORKEY *color_key
+ );
+ DWORD GetPitch(
+ );
+ HRESULT SetMem(
+ [in] void *mem
+ );
+ HRESULT SetOverlayPosition(
+ [in] LONG x,
+ [in] LONG y
+ );
+ HRESULT GetOverlayPosition(
+ [out] LONG *x,
+ [out] LONG *y
+ );
+ HRESULT UpdateOverlayZOrder(
+ [in] DWORD flags,
+ [in] IWineD3DSurface *ref
+ );
+ HRESULT UpdateOverlay(
+ [in] RECT *src_rect,
+ [in] IWineD3DSurface *dst_surface,
+ [in] RECT *dst_rect,
+ [in] DWORD flags,
+ [in] WINEDDOVERLAYFX *fx
+ );
+ HRESULT SetClipper(
+ [in] IWineD3DClipper *clipper
+ );
+ HRESULT GetClipper(
+ [out] IWineD3DClipper **clipper
+ );
+ HRESULT AddDirtyRect(
+ [in] const RECT *dirty_rect
+ );
+ HRESULT LoadTexture(
+ [in] BOOL srgb_mode
+ );
+ void BindTexture(
+ );
+ HRESULT SaveSnapshot(
+ [in] const char *filename
+ );
+ HRESULT SetContainer(
+ [in] IWineD3DBase *container
+ );
+ void GetGlDesc(
+ [out] glDescriptor **desc
+ );
+ const void *GetData(
+ );
+ HRESULT SetFormat(
+ [in] WINED3DFORMAT format
+ );
+ HRESULT PrivateSetup(
+ );
+ void ModifyLocation(
+ [in] DWORD location,
+ [in] BOOL persistent
+ );
+ HRESULT LoadLocation(
+ [in] DWORD location,
+ [in] const RECT *rect
+ );
+ WINED3DSURFTYPE GetImplType(
+ );
+ HRESULT DrawOverlay(
+ );
+}
+
+[
+ object,
+ local,
+ uuid(24769ed8-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DVolume : IWineD3DResource
+{
+ HRESULT GetContainer(
+ [in] REFIID riid,
+ [out] void **container
+ );
+ HRESULT GetDesc(
+ [out] WINED3DVOLUME_DESC *desc
+ );
+ HRESULT LockBox(
+ [out] WINED3DLOCKED_BOX *locked_box,
+ [in] const WINED3DBOX *box,
+ [in] DWORD flags
+ );
+ HRESULT UnlockBox(
+ );
+ HRESULT AddDirtyBox(
+ [in] const WINED3DBOX *dirty_box
+ );
+ HRESULT CleanDirtyBox(
+ );
+ HRESULT LoadTexture(
+ [in] int gl_level,
+ [in] BOOL srgb_mode
+ );
+ HRESULT SetContainer(
+ [in] IWineD3DBase *container
+ );
+}
+
+[
+ object,
+ local,
+ uuid(3c2aebf6-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DBaseTexture : IWineD3DResource
+{
+ DWORD SetLOD(
+ [in] DWORD new_lod
+ );
+ DWORD GetLOD(
+ );
+ DWORD GetLevelCount(
+ );
+ HRESULT SetAutoGenFilterType(
+ WINED3DTEXTUREFILTERTYPE filter_type
+ );
+ WINED3DTEXTUREFILTERTYPE GetAutoGenFilterType(
+ );
+ void GenerateMipSubLevels(
+ );
+ BOOL SetDirty(
+ BOOL dirty
+ );
+ BOOL GetDirty(
+ );
+ HRESULT BindTexture(
+ );
+ UINT GetTextureDimensions(
+ );
+ BOOL IsCondNP2(
+ );
+ void ApplyStateChanges(
+ const DWORD texture_states[WINED3D_HIGHEST_TEXTURE_STATE + 1],
+ const DWORD sampler_states[WINED3D_HIGHEST_SAMPLER_STATE + 1]
+ );
+}
+
+[
+ object,
+ local,
+ uuid(3e72cc1c-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DTexture : IWineD3DBaseTexture
+{
+ void Destroy(
+ [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
+ );
+ HRESULT GetLevelDesc(
+ [in] UINT level,
+ [out] WINED3DSURFACE_DESC *desc
+ );
+ HRESULT GetSurfaceLevel(
+ [in] UINT level,
+ [out] IWineD3DSurface **surface
+ );
+ HRESULT LockRect(
+ [in] UINT level,
+ [out] WINED3DLOCKED_RECT *locked_rect,
+ [in] const RECT *rect,
+ [in] DWORD flags
+ );
+ HRESULT UnlockRect(
+ [in] UINT level
+ );
+ HRESULT AddDirtyRect(
+ [in] const RECT *dirty_rect
+ );
+}
+
+[
+ object,
+ local,
+ uuid(41752900-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DCubeTexture : IWineD3DBaseTexture
+{
+ void Destroy(
+ [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
+ );
+ HRESULT GetLevelDesc(
+ [in] UINT level,
+ [out] WINED3DSURFACE_DESC *desc
+ );
+ HRESULT GetCubeMapSurface(
+ [in] WINED3DCUBEMAP_FACES face,
+ [in] UINT level,
+ [out] IWineD3DSurface **surface
+ );
+ HRESULT LockRect(
+ [in] WINED3DCUBEMAP_FACES face,
+ [in] UINT level,
+ [out] WINED3DLOCKED_RECT *locked_rect,
+ [in] const RECT *rect,
+ [in] DWORD flags
+ );
+ HRESULT UnlockRect(
+ [in] WINED3DCUBEMAP_FACES face,
+ [in] UINT level
+ );
+ HRESULT AddDirtyRect(
+ [in] WINED3DCUBEMAP_FACES face,
+ [in] const RECT *dirty_rect
+ );
+}
+
+[
+ object,
+ local,
+ uuid(7b39470c-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DVolumeTexture : IWineD3DBaseTexture
+{
+ void Destroy(
+ [in] D3DCB_DESTROYVOLUMEFN destroy_volume_callback
+ );
+ HRESULT GetLevelDesc(
+ [in] UINT level,
+ [out] WINED3DVOLUME_DESC *desc
+ );
+ HRESULT GetVolumeLevel(
+ [in] UINT level,
+ [out] IWineD3DVolume **volume
+ );
+ HRESULT LockBox(
+ [in] UINT level,
+ [out] WINED3DLOCKED_BOX *locked_box,
+ [in] const WINED3DBOX *box,
+ [in] DWORD flags
+ );
+ HRESULT UnlockBox(
+ [in] UINT level
+ );
+ HRESULT AddDirtyBox(
+ [in] const WINED3DBOX *dirty_box
+ );
+}
+
+[
+ object,
+ local,
+ uuid(7cd55be6-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DVertexDeclaration : IWineD3DBase
+{
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT GetDeclaration(
+ [out] WINED3DVERTEXELEMENT *elements,
+ [out] UINT *element_count
+ );
+ HRESULT SetDeclaration(
+ [in] const WINED3DVERTEXELEMENT *elements,
+ [in] UINT element_count
+ );
+}
+
+[
+ object,
+ local,
+ uuid(83b073ce-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DStateBlock : IWineD3DBase
+{
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT Capture(
+ );
+ HRESULT Apply(
+ );
+ HRESULT InitStartupStateBlock(
+ );
+}
+
+[
+ object,
+ local,
+ uuid(905ddbac-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DQuery : IWineD3DBase
+{
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT GetData(
+ [out] void *data,
+ [in] DWORD data_size,
+ [in] DWORD flags
+ );
+ DWORD GetDataSize(
+ );
+ WINED3DQUERYTYPE GetType(
+ );
+ HRESULT Issue(
+ DWORD flags
+ );
+}
+
+[
+ object,
+ local,
+ uuid(34d01b10-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DSwapChain : IWineD3DBase
+{
+ void Destroy(
+ [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback
+ );
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT Present(
+ [in] const RECT *src_rect,
+ [in] const RECT *dst_rect,
+ [in] HWND dst_window_override,
+ [in] const RGNDATA *dirty_region,
+ [in] DWORD flags
+ );
+ HRESULT SetDestWindowOverride(
+ [in] HWND window
+ );
+ HRESULT GetFrontBufferData(
+ [in] IWineD3DSurface *dst_surface
+ );
+ HRESULT GetBackBuffer(
+ [in] UINT backbuffer_idx,
+ [in] WINED3DBACKBUFFER_TYPE backbuffer_type,
+ [out] IWineD3DSurface **backbuffer
+ );
+ HRESULT GetRasterStatus(
+ [out] WINED3DRASTER_STATUS *raster_status
+ );
+ HRESULT GetDisplayMode(
+ [out] WINED3DDISPLAYMODE *mode
+ );
+ HRESULT GetPresentParameters(
+ [out] WINED3DPRESENT_PARAMETERS *present_parameters
+ );
+ HRESULT SetGammaRamp(
+ [in] DWORD flags,
+ [in] const WINED3DGAMMARAMP *ramp
+ );
+ HRESULT GetGammaRamp(
+ [out] WINED3DGAMMARAMP *ramp
+ );
+}
+
+[
+ object,
+ local,
+ uuid(eac93065-a4df-446f-86a1-9ef2bca40a3c)
+]
+interface IWineD3DBaseShader : IWineD3DBase
+{
+ HRESULT SetFunction(
+ [in] const DWORD *function
+ );
+}
+
+[
+ object,
+ local,
+ uuid(7f7a2b60-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DVertexShader : IWineD3DBaseShader
+{
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT GetFunction(
+ [out] void *data,
+ [in, out] UINT *data_size
+ );
+ void FakeSemantics(
+ [in] IWineD3DVertexDeclaration *vertex_declaration
+ );
+ HRESULT SetLocalConstantsF(
+ [in] UINT start_idx,
+ [in] const float *src_data,
+ [in] UINT vector4f_count
+ );
+}
+
+[
+ object,
+ local,
+ uuid(818503da-6f30-11d9-c687-00046142c14f)
+]
+interface IWineD3DPixelShader : IWineD3DBaseShader
+{
+ HRESULT UpdateSamplers(
+ );
+ HRESULT GetDevice(
+ [out] IWineD3DDevice **device
+ );
+ HRESULT GetFunction(
+ [out] void *data,
+ [in, out] UINT *data_size
+ );
+}
+
+[
+ object,
+ local,
+ uuid(6d10a2ce-09d0-4a53-a427-11388f9f8ca5)
+]
+interface IWineD3DDevice : IWineD3DBase
+{
+ HRESULT CreateVertexBuffer(
+ [in] UINT length,
+ [in] DWORD usage,
+ [in] DWORD fvf,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DVertexBuffer **vertex_buffer,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateIndexBuffer(
+ [in] UINT length,
+ [in] DWORD usage,
+ [in] WINED3DFORMAT format,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DIndexBuffer **index_buffer,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateStateBlock(
+ [in] WINED3DSTATEBLOCKTYPE type,
+ [out] IWineD3DStateBlock **stateblock,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateSurface(
+ [in] UINT width,
+ [in] UINT height,
+ [in] WINED3DFORMAT format,
+ [in] BOOL lockable,
+ [in] BOOL discard,
+ [in] UINT level,
+ [out] IWineD3DSurface **surface,
+ [in] WINED3DRESOURCETYPE resource_type,
+ [in] DWORD usage,
+ [in] WINED3DPOOL pool,
+ [in] WINED3DMULTISAMPLE_TYPE multisample_type,
+ [in] DWORD multisample_quality,
+ [in] HANDLE *shared_handle,
+ [in] WINED3DSURFTYPE surface_type,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateTexture(
+ [in] UINT width,
+ [in] UINT height,
+ [in] UINT levels,
+ [in] DWORD usage,
+ [in] WINED3DFORMAT format,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DTexture **texture,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent,
+ [in] D3DCB_CREATESURFACEFN create_surface_callback
+ );
+ HRESULT CreateVolumeTexture(
+ [in] UINT width,
+ [in] UINT height,
+ [in] UINT depth,
+ [in] UINT levels,
+ [in] DWORD usage,
+ [in] WINED3DFORMAT format,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DVolumeTexture **texture,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent,
+ [in] D3DCB_CREATEVOLUMEFN create_volume_callback
+ );
+ HRESULT CreateVolume(
+ [in] UINT width,
+ [in] UINT height,
+ [in] UINT depth,
+ [in] DWORD usage,
+ [in] WINED3DFORMAT format,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DVolume **volume,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateCubeTexture(
+ [in] UINT edge_length,
+ [in] UINT levels,
+ [in] DWORD usage,
+ [in] WINED3DFORMAT format,
+ [in] WINED3DPOOL pool,
+ [out] IWineD3DCubeTexture **texture,
+ [in] HANDLE *shared_handle,
+ [in] IUnknown *parent,
+ [in] D3DCB_CREATESURFACEFN create_surface_callback
+ );
+ HRESULT CreateQuery(
+ [in] WINED3DQUERYTYPE type,
+ [out] IWineD3DQuery **query,
+ [in] IUnknown *parent
+ );
+ HRESULT CreateSwapChain(
+ [in] WINED3DPRESENT_PARAMETERS *present_parameters,
+ [out] IWineD3DSwapChain **swapchain,
+ [in] IUnknown *parent,
+ [in] D3DCB_CREATERENDERTARGETFN create_render_target_callback,
+ [in] D3DCB_CREATEDEPTHSTENCILSURFACEFN create_depth_stencil_callback,
+ [in] WINED3DSURFTYPE surface_type
+ );
+ HRESULT CreateVertexDeclaration(
+ [out] IWineD3DVertexDeclaration **declaration,
+ [in] IUnknown *parent,
+ [in] const WINED3DVERTEXELEMENT *elements,
+ [in] UINT element_count
+ );
+ HRESULT CreateVertexDeclarationFromFVF(
+ [out] IWineD3DVertexDeclaration **declaration,
+ [in] IUnknown *parent,
+ [in] DWORD fvf
+ );
+ HRESULT CreateVertexShader(
+ [in] IWineD3DVertexDeclaration *declaration,
+ [in] const DWORD *function,
+ [out] IWineD3DVertexShader **shader,
+ [in] IUnknown *parent
+ );
+ HRESULT CreatePixelShader(
+ [in] const DWORD *function,
+ [out] IWineD3DPixelShader **shader,
+ [in] IUnknown *parent
+ );
+ HRESULT CreatePalette(
+ [in] DWORD flags,
+ [in] PALETTEENTRY *palette_entry,
+ [out] IWineD3DPalette **palette,
+ [in] IUnknown *parent
+ );
+ HRESULT Init3D(
+ [in] WINED3DPRESENT_PARAMETERS *present_parameters,
+ [in] D3DCB_CREATESWAPCHAIN create_swapchain_callback
+ );
+ HRESULT InitGDI(
+ [in] WINED3DPRESENT_PARAMETERS *present_parameters,
+ [in] D3DCB_CREATESWAPCHAIN create_swapchain_callback
+ );
+ HRESULT Uninit3D(
+ [in] D3DCB_DESTROYSURFACEFN destroy_surface_callback,
+ [in] D3DCB_DESTROYSWAPCHAINFN destroy_swapchain_callback
+ );
+ HRESULT UninitGDI(
+ [in] D3DCB_DESTROYSWAPCHAINFN destroy_swapchain_callback
+ );
+ void SetMultithreaded(
+ );
+ HRESULT EvictManagedResources(
+ );
+ UINT GetAvailableTextureMem(
+ );
+ HRESULT GetBackBuffer(
+ [in] UINT swapchain_idx,
+ [in] UINT backbuffer_idx,
+ [in] WINED3DBACKBUFFER_TYPE backbuffer_type,
+ [out] IWineD3DSurface **backbuffer
+ );
+ HRESULT GetCreationParameters(
+ [out] WINED3DDEVICE_CREATION_PARAMETERS *creation_parameters
+ );
+ HRESULT GetDeviceCaps(
+ [out] WINED3DCAPS *caps
+ );
+ HRESULT GetDirect3D(
+ [out] IWineD3D** d3d
+ );
+ HRESULT GetDisplayMode(
+ [in] UINT swapchain_idx,
+ [out] WINED3DDISPLAYMODE *mode
+ );
+ HRESULT SetDisplayMode(
+ [in] UINT swapchain_idx,
+ [in] WINED3DDISPLAYMODE *mode
+ );
+ UINT GetNumberOfSwapChains(
+ );
+ HRESULT GetRasterStatus(
+ [in] UINT swapchain_idx,
+ [out] WINED3DRASTER_STATUS *raster_status
+ );
+ HRESULT GetSwapChain(
+ [in] UINT swapchain_idx,
+ [out] IWineD3DSwapChain **swapchain
+ );
+ HRESULT Reset(
+ [in] WINED3DPRESENT_PARAMETERS *present_parameters
+ );
+ HRESULT SetDialogBoxMode(
+ [in] BOOL enable_dialogs
+ );
+ HRESULT SetCursorProperties(
+ [in] UINT x_hotspot,
+ [in] UINT y_hotspot,
+ [in] IWineD3DSurface *cursor_surface
+ );
+ void SetCursorPosition(
+ [in] int x_screen_space,
+ [in] int y_screen_space,
+ [in] DWORD flags
+ );
+ BOOL ShowCursor(
+ [in] BOOL show
+ );
+ HRESULT TestCooperativeLevel(
+ );
+ HRESULT SetClipPlane(
+ [in] DWORD plane_idx,
+ [in] const float *plane
+ );
+ HRESULT GetClipPlane(
+ [in] DWORD plane_idx,
+ [out] float *plane
+ );
+ HRESULT SetClipStatus(
+ [in] const WINED3DCLIPSTATUS *clip_status
+ );
+ HRESULT GetClipStatus(
+ [out] WINED3DCLIPSTATUS *clip_status
+ );
+ HRESULT SetCurrentTexturePalette(
+ [in] UINT palette_number
+ );
+ HRESULT GetCurrentTexturePalette(
+ [out] UINT *palette_number
+ );
+ HRESULT SetDepthStencilSurface(
+ [in] IWineD3DSurface *depth_stencil
+ );
+ HRESULT GetDepthStencilSurface(
+ [out] IWineD3DSurface **depth_stencil
+ );
+ HRESULT SetFVF(
+ [in] DWORD fvf
+ );
+ HRESULT GetFVF(
+ [out] DWORD *fvf
+ );
+ void SetGammaRamp(
+ [in] UINT swapchain_idx,
+ [in] DWORD flags,
+ [in] const WINED3DGAMMARAMP *ramp
+ );
+ void GetGammaRamp(
+ [in] UINT swapchain_idx,
+ [out] WINED3DGAMMARAMP *ramp
+ );
+ HRESULT SetIndices(
+ [in] IWineD3DIndexBuffer *index_buffer
+ );
+ HRESULT GetIndices(
+ [out] IWineD3DIndexBuffer **index_buffer
+ );
+ HRESULT SetBaseVertexIndex(
+ [in] INT base_index
+ );
+ HRESULT GetBaseVertexIndex(
+ [out] INT *base_index
+ );
+ HRESULT SetLight(
+ [in] DWORD light_idx,
+ [in] const WINED3DLIGHT *light
+ );
+ HRESULT GetLight(
+ [in] DWORD light_idx,
+ [out] WINED3DLIGHT *light
+ );
+ HRESULT SetLightEnable(
+ [in] DWORD light_idx,
+ [in] BOOL enable
+ );
+ HRESULT GetLightEnable(
+ [in] DWORD light_idx,
+ [out] BOOL *enable
+ );
+ HRESULT SetMaterial(
+ [in] const WINED3DMATERIAL *material
+ );
+ HRESULT GetMaterial(
+ [out] WINED3DMATERIAL *material
+ );
+ HRESULT SetNPatchMode(
+ [in] float segments
+ );
+ float GetNPatchMode(
+ );
+ HRESULT SetPaletteEntries(
+ [in] UINT palette_number,
+ [in] const PALETTEENTRY *entries
+ );
+ HRESULT GetPaletteEntries(
+ [in] UINT palette_number,
+ [out] PALETTEENTRY *entries
+ );
+ HRESULT SetPixelShader(
+ [in] IWineD3DPixelShader *shader
+ );
+ HRESULT GetPixelShader(
+ [out] IWineD3DPixelShader **shader
+ );
+ HRESULT SetPixelShaderConstantB(
+ [in] UINT start_register,
+ [in] const BOOL *constants,
+ [in] UINT bool_count
+ );
+ HRESULT GetPixelShaderConstantB(
+ [in] UINT start_register,
+ [out] BOOL *constants,
+ [in] UINT bool_count
+ );
+ HRESULT SetPixelShaderConstantI(
+ [in] UINT start_register,
+ [in] const int *constants,
+ [in] UINT vector4i_count
+ );
+ HRESULT GetPixelShaderConstantI(
+ [in] UINT start_register,
+ [out] int *constants,
+ [in] UINT vector4i_count
+ );
+ HRESULT SetPixelShaderConstantF(
+ [in] UINT start_register,
+ [in] const float *constants,
+ [in] UINT vector4f_count
+ );
+ HRESULT GetPixelShaderConstantF(
+ [in] UINT start_register,
+ [out] float *constants,
+ [in] UINT vector4f_count
+ );
+ HRESULT SetRenderState(
+ [in] WINED3DRENDERSTATETYPE state,
+ [in] DWORD value
+ );
+ HRESULT GetRenderState(
+ [in] WINED3DRENDERSTATETYPE state,
+ [out] DWORD *value
+ );
+ HRESULT SetRenderTarget(
+ [in] DWORD render_target_idx,
+ [in] IWineD3DSurface *render_target
+ );
+ HRESULT GetRenderTarget(
+ [in] DWORD render_target_idx,
+ [out] IWineD3DSurface **render_target
+ );
+ HRESULT SetFrontBackBuffers(
+ [in] IWineD3DSurface *front,
+ [in] IWineD3DSurface *back
+ );
+ HRESULT SetSamplerState(
+ [in] DWORD sampler_idx,
+ [in] WINED3DSAMPLERSTATETYPE state,
+ [in] DWORD value
+ );
+ HRESULT GetSamplerState(
+ [in] DWORD sampler_idx,
+ [in] WINED3DSAMPLERSTATETYPE state,
+ [out] DWORD *value
+ );
+ HRESULT SetScissorRect(
+ [in] const RECT *rect
+ );
+ HRESULT GetScissorRect(
+ [out] RECT *rect
+ );
+ HRESULT SetSoftwareVertexProcessing(
+ [in] BOOL software
+ );
+ BOOL GetSoftwareVertexProcessing(
+ );
+ HRESULT SetStreamSource(
+ [in] UINT stream_idx,
+ [in] IWineD3DVertexBuffer *vertex_buffer,
+ [in] UINT offset,
+ [in] UINT stride
+ );
+ HRESULT GetStreamSource(
+ [in] UINT stream_idx,
+ [out] IWineD3DVertexBuffer **vertex_buffer,
+ [out] UINT *offset,
+ [out] UINT *stride
+ );
+ HRESULT SetStreamSourceFreq(
+ [in] UINT stream_idx,
+ [in] UINT divider
+ );
+ HRESULT GetStreamSourceFreq(
+ [in] UINT stream_idx,
+ [out] UINT *divider
+ );
+ HRESULT SetTexture(
+ [in] DWORD stage,
+ [in] IWineD3DBaseTexture *texture
+ );
+ HRESULT GetTexture(
+ [in] DWORD stage,
+ [out] IWineD3DBaseTexture **texture
+ );
+ HRESULT SetTextureStageState(
+ [in] DWORD stage,
+ [in] WINED3DTEXTURESTAGESTATETYPE state,
+ [in] DWORD value
+ );
+ HRESULT GetTextureStageState(
+ [in] DWORD stage,
+ [in] WINED3DTEXTURESTAGESTATETYPE state,
+ [out] DWORD *value
+ );
+ HRESULT SetTransform(
+ [in] WINED3DTRANSFORMSTATETYPE state,
+ [in] const WINED3DMATRIX *matrix
+ );
+ HRESULT GetTransform(
+ [in] WINED3DTRANSFORMSTATETYPE state,
+ [out] WINED3DMATRIX *matrix
+ );
+ HRESULT SetVertexDeclaration(
+ [in] IWineD3DVertexDeclaration *declaration
+ );
+ HRESULT GetVertexDeclaration(
+ [out] IWineD3DVertexDeclaration **declaration
+ );
+ HRESULT SetVertexShader(
+ [in] IWineD3DVertexShader *shader
+ );
+ HRESULT GetVertexShader(
+ [out] IWineD3DVertexShader **shader
+ );
+ HRESULT SetVertexShaderConstantB(
+ [in] UINT start_register,
+ [in] const BOOL *constants,
+ [in] UINT bool_count
+ );
+ HRESULT GetVertexShaderConstantB(
+ [in] UINT start_register,
+ [out] BOOL *constants,
+ [in] UINT bool_count
+ );
+ HRESULT SetVertexShaderConstantI(
+ [in] UINT start_register,
+ [in] const int *constants,
+ [in] UINT vector4i_count
+ );
+ HRESULT GetVertexShaderConstantI(
+ [in] UINT start_register,
+ [out] int *constants,
+ [in] UINT vector4i_count
+ );
+ HRESULT SetVertexShaderConstantF(
+ [in] UINT start_register,
+ [in] const float *constants,
+ [in] UINT vector4f_count
+ );
+ HRESULT GetVertexShaderConstantF(
+ [in] UINT start_register,
+ [out] float *constants,
+ [in] UINT vector4f_count
+ );
+ HRESULT SetViewport(
+ [in] const WINED3DVIEWPORT *viewport
+ );
+ HRESULT GetViewport(
+ [out] WINED3DVIEWPORT *viewport
+ );
+ HRESULT MultiplyTransform(
+ [in] WINED3DTRANSFORMSTATETYPE state,
+ [in] const WINED3DMATRIX *matrix
+ );
+ HRESULT ValidateDevice(
+ [out] DWORD *num_passes
+ );
+ HRESULT ProcessVertices(
+ [in] UINT src_start_idx,
+ [in] UINT dst_idx,
+ [in] UINT vertex_count,
+ [in] IWineD3DVertexBuffer *dest_buffer,
+ [in] IWineD3DVertexDeclaration *declaration,
+ [in] DWORD flags
+ );
+ HRESULT BeginStateBlock(
+ );
+ HRESULT EndStateBlock(
+ [out] IWineD3DStateBlock **stateblock
+ );
+ HRESULT BeginScene(
+ );
+ HRESULT EndScene(
+ );
+ HRESULT Present(
+ [in] const RECT *src_rect,
+ [in] const RECT *dst_rect,
+ [in] HWND dst_window_override,
+ [in] const RGNDATA *dirty_region
+ );
+ HRESULT Clear(
+ [in] DWORD rect_count,
+ [in] const WINED3DRECT *rects,
+ [in] DWORD flags,
+ [in] WINED3DCOLOR color,
+ [in] float z,
+ [in] DWORD stencil
+ );
+ HRESULT DrawPrimitive(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT start_vertex,
+ [in] UINT primitive_count
+ );
+ HRESULT DrawIndexedPrimitive(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT min_vertex_idx,
+ [in] UINT vertex_count,
+ [in] UINT start_idx,
+ [in] UINT primitive_count
+ );
+ HRESULT DrawPrimitiveUP(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT primitive_count,
+ [in] const void *stream_data,
+ [in] UINT stream_stride
+ );
+ HRESULT DrawIndexedPrimitiveUP(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT min_vertex_idx,
+ [in] UINT vertex_count,
+ [in] UINT primitive_count,
+ [in] const void *index_data,
+ [in] WINED3DFORMAT index_data_format,
+ [in] const void *stream_data,
+ [in] UINT stream_stride
+ );
+ HRESULT DrawPrimitiveStrided(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT primitive_count,
+ [in] WineDirect3DVertexStridedData *strided_data
+ );
+ HRESULT DrawIndexedPrimitiveStrided(
+ [in] WINED3DPRIMITIVETYPE primitive_type,
+ [in] UINT primitive_count,
+ [in] WineDirect3DVertexStridedData *strided_data,
+ [in] UINT vertex_count,
+ [in] const void *index_data,
+ [in] WINED3DFORMAT index_data_format
+ );
+ HRESULT DrawRectPatch(
+ [in] UINT handle,
+ [in] const float *num_segs,
+ [in] const WINED3DRECTPATCH_INFO *rect_patch_info
+ );
+ HRESULT DrawTriPatch(
+ [in] UINT handle,
+ [in] const float *num_segs,
+ [in] const WINED3DTRIPATCH_INFO *tri_patch_info
+ );
+ HRESULT DeletePatch(
+ [in] UINT handle
+ );
+ HRESULT ColorFill(
+ [in] IWineD3DSurface *surface,
+ [in] const WINED3DRECT *rect,
+ [in] WINED3DCOLOR color
+ );
+ HRESULT UpdateTexture(
+ [in] IWineD3DBaseTexture *src_texture,
+ [in] IWineD3DBaseTexture *dst_texture
+ );
+ HRESULT UpdateSurface(
+ [in] IWineD3DSurface *src_surface,
+ [in] const RECT *src_rect,
+ [in] IWineD3DSurface *dst_surface,
+ [in] const POINT *dst_point
+ );
+ HRESULT GetFrontBufferData(
+ [in] UINT swapchain_idx,
+ [in] IWineD3DSurface *dst_surface
+ );
+ void ResourceReleased(
+ [in] IWineD3DResource *resource
+ );
+ HRESULT EnumResources(
+ [in] D3DCB_ENUMRESOURCES callback,
+ [in] void *data
+ );
+}
+
+IWineD3D *WineDirect3DCreate(UINT dxVersion, IUnknown *parent);
+IWineD3DClipper *WineDirect3DCreateClipper(IUnknown *parent);
diff --git a/include/wine/wined3d_caps.h b/include/wine/wined3d_caps.h
deleted file mode 100644
index 1f5f71c..0000000
--- a/include/wine/wined3d_caps.h
+++ /dev/null
@@ -1,590 +0,0 @@
-/*
- * Copyright 2007 Henri Verbeet
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_WINED3D_CAPS_H
-#define __WINE_WINED3D_CAPS_H
-
-#define WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020L
-#define WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x00000080L
-#define WINED3DCAPS3_COPY_TO_VIDMEM 0x00000100L
-#define WINED3DCAPS3_COPY_TO_SYSTEMMEM 0x00000200L
-#define WINED3DCAPS3_RESERVED 0x8000001FL
-
-#define WINED3DDEVCAPS2_STREAMOFFSET 0x00000001
-#define WINED3DDEVCAPS2_DMAPNPATCH 0x00000002
-#define WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x00000004
-#define WINED3DDEVCAPS2_ADAPTIVETESSNPATCH 0x00000008
-#define WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x00000010
-#define WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x00000020
-#define WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040
-
-#define WINED3DDTCAPS_UBYTE4 0x00000001
-#define WINED3DDTCAPS_UBYTE4N 0x00000002
-#define WINED3DDTCAPS_SHORT2N 0x00000004
-#define WINED3DDTCAPS_SHORT4N 0x00000008
-#define WINED3DDTCAPS_USHORT2N 0x00000010
-#define WINED3DDTCAPS_USHORT4N 0x00000020
-#define WINED3DDTCAPS_UDEC3 0x00000040
-#define WINED3DDTCAPS_DEC3N 0x00000080
-#define WINED3DDTCAPS_FLOAT16_2 0x00000100
-#define WINED3DDTCAPS_FLOAT16_4 0x00000200
-
-#define WINED3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000FFFF
-#define WINED3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
-#define WINED3DFVFCAPS_PSIZE 0x00100000
-
-#define WINED3DLINECAPS_TEXTURE 0x00000001
-#define WINED3DLINECAPS_ZTEST 0x00000002
-#define WINED3DLINECAPS_BLEND 0x00000004
-#define WINED3DLINECAPS_ALPHACMP 0x00000008
-#define WINED3DLINECAPS_FOG 0x00000010
-#define WINED3DLINECAPS_ANTIALIAS 0x00000020
-
-#define WINED3DMAX30SHADERINSTRUCTIONS 32768
-#define WINED3DMIN30SHADERINSTRUCTIONS 512
-
-#define WINED3DPBLENDCAPS_ZERO 0x00000001
-#define WINED3DPBLENDCAPS_ONE 0x00000002
-#define WINED3DPBLENDCAPS_SRCCOLOR 0x00000004
-#define WINED3DPBLENDCAPS_INVSRCCOLOR 0x00000008
-#define WINED3DPBLENDCAPS_SRCALPHA 0x00000010
-#define WINED3DPBLENDCAPS_INVSRCALPHA 0x00000020
-#define WINED3DPBLENDCAPS_DESTALPHA 0x00000040
-#define WINED3DPBLENDCAPS_INVDESTALPHA 0x00000080
-#define WINED3DPBLENDCAPS_DESTCOLOR 0x00000100
-#define WINED3DPBLENDCAPS_INVDESTCOLOR 0x00000200
-#define WINED3DPBLENDCAPS_SRCALPHASAT 0x00000400
-#define WINED3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
-#define WINED3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
-#define WINED3DPBLENDCAPS_BLENDFACTOR 0x00002000
-
-#define WINED3DPCMPCAPS_NEVER 0x00000001
-#define WINED3DPCMPCAPS_LESS 0x00000002
-#define WINED3DPCMPCAPS_EQUAL 0x00000004
-#define WINED3DPCMPCAPS_LESSEQUAL 0x00000008
-#define WINED3DPCMPCAPS_GREATER 0x00000010
-#define WINED3DPCMPCAPS_NOTEQUAL 0x00000020
-#define WINED3DPCMPCAPS_GREATEREQUAL 0x00000040
-#define WINED3DPCMPCAPS_ALWAYS 0x00000080
-
-#define WINED3DPMISCCAPS_MASKZ 0x00000002
-#define WINED3DPMISCCAPS_LINEPATTERNREP 0x00000004
-#define WINED3DPMISCCAPS_CULLNONE 0x00000010
-#define WINED3DPMISCCAPS_CULLCW 0x00000020
-#define WINED3DPMISCCAPS_CULLCCW 0x00000040
-#define WINED3DPMISCCAPS_COLORWRITEENABLE 0x00000080
-#define WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x00000100
-#define WINED3DPMISCCAPS_CLIPTLVERTS 0x00000200
-#define WINED3DPMISCCAPS_TSSARGTEMP 0x00000400
-#define WINED3DPMISCCAPS_BLENDOP 0x00000800
-#define WINED3DPMISCCAPS_NULLREFERENCE 0x00001000
-#define WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x00004000
-#define WINED3DPMISCCAPS_PERSTAGECONSTANT 0x00008000
-#define WINED3DPMISCCAPS_FOGANDSPECULARALPHA 0x00010000
-#define WINED3DPMISCCAPS_SEPARATEALPHABLEND 0x00020000
-#define WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x00040000
-#define WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000
-#define WINED3DPMISCCAPS_FOGVERTEXCLAMPED 0x00100000
-
-#define WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define WINED3DPS20_MAX_NUMTEMPS 32
-#define WINED3DPS20_MIN_NUMTEMPS 12
-#define WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
-#define WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
-#define WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
-
-#define WINED3DPS20CAPS_ARBITRARYSWIZZLE 0x00000001
-#define WINED3DPS20CAPS_GRADIENTINSTRUCTIONS 0x00000002
-#define WINED3DPS20CAPS_PREDICATION 0x00000004
-#define WINED3DPS20CAPS_NODEPENDENTREADLIMIT 0x00000008
-#define WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 0x00000010
-
-#define WINED3DPTADDRESSCAPS_WRAP 0x00000001
-#define WINED3DPTADDRESSCAPS_MIRROR 0x00000002
-#define WINED3DPTADDRESSCAPS_CLAMP 0x00000004
-#define WINED3DPTADDRESSCAPS_BORDER 0x00000008
-#define WINED3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
-#define WINED3DPTADDRESSCAPS_MIRRORONCE 0x00000020
-
-#define WINED3DSTENCILCAPS_KEEP 0x00000001
-#define WINED3DSTENCILCAPS_ZERO 0x00000002
-#define WINED3DSTENCILCAPS_REPLACE 0x00000004
-#define WINED3DSTENCILCAPS_INCRSAT 0x00000008
-#define WINED3DSTENCILCAPS_DECRSAT 0x00000010
-#define WINED3DSTENCILCAPS_INVERT 0x00000020
-#define WINED3DSTENCILCAPS_INCR 0x00000040
-#define WINED3DSTENCILCAPS_DECR 0x00000080
-#define WINED3DSTENCILCAPS_TWOSIDED 0x00000100
-
-#define WINED3DTEXOPCAPS_DISABLE 0x00000001
-#define WINED3DTEXOPCAPS_SELECTARG1 0x00000002
-#define WINED3DTEXOPCAPS_SELECTARG2 0x00000004
-#define WINED3DTEXOPCAPS_MODULATE 0x00000008
-#define WINED3DTEXOPCAPS_MODULATE2X 0x00000010
-#define WINED3DTEXOPCAPS_MODULATE4X 0x00000020
-#define WINED3DTEXOPCAPS_ADD 0x00000040
-#define WINED3DTEXOPCAPS_ADDSIGNED 0x00000080
-#define WINED3DTEXOPCAPS_ADDSIGNED2X 0x00000100
-#define WINED3DTEXOPCAPS_SUBTRACT 0x00000200
-#define WINED3DTEXOPCAPS_ADDSMOOTH 0x00000400
-#define WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
-#define WINED3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
-#define WINED3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
-#define WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
-#define WINED3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
-#define WINED3DTEXOPCAPS_PREMODULATE 0x00010000
-#define WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
-#define WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
-#define WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
-#define WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
-#define WINED3DTEXOPCAPS_BUMPENVMAP 0x00200000
-#define WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
-#define WINED3DTEXOPCAPS_DOTPRODUCT3 0x00800000
-#define WINED3DTEXOPCAPS_MULTIPLYADD 0x01000000
-#define WINED3DTEXOPCAPS_LERP 0x02000000
-
-#define WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define WINED3DVS20_MAX_NUMTEMPS 32
-#define WINED3DVS20_MIN_NUMTEMPS 12
-#define WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
-
-#define WINED3DVS20CAPS_PREDICATION 0x00000001
-
-#define WINED3DCAPS2_NO2DDURING3DSCENE 0x00000002
-#define WINED3DCAPS2_FULLSCREENGAMMA 0x00020000
-#define WINED3DCAPS2_CANRENDERWINDOWED 0x00080000
-#define WINED3DCAPS2_CANCALIBRATEGAMMA 0x00100000
-#define WINED3DCAPS2_RESERVED 0x02000000
-#define WINED3DCAPS2_CANMANAGERESOURCE 0x10000000
-#define WINED3DCAPS2_DYNAMICTEXTURES 0x20000000
-#define WINED3DCAPS2_CANAUTOGENMIPMAP 0x40000000
-
-#define WINED3DPRASTERCAPS_DITHER 0x00000001
-#define WINED3DPRASTERCAPS_ROP2 0x00000002
-#define WINED3DPRASTERCAPS_XOR 0x00000004
-#define WINED3DPRASTERCAPS_PAT 0x00000008
-#define WINED3DPRASTERCAPS_ZTEST 0x00000010
-#define WINED3DPRASTERCAPS_SUBPIXEL 0x00000020
-#define WINED3DPRASTERCAPS_SUBPIXELX 0x00000040
-#define WINED3DPRASTERCAPS_FOGVERTEX 0x00000080
-#define WINED3DPRASTERCAPS_FOGTABLE 0x00000100
-#define WINED3DPRASTERCAPS_STIPPLE 0x00000200
-#define WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400
-#define WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800
-#define WINED3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
-#define WINED3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
-#define WINED3DPRASTERCAPS_ZBIAS 0x00004000
-#define WINED3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
-#define WINED3DPRASTERCAPS_FOGRANGE 0x00010000
-#define WINED3DPRASTERCAPS_ANISOTROPY 0x00020000
-#define WINED3DPRASTERCAPS_WBUFFER 0x00040000
-#define WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000
-#define WINED3DPRASTERCAPS_WFOG 0x00100000
-#define WINED3DPRASTERCAPS_ZFOG 0x00200000
-#define WINED3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000
-#define WINED3DPRASTERCAPS_SCISSORTEST 0x01000000
-#define WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000
-#define WINED3DPRASTERCAPS_DEPTHBIAS 0x04000000
-#define WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000
-
-#define WINED3DPSHADECAPS_COLORFLATMONO 0x00000001
-#define WINED3DPSHADECAPS_COLORFLATRGB 0x00000002
-#define WINED3DPSHADECAPS_COLORGOURAUDMONO 0x00000004
-#define WINED3DPSHADECAPS_COLORGOURAUDRGB 0x00000008
-#define WINED3DPSHADECAPS_COLORPHONGMONO 0x00000010
-#define WINED3DPSHADECAPS_COLORPHONGRGB 0x00000020
-#define WINED3DPSHADECAPS_SPECULARFLATMONO 0x00000040
-#define WINED3DPSHADECAPS_SPECULARFLATRGB 0x00000080
-#define WINED3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100
-#define WINED3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
-#define WINED3DPSHADECAPS_SPECULARPHONGMONO 0x00000400
-#define WINED3DPSHADECAPS_SPECULARPHONGRGB 0x00000800
-#define WINED3DPSHADECAPS_ALPHAFLATBLEND 0x00001000
-#define WINED3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000
-#define WINED3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000
-#define WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000
-#define WINED3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000
-#define WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000
-#define WINED3DPSHADECAPS_FOGFLAT 0x00040000
-#define WINED3DPSHADECAPS_FOGGOURAUD 0x00080000
-#define WINED3DPSHADECAPS_FOGPHONG 0x00100000
-
-#define WINED3DPTEXTURECAPS_PERSPECTIVE 0x00000001
-#define WINED3DPTEXTURECAPS_POW2 0x00000002
-#define WINED3DPTEXTURECAPS_ALPHA 0x00000004
-#define WINED3DPTEXTURECAPS_TRANSPARENCY 0x00000008
-#define WINED3DPTEXTURECAPS_BORDER 0x00000010
-#define WINED3DPTEXTURECAPS_SQUAREONLY 0x00000020
-#define WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
-#define WINED3DPTEXTURECAPS_ALPHAPALETTE 0x00000080
-#define WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100
-#define WINED3DPTEXTURECAPS_PROJECTED 0x00000400
-#define WINED3DPTEXTURECAPS_CUBEMAP 0x00000800
-#define WINED3DPTEXTURECAPS_COLORKEYBLEND 0x00001000
-#define WINED3DPTEXTURECAPS_VOLUMEMAP 0x00002000
-#define WINED3DPTEXTURECAPS_MIPMAP 0x00004000
-#define WINED3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000
-#define WINED3DPTEXTURECAPS_MIPCUBEMAP 0x00010000
-#define WINED3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000
-#define WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000
-#define WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000
-
-#define WINED3DPTFILTERCAPS_NEAREST 0x00000001
-#define WINED3DPTFILTERCAPS_LINEAR 0x00000002
-#define WINED3DPTFILTERCAPS_MIPNEAREST 0x00000004
-#define WINED3DPTFILTERCAPS_MIPLINEAR 0x00000008
-#define WINED3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010
-#define WINED3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020
-#define WINED3DPTFILTERCAPS_MINFPOINT 0x00000100
-#define WINED3DPTFILTERCAPS_MINFLINEAR 0x00000200
-#define WINED3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
-#define WINED3DPTFILTERCAPS_MIPFPOINT 0x00010000
-#define WINED3DPTFILTERCAPS_MIPFLINEAR 0x00020000
-#define WINED3DPTFILTERCAPS_MAGFPOINT 0x01000000
-#define WINED3DPTFILTERCAPS_MAGFLINEAR 0x02000000
-#define WINED3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
-#define WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
-#define WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
-
-#define WINED3DVTXPCAPS_TEXGEN 0x00000001
-#define WINED3DVTXPCAPS_MATERIALSOURCE7 0x00000002
-#define WINED3DVTXPCAPS_VERTEXFOG 0x00000004
-#define WINED3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008
-#define WINED3DVTXPCAPS_POSITIONALLIGHTS 0x00000010
-#define WINED3DVTXPCAPS_LOCALVIEWER 0x00000020
-#define WINED3DVTXPCAPS_TWEENING 0x00000040
-#define WINED3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100
-#define WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200
-
-#define WINED3DCURSORCAPS_COLOR 0x00000001
-#define WINED3DCURSORCAPS_LOWRES 0x00000002
-
-#define WINED3DDEVCAPS_FLOATTLVERTEX 0x00000001
-#define WINED3DDEVCAPS_SORTINCREASINGZ 0x00000002
-#define WINED3DDEVCAPS_SORTDECREASINGZ 0X00000004
-#define WINED3DDEVCAPS_SORTEXACT 0x00000008
-#define WINED3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010
-#define WINED3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020
-#define WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040
-#define WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080
-#define WINED3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100
-#define WINED3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200
-#define WINED3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400
-#define WINED3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800
-#define WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000
-#define WINED3DDEVCAPS_DRAWPRIMITIVES2 0x00002000
-#define WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
-#define WINED3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000
-#define WINED3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000
-#define WINED3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000
-#define WINED3DDEVCAPS_HWRASTERIZATION 0x00080000
-#define WINED3DDEVCAPS_PUREDEVICE 0x00100000
-#define WINED3DDEVCAPS_QUINTICRTPATCHES 0x00200000
-#define WINED3DDEVCAPS_RTPATCHES 0x00400000
-#define WINED3DDEVCAPS_RTPATCHHANDLEZERO 0x00800000
-#define WINED3DDEVCAPS_NPATCHES 0x01000000
-
-/* DirectDraw Caps */
-#define WINEDDSCAPS_RESERVED1 0x00000001
-#define WINEDDSCAPS_ALPHA 0x00000002
-#define WINEDDSCAPS_BACKBUFFER 0x00000004
-#define WINEDDSCAPS_COMPLEX 0x00000008
-#define WINEDDSCAPS_FLIP 0x00000010
-#define WINEDDSCAPS_FRONTBUFFER 0x00000020
-#define WINEDDSCAPS_OFFSCREENPLAIN 0x00000040
-#define WINEDDSCAPS_OVERLAY 0x00000080
-#define WINEDDSCAPS_PALETTE 0x00000100
-#define WINEDDSCAPS_PRIMARYSURFACE 0x00000200
-#define WINEDDSCAPS_PRIMARYSURFACELEFT 0x00000400
-#define WINEDDSCAPS_SYSTEMMEMORY 0x00000800
-#define WINEDDSCAPS_TEXTURE 0x00001000
-#define WINEDDSCAPS_3DDEVICE 0x00002000
-#define WINEDDSCAPS_VIDEOMEMORY 0x00004000
-#define WINEDDSCAPS_VISIBLE 0x00008000
-#define WINEDDSCAPS_WRITEONLY 0x00010000
-#define WINEDDSCAPS_ZBUFFER 0x00020000
-#define WINEDDSCAPS_OWNDC 0x00040000
-#define WINEDDSCAPS_LIVEVIDEO 0x00080000
-#define WINEDDSCAPS_HWCODEC 0x00100000
-#define WINEDDSCAPS_MODEX 0x00200000
-#define WINEDDSCAPS_MIPMAP 0x00400000
-#define WINEDDSCAPS_RESERVED2 0x00800000
-#define WINEDDSCAPS_ALLOCONLOAD 0x04000000
-#define WINEDDSCAPS_VIDEOPORT 0x08000000
-#define WINEDDSCAPS_LOCALVIDMEM 0x10000000
-#define WINEDDSCAPS_NONLOCALVIDMEM 0x20000000
-#define WINEDDSCAPS_STANDARDVGAMODE 0x40000000
-#define WINEDDSCAPS_OPTIMIZED 0x80000000
-
-#define WINEDDCKEYCAPS_DESTBLT 0x00000001
-#define WINEDDCKEYCAPS_DESTBLTCLRSPACE 0x00000002
-#define WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004
-#define WINEDDCKEYCAPS_DESTBLTYUV 0x00000008
-#define WINEDDCKEYCAPS_DESTOVERLAY 0x00000010
-#define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020
-#define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040
-#define WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080
-#define WINEDDCKEYCAPS_DESTOVERLAYYUV 0x00000100
-#define WINEDDCKEYCAPS_SRCBLT 0x00000200
-#define WINEDDCKEYCAPS_SRCBLTCLRSPACE 0x00000400
-#define WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800
-#define WINEDDCKEYCAPS_SRCBLTYUV 0x00001000
-#define WINEDDCKEYCAPS_SRCOVERLAY 0x00002000
-#define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000
-#define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000
-#define WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000
-#define WINEDDCKEYCAPS_SRCOVERLAYYUV 0x00020000
-#define WINEDDCKEYCAPS_NOCOSTOVERLAY 0x00040000
-
-#define WINEDDFXCAPS_BLTALPHA 0x00000001
-#define WINEDDFXCAPS_OVERLAYALPHA 0x00000004
-#define WINEDDFXCAPS_BLTARITHSTRETCHYN 0x00000010
-#define WINEDDFXCAPS_BLTARITHSTRETCHY 0x00000020
-#define WINEDDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040
-#define WINEDDFXCAPS_BLTMIRRORUPDOWN 0x00000080
-#define WINEDDFXCAPS_BLTROTATION 0x00000100
-#define WINEDDFXCAPS_BLTROTATION90 0x00000200
-#define WINEDDFXCAPS_BLTSHRINKX 0x00000400
-#define WINEDDFXCAPS_BLTSHRINKXN 0x00000800
-#define WINEDDFXCAPS_BLTSHRINKY 0x00001000
-#define WINEDDFXCAPS_BLTSHRINKYN 0x00002000
-#define WINEDDFXCAPS_BLTSTRETCHX 0x00004000
-#define WINEDDFXCAPS_BLTSTRETCHXN 0x00008000
-#define WINEDDFXCAPS_BLTSTRETCHY 0x00010000
-#define WINEDDFXCAPS_BLTSTRETCHYN 0x00020000
-#define WINEDDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000
-#define WINEDDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008
-#define WINEDDFXCAPS_OVERLAYSHRINKX 0x00080000
-#define WINEDDFXCAPS_OVERLAYSHRINKXN 0x00100000
-#define WINEDDFXCAPS_OVERLAYSHRINKY 0x00200000
-#define WINEDDFXCAPS_OVERLAYSHRINKYN 0x00400000
-#define WINEDDFXCAPS_OVERLAYSTRETCHX 0x00800000
-#define WINEDDFXCAPS_OVERLAYSTRETCHXN 0x01000000
-#define WINEDDFXCAPS_OVERLAYSTRETCHY 0x02000000
-#define WINEDDFXCAPS_OVERLAYSTRETCHYN 0x04000000
-#define WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000
-#define WINEDDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000
-
-#define WINEDDCAPS_3D 0x00000001
-#define WINEDDCAPS_ALIGNBOUNDARYDEST 0x00000002
-#define WINEDDCAPS_ALIGNSIZEDEST 0x00000004
-#define WINEDDCAPS_ALIGNBOUNDARYSRC 0x00000008
-#define WINEDDCAPS_ALIGNSIZESRC 0x00000010
-#define WINEDDCAPS_ALIGNSTRIDE 0x00000020
-#define WINEDDCAPS_BLT 0x00000040
-#define WINEDDCAPS_BLTQUEUE 0x00000080
-#define WINEDDCAPS_BLTFOURCC 0x00000100
-#define WINEDDCAPS_BLTSTRETCH 0x00000200
-#define WINEDDCAPS_GDI 0x00000400
-#define WINEDDCAPS_OVERLAY 0x00000800
-#define WINEDDCAPS_OVERLAYCANTCLIP 0x00001000
-#define WINEDDCAPS_OVERLAYFOURCC 0x00002000
-#define WINEDDCAPS_OVERLAYSTRETCH 0x00004000
-#define WINEDDCAPS_PALETTE 0x00008000
-#define WINEDDCAPS_PALETTEVSYNC 0x00010000
-#define WINEDDCAPS_READSCANLINE 0x00020000
-#define WINEDDCAPS_STEREOVIEW 0x00040000
-#define WINEDDCAPS_VBI 0x00080000
-#define WINEDDCAPS_ZBLTS 0x00100000
-#define WINEDDCAPS_ZOVERLAYS 0x00200000
-#define WINEDDCAPS_COLORKEY 0x00400000
-#define WINEDDCAPS_ALPHA 0x00800000
-#define WINEDDCAPS_COLORKEYHWASSIST 0x01000000
-#define WINEDDCAPS_NOHARDWARE 0x02000000
-#define WINEDDCAPS_BLTCOLORFILL 0x04000000
-#define WINEDDCAPS_BANKSWITCHED 0x08000000
-#define WINEDDCAPS_BLTDEPTHFILL 0x10000000
-#define WINEDDCAPS_CANCLIP 0x20000000
-#define WINEDDCAPS_CANCLIPSTRETCHED 0x40000000
-#define WINEDDCAPS_CANBLTSYSMEM 0x80000000
-
-#define WINEDDCAPS2_CERTIFIED 0x00000001
-#define WINEDDCAPS2_NO2DDURING3DSCENE 0x00000002
-#define WINEDDCAPS2_VIDEOPORT 0x00000004
-#define WINEDDCAPS2_AUTOFLIPOVERLAY 0x00000008
-#define WINEDDCAPS2_CANBOBINTERLEAVED 0x00000010
-#define WINEDDCAPS2_CANBOBNONINTERLEAVED 0x00000020
-#define WINEDDCAPS2_COLORCONTROLOVERLAY 0x00000040
-#define WINEDDCAPS2_COLORCONTROLPRIMARY 0x00000080
-#define WINEDDCAPS2_CANDROPZ16BIT 0x00000100
-#define WINEDDCAPS2_NONLOCALVIDMEM 0x00000200
-#define WINEDDCAPS2_NONLOCALVIDMEMCAPS 0x00000400
-#define WINEDDCAPS2_NOPAGELOCKREQUIRED 0x00000800
-#define WINEDDCAPS2_WIDESURFACES 0x00001000
-#define WINEDDCAPS2_CANFLIPODDEVEN 0x00002000
-#define WINEDDCAPS2_CANBOBHARDWARE 0x00004000
-#define WINEDDCAPS2_COPYFOURCC 0x00008000
-#define WINEDDCAPS2_PRIMARYGAMMA 0x00020000
-#define WINEDDCAPS2_CANRENDERWINDOWED 0x00080000
-#define WINEDDCAPS2_CANCALIBRATEGAMMA 0x00100000
-#define WINEDDCAPS2_FLIPINTERVAL 0x00200000
-#define WINEDDCAPS2_FLIPNOVSYNC 0x00400000
-#define WINEDDCAPS2_CANMANAGETEXTURE 0x00800000
-#define WINEDDCAPS2_TEXMANINNONLOCALVIDMEM 0x01000000
-#define WINEDDCAPS2_STEREO 0x02000000
-#define WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL 0x04000000
-
-/* DDCAPS.dwPalCaps */
-#define WINEDDPCAPS_4BIT 0x00000001
-#define WINEDDPCAPS_8BITENTRIES 0x00000002
-#define WINEDDPCAPS_8BIT 0x00000004
-#define WINEDDPCAPS_INITIALIZE 0x00000008
-#define WINEDDPCAPS_PRIMARYSURFACE 0x00000010
-#define WINEDDPCAPS_PRIMARYSURFACELEFT 0x00000020
-#define WINEDDPCAPS_ALLOW256 0x00000040
-#define WINEDDPCAPS_VSYNC 0x00000080
-#define WINEDDPCAPS_1BIT 0x00000100
-#define WINEDDPCAPS_2BIT 0x00000200
-#define WINEDDPCAPS_ALPHA 0x00000400
-
-typedef struct _WINED3DVSHADERCAPS2_0
-{
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
-} WINED3DVSHADERCAPS2_0;
-
-typedef struct _WINED3DPSHADERCAPS2_0
-{
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
- INT NumInstructionSlots;
-} WINED3DPSHADERCAPS2_0;
-
-typedef struct _WINEDDCAPS
-{
- DWORD Caps;
- DWORD Caps2;
- DWORD CKeyCaps;
- DWORD FXCaps;
- DWORD FXAlphaCaps;
- DWORD PalCaps;
- DWORD SVCaps;
- DWORD SVBCaps;
- DWORD SVBCKeyCaps;
- DWORD SVBFXCaps;
- DWORD VSBCaps;
- DWORD VSBCKeyCaps;
- DWORD VSBFXCaps;
- DWORD SSBCaps;
- DWORD SSBCKeyCaps;
- DWORD SSBFXCaps;
- DWORD ddsCaps;
- DWORD StrideAlign;
-} WINEDDCAPS;
-
-typedef struct _WINED3DCAPS
-{
- WINED3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
-
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
-
- DWORD CursorCaps;
- DWORD DevCaps;
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
- DWORD LineCaps;
-
- DWORD MaxTextureWidth;
- DWORD MaxTextureHeight;
- DWORD MaxVolumeExtent;
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
-
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
-
- float ExtentsAdjust;
- DWORD StencilCaps;
-
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
-
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
-
- float MaxPointSize;
-
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
-
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
-
- DWORD PixelShaderVersion;
- float PixelShader1xMaxValue;
-
- /* DX 9 */
- DWORD DevCaps2;
-
- float MaxNpatchTessellationLevel;
- DWORD Reserved5; /*undocumented*/
-
- UINT MasterAdapterOrdinal;
- UINT AdapterOrdinalInGroup;
- UINT NumberOfAdaptersInGroup;
- DWORD DeclTypes;
- DWORD NumSimultaneousRTs;
- DWORD StretchRectFilterCaps;
- WINED3DVSHADERCAPS2_0 VS20Caps;
- WINED3DPSHADERCAPS2_0 PS20Caps;
- DWORD VertexTextureFilterCaps;
- DWORD MaxVShaderInstructionsExecuted;
- DWORD MaxPShaderInstructionsExecuted;
- DWORD MaxVertexShader30InstructionSlots;
- DWORD MaxPixelShader30InstructionSlots;
- DWORD Reserved2;/* Not in the microsoft headers but documented */
- DWORD Reserved3;
-
- WINEDDCAPS DirectDrawCaps;
-} WINED3DCAPS;
-
-#endif /* __WINE_WINED3D_CAPS_H */
diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h
deleted file mode 100644
index 6d5f7e5..0000000
--- a/include/wine/wined3d_interface.h
+++ /dev/null
@@ -1,1634 +0,0 @@
-/*
- * Direct3D wine internal public interface file
- *
- * Copyright 2002-2003 The wine-d3d team
- * Copyright 2002-2003 Raphael Junqueira
- * Copyright 2005 Oliver Stieber
- * Copyright 2006 Stefan Dösinger for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_WINED3D_INTERFACE_H
-#define __WINE_WINED3D_INTERFACE_H
-
-#if !defined( __WINE_CONFIG_H )
-# error You must include config.h to use this header
-#endif
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-/* Stupid DDraw Struct references surfaces */
-struct IWineD3DSurface;
-
-#include "wined3d_types.h"
-#include "wined3d_caps.h"
-/*****************************************************************
- * THIS FILE MUST NOT CONTAIN X11 or MESA DEFINES
- * PLEASE USE wine/wined3d_gl.h INSTEAD
- */
-
-/*****************************************************************************
- * #defines and error codes
- */
-#define _FACWINED3D 0x876
-#define MAKE_WINED3DHRESULT( code ) MAKE_HRESULT( 1, _FACWINED3D, code )
-#define MAKE_WINED3DSTATUS( code ) MAKE_HRESULT( 0, _FACWINED3D, code )
-
-/*****************************************************************************
- * Direct3D Errors
- */
-#define WINED3D_OK S_OK
-#define WINED3DERR_WRONGTEXTUREFORMAT MAKE_WINED3DHRESULT(2072)
-#define WINED3DERR_UNSUPPORTEDCOLOROPERATION MAKE_WINED3DHRESULT(2073)
-#define WINED3DERR_UNSUPPORTEDCOLORARG MAKE_WINED3DHRESULT(2074)
-#define WINED3DERR_UNSUPPORTEDALPHAOPERATION MAKE_WINED3DHRESULT(2075)
-#define WINED3DERR_UNSUPPORTEDALPHAARG MAKE_WINED3DHRESULT(2076)
-#define WINED3DERR_TOOMANYOPERATIONS MAKE_WINED3DHRESULT(2077)
-#define WINED3DERR_CONFLICTINGTEXTUREFILTER MAKE_WINED3DHRESULT(2078)
-#define WINED3DERR_UNSUPPORTEDFACTORVALUE MAKE_WINED3DHRESULT(2079)
-#define WINED3DERR_CONFLICTINGRENDERSTATE MAKE_WINED3DHRESULT(2081)
-#define WINED3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_WINED3DHRESULT(2082)
-#define WINED3DERR_CONFLICTINGTEXTUREPALETTE MAKE_WINED3DHRESULT(2086)
-#define WINED3DERR_DRIVERINTERNALERROR MAKE_WINED3DHRESULT(2087)
-#define WINED3DERR_NOTFOUND MAKE_WINED3DHRESULT(2150)
-#define WINED3DERR_MOREDATA MAKE_WINED3DHRESULT(2151)
-#define WINED3DERR_DEVICELOST MAKE_WINED3DHRESULT(2152)
-#define WINED3DERR_DEVICENOTRESET MAKE_WINED3DHRESULT(2153)
-#define WINED3DERR_NOTAVAILABLE MAKE_WINED3DHRESULT(2154)
-#define WINED3DERR_OUTOFVIDEOMEMORY MAKE_WINED3DHRESULT(380)
-#define WINED3DERR_INVALIDDEVICE MAKE_WINED3DHRESULT(2155)
-#define WINED3DERR_INVALIDCALL MAKE_WINED3DHRESULT(2156)
-#define WINED3DERR_DRIVERINVALIDCALL MAKE_WINED3DHRESULT(2157)
-#define WINED3DERR_WASSTILLDRAWING MAKE_WINED3DHRESULT(540)
-#define WINEDDERR_NOTAOVERLAYSURFACE MAKE_WINED3DHRESULT(580)
-#define WINEDDERR_NODC MAKE_WINED3DHRESULT(586)
-#define WINEDDERR_DCALREADYCREATED MAKE_WINED3DHRESULT(620)
-#define WINEDDERR_NOTFLIPPABLE MAKE_WINED3DHRESULT(582)
-#define WINEDDERR_SURFACEBUSY MAKE_WINED3DHRESULT(430)
-#define WINEDDERR_INVALIDRECT MAKE_WINED3DHRESULT(150)
-#define WINEDDERR_NOCLIPLIST MAKE_WINED3DHRESULT(205)
-#define WINEDDERR_OVERLAYNOTVISIBLE MAKE_WINED3DHRESULT(577)
-#define WINED3DOK_NOAUTOGEN MAKE_WINED3DSTATUS(2159)
-
- /*****************************************************************************
- * Predeclare the interfaces
- */
-
-struct IWineD3D;
-struct IWineD3DBase;
-struct IWineD3DDevice;
-struct IWineD3DPalette;
-struct IWineD3DResource;
-struct IWineD3DVertexBuffer;
-struct IWineD3DIndexBuffer;
-struct IWineD3DBaseTexture;
-struct IWineD3DTexture;
-struct IWineD3DCubeTexture;
-struct IWineD3DVolumeTexture;
-struct IWineD3DStateBlock;
-struct IWineD3DVolume;
-struct IWineD3DVertexDeclaration;
-struct IWineD3DBaseShader;
-struct IWineD3DVertexShader;
-struct IWineD3DPixelShader;
-struct IWineD3DQuery;
-struct IWineD3DSwapChain;
-struct IWineD3DClipper;
-
-
-/* {108F9C44-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3D,
-0x108f9c44, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-DEFINE_GUID(IID_IWineD3DBase,
-0x46799311, 0x8e0e, 0x40ce, 0xb2, 0xec, 0xdd, 0xb9, 0x9f, 0x18, 0xfc, 0xb4);
-
-/* {6d10a2ce-09d0-4a53-a427-11388f9f8ca5} */
-DEFINE_GUID(IID_IWineD3DDevice,
-0x6d10a2ce, 0x09d0, 0x4a53, 0xa4, 0x27, 0x11, 0x38, 0x8f, 0x9f, 0x8c, 0xa5);
-
-/* {f756720c-32b9-4439-b5a3-1d6c97037d9e} */
-DEFINE_GUID(IID_IWineD3DPalette,
-0xf756720c, 0x32b9, 0x4439, 0xb5, 0xa3, 0x1d, 0x6c, 0x97, 0x03, 0x7d, 0x9e);
-
-/* {1F3BFB34-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DResource,
-0x1f3bfb34, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {217F671E-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DVertexBuffer,
-0x217f671e, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {24769ED8-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DVolume,
-0x24769ed8, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-
-/* {34D01B10-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DSwapChain,
-0x34d01b10, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {37CD5526-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DSurface,
-0x37cd5526, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-
-/* {3A02A54E-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DIndexBuffer,
-0x3a02a54e, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {3C2AEBF6-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DBaseTexture,
-0x3c2aebf6, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {3E72CC1C-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DTexture,
-0x3e72cc1c, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {41752900-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DCubeTexture,
-0x41752900, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {7B39470C-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DVolumeTexture,
-0x7b39470c, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {7CD55BE6-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DVertexDeclaration,
-0x7cd55be6, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {EAC93065-A4DF-446F-86A1-9EF2BCA40A3C} */
-DEFINE_GUID(IID_IWineD3DBaseShader,
-0xeac93065, 0xa4df, 0x446f, 0x86, 0xa1, 0x9e, 0xf2, 0xbc, 0xa4, 0x0a, 0x3c);
-
-/* {7F7A2B60-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DVertexShader,
-0x7f7a2b60, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {818503DA-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DPixelShader,
-0x818503da, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {83B073CE-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DStateBlock,
-0x83b073ce, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {905DDBAC-6F30-11d9-C687-00046142C14F} */
-DEFINE_GUID(IID_IWineD3DQuery,
-0x905ddbac, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
-
-/* {8f2bceb1-d338-488c-ab7f-0ec980bf5d2d} */
-DEFINE_GUID(IID_IWineD3DClipper,
-0x8f2bceb1, 0xd338, 0x488c, 0xab, 0x7f, 0x0e, 0xc9, 0x80, 0xbf, 0x5d, 0x2d);
-
-/*****************************************************************************
- * Callback functions required for predefining surfaces / stencils
- */
-typedef HRESULT (WINAPI *D3DCB_CREATERENDERTARGETFN) (IUnknown *pDevice,
- IUnknown *pSuperior,
- UINT Width,
- UINT Height,
- WINED3DFORMAT Format,
- WINED3DMULTISAMPLE_TYPE MultiSample,
- DWORD MultisampleQuality,
- BOOL Lockable,
- struct IWineD3DSurface **ppSurface,
- HANDLE *pSharedHandle);
-
-typedef HRESULT (WINAPI *D3DCB_CREATESURFACEFN) (IUnknown *pDevice,
- IUnknown *pSuperior,
- UINT Width,
- UINT Height,
- WINED3DFORMAT Format,
- DWORD Usage,
- WINED3DPOOL Pool,
- UINT Level,
- WINED3DCUBEMAP_FACES Face,
- struct IWineD3DSurface **ppSurface,
- HANDLE *pSharedHandle);
-
-typedef HRESULT (WINAPI *D3DCB_CREATEDEPTHSTENCILSURFACEFN) (IUnknown *pDevice,
- IUnknown *pSuperior,
- UINT Width,
- UINT Height,
- WINED3DFORMAT Format,
- WINED3DMULTISAMPLE_TYPE MultiSample,
- DWORD MultisampleQuality,
- BOOL Discard,
- struct IWineD3DSurface **ppSurface,
- HANDLE *pSharedHandle);
-
-
-typedef HRESULT (WINAPI *D3DCB_CREATEVOLUMEFN) (IUnknown *pDevice,
- IUnknown *pSuperior,
- UINT Width,
- UINT Height,
- UINT Depth,
- WINED3DFORMAT Format,
- WINED3DPOOL Pool,
- DWORD Usage,
- struct IWineD3DVolume **ppVolume,
- HANDLE *pSharedHandle);
-
-typedef HRESULT (WINAPI *D3DCB_CREATESWAPCHAIN) (IUnknown *pDevice,
- WINED3DPRESENT_PARAMETERS *pPresentationParameters,
- struct IWineD3DSwapChain **pSwapChain
- );
-
-typedef HRESULT (WINAPI *D3DCB_ENUMRESOURCES) (struct IWineD3DResource *resource,
- void *pData
- );
-
-/*****************************************************************************
- * Callback functions for custom implicit object destruction.
- */
-typedef ULONG (WINAPI *D3DCB_DESTROYSWAPCHAINFN) (struct IWineD3DSwapChain *pSwapChain);
-
-typedef ULONG (WINAPI *D3DCB_DESTROYSURFACEFN) (struct IWineD3DSurface *pSurface);
-
-typedef ULONG (WINAPI *D3DCB_DESTROYVOLUMEFN) (struct IWineD3DVolume *pVolume);
-
-/*****************************************************************************
- * IWineD3DBase interface
- */
-
-#define INTERFACE IWineD3DBase
-DECLARE_INTERFACE_(IWineD3DBase, IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DBase_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DBase_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DBase_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DBase_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3D interface
- */
-
-#define INTERFACE IWineD3D
-DECLARE_INTERFACE_(IWineD3D, IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3D methods ***/
- STDMETHOD_(UINT,GetAdapterCount)(THIS) PURE;
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE;
- STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE;
- STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter, WINED3DFORMAT Format) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, WINED3DFORMAT Format, WINED3DDISPLAYMODE * pMode) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, WINED3DDISPLAYMODE *pMode) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, WINED3DADAPTER_IDENTIFIER* pIdentifier) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType, WINED3DFORMAT SurfaceFormat, BOOL Windowed, WINED3DMULTISAMPLE_TYPE MultiSampleType, DWORD *pQuality) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType, WINED3DFORMAT AdapterFormat, WINED3DFORMAT RenderTargetFormat, WINED3DFORMAT DepthStencilFormat) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, WINED3DDEVTYPE CheckType, WINED3DFORMAT DisplayFormat, WINED3DFORMAT BackBufferFormat, BOOL Windowed) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType, WINED3DFORMAT AdapterFormat, DWORD Usage, WINED3DRESOURCETYPE RType, WINED3DFORMAT CheckFormat, WINED3DSURFTYPE SurfaceType) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType, WINED3DFORMAT SourceFormat, WINED3DFORMAT TargetFormat) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType, WINED3DCAPS *pCaps) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT Adapter, WINED3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, struct IWineD3DDevice **ppReturnedDeviceInterface, IUnknown *parent) PURE;
-
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3D_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3D_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3D_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3D methods ***/
-#define IWineD3D_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IWineD3D_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IWineD3D_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IWineD3D_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IWineD3D_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IWineD3D_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IWineD3D_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IWineD3D_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IWineD3D_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IWineD3D_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IWineD3D_CheckDeviceFormat(p,a,b,c,d,e,f,g) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f,g)
-#define IWineD3D_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IWineD3D_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IWineD3D_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#endif
-
-/* Define the main WineD3D entrypoint */
-IWineD3D* WINAPI WineDirect3DCreate(UINT dxVersion, IUnknown *parent);
-
-/*****************************************************************************
- * IWineD3DDevice interface
- */
-#define INTERFACE IWineD3DDevice
-DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DDevice methods ***/
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,WINED3DPOOL Pool,struct IWineD3DVertexBuffer **ppVertexBuffer, HANDLE *sharedHandle, IUnknown *parent) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DIndexBuffer** ppIndexBuffer, HANDLE* pSharedHandle, IUnknown *parent) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ WINED3DSTATEBLOCKTYPE Type, struct IWineD3DStateBlock **ppStateBlock, IUnknown *parent) PURE;
- STDMETHOD(CreateSurface)(THIS_ UINT Width, UINT Height, WINED3DFORMAT Format, BOOL Lockable, BOOL Discard, UINT Level, struct IWineD3DSurface** ppSurface, WINED3DRESOURCETYPE Type, DWORD Usage, WINED3DPOOL Pool, WINED3DMULTISAMPLE_TYPE MultiSample ,DWORD MultisampleQuality, HANDLE* pSharedHandle, WINED3DSURFTYPE Impl, IUnknown *parent) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DTexture** ppTexture, HANDLE* pSharedHandle, IUnknown *parent, D3DCB_CREATESURFACEFN pFn) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DVolumeTexture** ppVolumeTexture, HANDLE* pSharedHandle, IUnknown *parent, D3DCB_CREATEVOLUMEFN pFn) PURE;
- STDMETHOD(CreateVolume)(THIS_ UINT Width, UINT Height, UINT Depth, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DVolume** ppVolumeTexture, HANDLE* pSharedHandle, IUnknown *parent) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DCubeTexture** ppCubeTexture, HANDLE* pSharedHandle, IUnknown *parent, D3DCB_CREATESURFACEFN pFn) PURE;
- STDMETHOD(CreateQuery)(THIS_ WINED3DQUERYTYPE Type, struct IWineD3DQuery **ppQuery, IUnknown *pParent);
- STDMETHOD(CreateSwapChain)(THIS_ WINED3DPRESENT_PARAMETERS *pPresentationParameters, struct IWineD3DSwapChain **pSwapChain, IUnknown *pParent, D3DCB_CREATERENDERTARGETFN pFn, D3DCB_CREATEDEPTHSTENCILSURFACEFN pFn2, WINED3DSURFTYPE surface_type);
- STDMETHOD(CreateVertexDeclaration)(THIS_ struct IWineD3DVertexDeclaration** ppDecl, IUnknown* pParent, const WINED3DVERTEXELEMENT *elements, UINT element_count) PURE;
- STDMETHOD(CreateVertexDeclarationFromFVF)(THIS_ struct IWineD3DVertexDeclaration** ppDecl, IUnknown* pParent, DWORD Fvf) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ struct IWineD3DVertexDeclaration *vertex_declaration, CONST DWORD* pFunction, struct IWineD3DVertexShader** ppShader, IUnknown *pParent) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, struct IWineD3DPixelShader** ppShader, IUnknown *pParent) PURE;
- STDMETHOD_(HRESULT,CreatePalette)(THIS_ DWORD Flags, PALETTEENTRY *PalEnt, struct IWineD3DPalette **Palette, IUnknown *Parent);
- STDMETHOD(Init3D)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATESWAPCHAIN D3DCB_CreateSwapChain);
- STDMETHOD(InitGDI)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATESWAPCHAIN D3DCB_CreateSwapChain);
- STDMETHOD(Uninit3D)(THIS, D3DCB_DESTROYSURFACEFN pFn, D3DCB_DESTROYSWAPCHAINFN pFn2);
- STDMETHOD(UninitGDI)(THIS, D3DCB_DESTROYSWAPCHAINFN pFn2);
- STDMETHOD_(void, SetMultithreaded)(THIS);
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT BackBuffer, WINED3DBACKBUFFER_TYPE, struct IWineD3DSurface** ppBackBuffer) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ WINED3DDEVICE_CREATION_PARAMETERS *pParameters) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ WINED3DCAPS* pCaps) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IWineD3D** ppD3D) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, WINED3DDISPLAYMODE* pMode) PURE;
- STDMETHOD(SetDisplayMode)(THIS_ UINT iSwapChain, WINED3DDISPLAYMODE* pMode) PURE;
- STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, WINED3DRASTER_STATUS* pRasterStatus) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, struct IWineD3DSwapChain **pSwapChain) PURE;
- STDMETHOD(Reset)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, struct IWineD3DSurface* pCursorBitmap) PURE;
- STDMETHOD_(void, SetCursorPosition)(THIS_ int XScreenSpace, int YScreenSpace, DWORD Flags) PURE;
- STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE;
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST WINED3DCLIPSTATUS * pClipStatus) PURE;
- STDMETHOD(GetClipStatus)(THIS_ WINED3DCLIPSTATUS * pClipStatus) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ struct IWineD3DSurface* pNewZStencil) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ struct IWineD3DSurface** ppZStencilSurface) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD fvf) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD * pfvf) PURE;
- STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST WINED3DGAMMARAMP* pRamp) PURE;
- STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, WINED3DGAMMARAMP* pRamp) PURE;
- STDMETHOD(SetIndices)(THIS_ struct IWineD3DIndexBuffer * pIndexData) PURE;
- STDMETHOD(GetIndices)(THIS_ struct IWineD3DIndexBuffer ** ppIndexData) PURE;
- STDMETHOD(SetBaseVertexIndex)(THIS_ INT baseIndex);
- STDMETHOD(GetBaseVertexIndex)(THIS_ INT *baseIndex);
- STDMETHOD(SetLight)(THIS_ DWORD Index,CONST WINED3DLIGHT * pLight) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD Index,WINED3DLIGHT * pLight) PURE;
- STDMETHOD(SetLightEnable)(THIS_ DWORD Index,BOOL Enable) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST WINED3DMATERIAL * pMaterial) PURE;
- STDMETHOD(GetMaterial)(THIS_ WINED3DMATERIAL *pMaterial) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE;
- STDMETHOD_(float, GetNPatchMode)(THIS) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE;
- STDMETHOD(SetPixelShader)(THIS_ struct IWineD3DPixelShader *pShader) PURE;
- STDMETHOD(GetPixelShader)(THIS_ struct IWineD3DPixelShader **ppShader) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetRenderState)(THIS_ WINED3DRENDERSTATETYPE State, DWORD Value) PURE;
- STDMETHOD(GetRenderState)(THIS_ WINED3DRENDERSTATETYPE State, DWORD * pValue) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, struct IWineD3DSurface* pRenderTarget) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, struct IWineD3DSurface** ppRenderTarget) PURE;
- STDMETHOD(SetFrontBackBuffers)(THIS_ struct IWineD3DSurface *Front, struct IWineD3DSurface *Back) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, WINED3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, WINED3DSAMPLERSTATETYPE Type, DWORD* Value) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE;
- STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,struct IWineD3DVertexBuffer * pStreamData,UINT Offset,UINT Stride) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,struct IWineD3DVertexBuffer ** ppStreamData,UINT *pOffset, UINT * pStride) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD Stage, struct IWineD3DBaseTexture* pTexture) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD Stage, struct IWineD3DBaseTexture** ppTexture) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, WINED3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, WINED3DTEXTURESTAGESTATETYPE Type,DWORD *pValue) PURE;
- STDMETHOD(SetTransform)(THIS_ WINED3DTRANSFORMSTATETYPE State, CONST WINED3DMATRIX * pMatrix) PURE;
- STDMETHOD(GetTransform)(THIS_ WINED3DTRANSFORMSTATETYPE State, WINED3DMATRIX * pMatrix) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ struct IWineD3DVertexDeclaration* pDecl) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ struct IWineD3DVertexDeclaration** ppDecl) PURE;
- STDMETHOD(SetVertexShader)(THIS_ struct IWineD3DVertexShader* pShader) PURE;
- STDMETHOD(GetVertexShader)(THIS_ struct IWineD3DVertexShader** ppShader) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST WINED3DVIEWPORT * pViewport) PURE;
- STDMETHOD(GetViewport)(THIS_ WINED3DVIEWPORT * pViewport) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ WINED3DTRANSFORMSTATETYPE State, CONST WINED3DMATRIX * pMatrix) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, struct IWineD3DVertexBuffer* pDestBuffer, struct IWineD3DVertexDeclaration* pVertexDecl, DWORD Flags) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ struct IWineD3DStateBlock** ppStateBlock) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE;
- STDMETHOD(Clear)(THIS_ DWORD Count, CONST WINED3DRECT * pRects, DWORD Flags, WINED3DCOLOR Color, float Z, DWORD Stencil) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void * pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void * pIndexData, WINED3DFORMAT IndexDataFormat, CONST void * pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE;
- STDMETHOD(DrawPrimitiveStrided)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, WineDirect3DVertexStridedData *DrawPrimStrideData) PURE;
- STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ WINED3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, WineDirect3DVertexStridedData *DrawPrimStrideData, UINT NumVertices, CONST void *pIndexData, WINED3DFORMAT IndexDataFormat) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST WINED3DRECTPATCH_INFO* pRectPatchInfo) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST WINED3DTRIPATCH_INFO* pTriPatchInfo) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
- STDMETHOD(ColorFill)(THIS_ struct IWineD3DSurface* pSurface, CONST WINED3DRECT* pRect, WINED3DCOLOR color) PURE;
- STDMETHOD(UpdateTexture)(THIS_ struct IWineD3DBaseTexture *pSourceTexture, struct IWineD3DBaseTexture *pDestinationTexture) PURE;
- STDMETHOD(UpdateSurface)(THIS_ struct IWineD3DSurface* pSourceSurface, CONST RECT* pSourceRect, struct IWineD3DSurface* pDestinationSurface, CONST POINT* pDestPoint) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain,struct IWineD3DSurface* pSurface) PURE;
- /*** object tracking ***/
- STDMETHOD_(void, ResourceReleased)(THIS_ struct IWineD3DResource *resource);
- STDMETHOD(EnumResources)(THIS_ D3DCB_ENUMRESOURCES pCallback, void *pData);
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DDevice_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DDevice_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DDevice methods ***/
-#define IWineD3DDevice_CreateVertexBuffer(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f,g)
-#define IWineD3DDevice_CreateIndexBuffer(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f,g)
-#define IWineD3DDevice_CreateStateBlock(p,a,b,c) (p)->lpVtbl->CreateStateBlock(p,a,b,c)
-#define IWineD3DDevice_CreateSurface(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->lpVtbl->CreateSurface(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
-#define IWineD3DDevice_CreateTexture(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h,i,j)
-#define IWineD3DDevice_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i,j,k)
-#define IWineD3DDevice_CreateVolume(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolume(p,a,b,c,d,e,f,g,h,i)
-#define IWineD3DDevice_CreateCubeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IWineD3DDevice_CreateQuery(p,a,b,c) (p)->lpVtbl->CreateQuery(p,a,b,c)
-#define IWineD3DDevice_CreateSwapChain(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSwapChain(p,a,b,c,d,e,f)
-#define IWineD3DDevice_CreateVertexDeclaration(p,a,b,c,d) (p)->lpVtbl->CreateVertexDeclaration(p,a,b,c,d)
-#define IWineD3DDevice_CreateVertexDeclarationFromFVF(p,a,b,c) (p)->lpVtbl->CreateVertexDeclarationFromFVF(p,a,b,c)
-#define IWineD3DDevice_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
-#define IWineD3DDevice_CreatePixelShader(p,a,b,c) (p)->lpVtbl->CreatePixelShader(p,a,b,c)
-#define IWineD3DDevice_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
-#define IWineD3DDevice_Init3D(p, a, b) (p)->lpVtbl->Init3D(p, a, b)
-#define IWineD3DDevice_InitGDI(p, a, b) (p)->lpVtbl->InitGDI(p, a, b)
-#define IWineD3DDevice_Uninit3D(p, a, b) (p)->lpVtbl->Uninit3D(p, a, b)
-#define IWineD3DDevice_UninitGDI(p, a) (p)->lpVtbl->UninitGDI(p, a)
-#define IWineD3DDevice_SetMultithreaded(p) (p)->lpVtbl->SetMultithreaded(p)
-#define IWineD3DDevice_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IWineD3DDevice_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IWineD3DDevice_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IWineD3DDevice_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IWineD3DDevice_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IWineD3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IWineD3DDevice_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IWineD3DDevice_SetDisplayMode(p,a,b) (p)->lpVtbl->SetDisplayMode(p,a,b)
-#define IWineD3DDevice_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IWineD3DDevice_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IWineD3DDevice_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IWineD3DDevice_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IWineD3DDevice_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IWineD3DDevice_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IWineD3DDevice_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IWineD3DDevice_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IWineD3DDevice_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IWineD3DDevice_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IWineD3DDevice_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IWineD3DDevice_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IWineD3DDevice_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IWineD3DDevice_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IWineD3DDevice_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IWineD3DDevice_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IWineD3DDevice_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IWineD3DDevice_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IWineD3DDevice_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IWineD3DDevice_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IWineD3DDevice_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IWineD3DDevice_SetBaseVertexIndex(p, a) (p)->lpVtbl->SetBaseVertexIndex(p, a)
-#define IWineD3DDevice_GetBaseVertexIndex(p,a) (p)->lpVtbl->GetBaseVertexIndex(p,a)
-#define IWineD3DDevice_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IWineD3DDevice_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IWineD3DDevice_SetLightEnable(p,a,b) (p)->lpVtbl->SetLightEnable(p,a,b)
-#define IWineD3DDevice_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IWineD3DDevice_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IWineD3DDevice_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IWineD3DDevice_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IWineD3DDevice_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IWineD3DDevice_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IWineD3DDevice_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IWineD3DDevice_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IWineD3DDevice_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IWineD3DDevice_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IWineD3DDevice_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IWineD3DDevice_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IWineD3DDevice_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IWineD3DDevice_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IWineD3DDevice_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IWineD3DDevice_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IWineD3DDevice_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IWineD3DDevice_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IWineD3DDevice_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IWineD3DDevice_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IWineD3DDevice_SetFrontBackBuffers(p, a, b) (p)->lpVtbl->SetFrontBackBuffers(p,a,b);
-#define IWineD3DDevice_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IWineD3DDevice_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IWineD3DDevice_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IWineD3DDevice_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IWineD3DDevice_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IWineD3DDevice_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IWineD3DDevice_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IWineD3DDevice_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IWineD3DDevice_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IWineD3DDevice_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IWineD3DDevice_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IWineD3DDevice_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IWineD3DDevice_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IWineD3DDevice_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IWineD3DDevice_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IWineD3DDevice_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IWineD3DDevice_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IWineD3DDevice_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IWineD3DDevice_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IWineD3DDevice_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IWineD3DDevice_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IWineD3DDevice_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IWineD3DDevice_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IWineD3DDevice_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IWineD3DDevice_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IWineD3DDevice_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IWineD3DDevice_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IWineD3DDevice_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IWineD3DDevice_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IWineD3DDevice_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IWineD3DDevice_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IWineD3DDevice_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IWineD3DDevice_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IWineD3DDevice_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IWineD3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IWineD3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IWineD3DDevice_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IWineD3DDevice_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IWineD3DDevice_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IWineD3DDevice_DrawIndexedPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e)
-#define IWineD3DDevice_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IWineD3DDevice_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IWineD3DDevice_DrawPrimitiveStrided(p,a,b,c) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c)
-#define IWineD3DDevice_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f)
-#define IWineD3DDevice_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IWineD3DDevice_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IWineD3DDevice_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IWineD3DDevice_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IWineD3DDevice_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IWineD3DDevice_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IWineD3DDevice_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IWineD3DDevice_ResourceReleased(p,a) (p)->lpVtbl->ResourceReleased(p,a)
-#define IWineD3DDevice_EnumResources(p,a,b) (p)->lpVtbl->EnumResources(p,a,b)
-#endif
-
-/*****************************************************************************
- * WineD3DResource interface
- */
-#define INTERFACE IWineD3DResource
-DECLARE_INTERFACE_(IWineD3DResource,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DResource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DResource_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DResource_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DResource_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DResource methods ***/
-#define IWineD3DResource_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DResource_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DResource_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DResource_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DResource_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DResource_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DResource_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DResource_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DResource_GetType(p) (p)->lpVtbl->GetType(p)
-#endif
-
-/*****************************************************************************
- * WineD3DVertexBuffer interface
- */
-#define INTERFACE IWineD3DVertexBuffer
-DECLARE_INTERFACE_(IWineD3DVertexBuffer,IWineD3DResource)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DVertexBuffer methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ WINED3DVERTEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DVertexBuffer_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DResource methods ***/
-#define IWineD3DVertexBuffer_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DVertexBuffer_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DVertexBuffer_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DVertexBuffer_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DVertexBuffer_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DVertexBuffer_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DVertexBuffer_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DVertexBuffer_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DVertexBuffer_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DVertexBuffer methods ***/
-#define IWineD3DVertexBuffer_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IWineD3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IWineD3DVertexBuffer_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#endif
-
-/*****************************************************************************
- * WineD3DIndexBuffer interface
- */
-#define INTERFACE IWineD3DIndexBuffer
-DECLARE_INTERFACE_(IWineD3DIndexBuffer,IWineD3DResource)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DIndexBuffer methods ***/
- STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ WINED3DINDEXBUFFER_DESC * pDesc) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DIndexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DIndexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DIndexBuffer_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DIndexBuffer_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DResource methods ***/
-#define IWineD3DIndexBuffer_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DIndexBuffer_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DIndexBuffer_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DIndexBuffer_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DIndexBuffer_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DIndexBuffer_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DIndexBuffer_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DIndexBuffer_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DIndexBuffer_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DIndexBuffer methods ***/
-#define IWineD3DIndexBuffer_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IWineD3DIndexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IWineD3DIndexBuffer_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DBaseTexture interface
- * Note at d3d8 this does NOT extend Resource, but at d3d9 it does
- * since most functions are common anyway, it makes sense to extend it
- */
-#define INTERFACE IWineD3DBaseTexture
-DECLARE_INTERFACE_(IWineD3DBaseTexture,IWineD3DResource)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DBaseTexture methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ WINED3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(WINED3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD_(BOOL, SetDirty)(THIS_ BOOL) PURE;
- STDMETHOD_(BOOL, GetDirty)(THIS) PURE;
- STDMETHOD(BindTexture)(THIS) PURE;
- STDMETHOD_(UINT, GetTextureDimensions)(THIS) PURE;
- STDMETHOD_(BOOL, IsCondNP2)(THIS) PURE;
- STDMETHOD_(void, ApplyStateChanges)(THIS_ const DWORD textureStates[WINED3D_HIGHEST_TEXTURE_STATE + 1], const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1]) PURE;
-
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DBaseTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DBaseTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DBaseTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DBaseTexture_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DBaseTexture methods: IWineD3DResource ***/
-#define IWineD3DBaseTexture_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DBaseTexture_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DBaseTexture_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DBaseTexture_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DBaseTexture_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DBaseTexture_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DBaseTexture_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DBaseTexture_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DBaseTexture_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DBaseTexture methods ***/
-#define IWineD3DBaseTexture_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IWineD3DBaseTexture_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IWineD3DBaseTexture_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IWineD3DBaseTexture_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IWineD3DBaseTexture_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IWineD3DBaseTexture_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IWineD3DBaseTexture_SetDirty(p,a) (p)->lpVtbl->SetDirty(p,a)
-#define IWineD3DBaseTexture_GetDirty(p) (p)->lpVtbl->GetDirty(p)
-/*** internal methods ***/
-#define IWineD3DBaseTexture_BindTexture(p) (p)->lpVtbl->BindTexture(p)
-#define IWineD3DBaseTexture_GetTextureDimensions(p) (p)->lpVtbl->GetTextureDimensions(p)
-#define IWineD3DBaseTexture_IsCondNP2(p) (p)->lpVtbl->IsCondNP2(p)
-#define IWineD3DBaseTexture_ApplyStateChanges(p,a,b) (p)->lpVtbl->ApplyStateChanges(p,a,b)
-#endif
-
-/*****************************************************************************
- * IWineD3DTexture interface
- */
-#define INTERFACE IWineD3DTexture
-DECLARE_INTERFACE_(IWineD3DTexture,IWineD3DBaseTexture)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DBaseTexture methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ WINED3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(WINED3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD_(BOOL, SetDirty)(THIS_ BOOL) PURE;
- STDMETHOD_(BOOL, GetDirty)(THIS) PURE;
- STDMETHOD(BindTexture)(THIS) PURE;
- STDMETHOD_(UINT, GetTextureDimensions)(THIS) PURE;
- STDMETHOD_(BOOL, IsCondNP2)(THIS) PURE;
- STDMETHOD_(void, ApplyStateChanges)(THIS_ const DWORD textureStates[WINED3D_HIGHEST_TEXTURE_STATE + 1], const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1]) PURE;
- /*** IWineD3DTexture methods ***/
- STDMETHOD_(void, Destroy)(THIS_ D3DCB_DESTROYSURFACEFN pFn) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, WINED3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, struct IWineD3DSurface** ppSurfaceLevel) PURE;
- STDMETHOD(LockRect)(THIS_ UINT Level, WINED3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DTexture_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DTexture methods: IWineD3DResource ***/
-#define IWineD3DTexture_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DTexture_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DTexture_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DTexture_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DTexture_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DTexture_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DTexture_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DTexture_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DTexture_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DTexture methods: IWineD3DBaseTexture ***/
-#define IWineD3DTexture_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IWineD3DTexture_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IWineD3DTexture_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IWineD3DTexture_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IWineD3DTexture_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IWineD3DTexture_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IWineD3DTexture_SetDirty(p,a) (p)->lpVtbl->SetDirty(p,a)
-#define IWineD3DTexture_GetDirty(p) (p)->lpVtbl->GetDirty(p)
-#define IWineD3DTexture_BindTexture(p) (p)->lpVtbl->BindTexture(p)
-#define IWineD3DTexture_GetTextureDimensions(p) (p)->lpVtbl->GetTextureDimensions(p)
-#define IWineD3DTexture_IsCondNP2(p) (p)->lpVtbl->IsCondNP2(p)
-#define IWineD3DTexture_ApplyStateChanges(p,a,b) (p)->lpVtbl->ApplyStateChanges(p,a,b)
-/*** IWineD3DTexture methods ***/
-#define IWineD3DTexture_Destroy(p,a) (p)->lpVtbl->Destroy(p,a)
-#define IWineD3DTexture_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IWineD3DTexture_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IWineD3DTexture_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IWineD3DTexture_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IWineD3DTexture_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DCubeTexture interface
- */
-#define INTERFACE IWineD3DCubeTexture
-DECLARE_INTERFACE_(IWineD3DCubeTexture,IWineD3DBaseTexture)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DBaseTexture methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ WINED3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(WINED3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD_(BOOL, SetDirty)(THIS_ BOOL) PURE;
- STDMETHOD_(BOOL, GetDirty)(THIS) PURE;
- STDMETHOD(BindTexture)(THIS) PURE;
- STDMETHOD_(UINT, GetTextureDimensions)(THIS) PURE;
- STDMETHOD_(BOOL, IsCondNP2)(THIS) PURE;
- STDMETHOD_(void, ApplyStateChanges)(THIS_ DWORD const textureStates[WINED3D_HIGHEST_TEXTURE_STATE + 1], const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1]) PURE;
- /*** IWineD3DCubeTexture methods ***/
- STDMETHOD_(void, Destroy)(THIS_ D3DCB_DESTROYSURFACEFN pFn) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level,WINED3DSURFACE_DESC* pDesc) PURE;
- STDMETHOD(GetCubeMapSurface)(THIS_ WINED3DCUBEMAP_FACES FaceType, UINT Level, struct IWineD3DSurface** ppCubeMapSurface) PURE;
- STDMETHOD(LockRect)(THIS_ WINED3DCUBEMAP_FACES FaceType, UINT Level, WINED3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS_ WINED3DCUBEMAP_FACES FaceType, UINT Level) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ WINED3DCUBEMAP_FACES FaceType, CONST RECT* pDirtyRect) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DCubeTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DCubeTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DCubeTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DCubeTexture_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DCubeTexture methods: IWineD3DResource ***/
-#define IWineD3DCubeTexture_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DCubeTexture_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DCubeTexture_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DCubeTexture_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DCubeTexture_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DCubeTexture_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DCubeTexture_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DCubeTexture_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DCubeTexture_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DCubeTexture methods: IWineD3DBaseTexture ***/
-#define IWineD3DCubeTexture_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IWineD3DCubeTexture_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IWineD3DCubeTexture_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IWineD3DCubeTexture_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IWineD3DCubeTexture_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IWineD3DCubeTexture_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IWineD3DCubeTexture_SetDirty(p,a) (p)->lpVtbl->SetDirty(p,a)
-#define IWineD3DCubeTexture_GetDirty(p) (p)->lpVtbl->GetDirty(p)
-#define IWineD3DCubeTexture_BindTexture(p) (p)->lpVtbl->BindTexture(p)
-#define IWineD3DCubeTexture_GetTextureDimensions(p) (p)->lpVtbl->GetTextureDimensions(p)
-#define IWineD3DCubeTexture_IsCondNP2(p) (p)->lpVtbl->IsCondNP2(p)
-#define IWineD3DCubeTexture_ApplyStateChanges(p,a,b) (p)->lpVtbl->ApplyStateChanges(p,a,b)
-/*** IWineD3DCubeTexture methods ***/
-#define IWineD3DCubeTexture_Destroy(p,a) (p)->lpVtbl->Destroy(p,a)
-#define IWineD3DCubeTexture_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IWineD3DCubeTexture_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IWineD3DCubeTexture_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IWineD3DCubeTexture_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IWineD3DCubeTexture_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#endif
-
-
-/*****************************************************************************
- * IWineD3DVolumeTexture interface
- */
-#define INTERFACE IWineD3DVolumeTexture
-DECLARE_INTERFACE_(IWineD3DVolumeTexture,IWineD3DBaseTexture)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DBaseTexture methods ***/
- STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;
- STDMETHOD_(DWORD, GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ WINED3DTEXTUREFILTERTYPE FilterType) PURE;
- STDMETHOD_(WINED3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD_(BOOL, SetDirty)(THIS_ BOOL) PURE;
- STDMETHOD_(BOOL, GetDirty)(THIS) PURE;
- STDMETHOD(BindTexture)(THIS) PURE;
- STDMETHOD_(UINT, GetTextureDimensions)(THIS) PURE;
- STDMETHOD_(BOOL, IsCondNP2)(THIS) PURE;
- STDMETHOD_(void, ApplyStateChanges)(THIS_ const DWORD textureStates[WINED3D_HIGHEST_TEXTURE_STATE + 1], const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1]) PURE;
- /*** IWineD3DVolumeTexture methods ***/
- STDMETHOD_(void, Destroy)(THIS_ D3DCB_DESTROYVOLUMEFN pFn) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT Level, WINED3DVOLUME_DESC *pDesc) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, struct IWineD3DVolume** ppVolumeLevel) PURE;
- STDMETHOD(LockBox)(THIS_ UINT Level, WINED3DLOCKED_BOX* pLockedVolume, CONST WINED3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST WINED3DBOX* pDirtyBox) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DVolumeTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DVolumeTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DVolumeTexture_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DVolumeTexture_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DVolumeTexture methods: IWineD3DResource ***/
-#define IWineD3DVolumeTexture_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DVolumeTexture_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DVolumeTexture_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DVolumeTexture_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DVolumeTexture_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DVolumeTexture_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DVolumeTexture_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DVolumeTexture_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DVolumeTexture_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DVolumeTexture methods: IWineD3DBaseTexture ***/
-#define IWineD3DVolumeTexture_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IWineD3DVolumeTexture_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IWineD3DVolumeTexture_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IWineD3DVolumeTexture_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IWineD3DVolumeTexture_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IWineD3DVolumeTexture_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IWineD3DVolumeTexture_SetDirty(p,a) (p)->lpVtbl->SetDirty(p,a)
-#define IWineD3DVolumeTexture_GetDirty(p) (p)->lpVtbl->GetDirty(p)
-#define IWineD3DVolumeTexture_BindTexture(p) (p)->lpVtbl->BindTexture(p)
-#define IWineD3DVolumeTexture_GetTextureDimensions(p) (p)->lpVtbl->GetTextureDimensions(p)
-#define IWineD3DVolumeTexture_IsCondNP2(p) (p)->lpVtbl->IsCondNP2(p)
-#define IWineD3DVolumeTexture_ApplyStateChanges(p,a,b) (p)->lpVtbl->ApplyStateChanges(p,a,b)
-/*** IWineD3DVolumeTexture methods ***/
-#define IWineD3DVolumeTexture_Destroy(p,a) (p)->lpVtbl->Destroy(p,a)
-#define IWineD3DVolumeTexture_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IWineD3DVolumeTexture_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IWineD3DVolumeTexture_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IWineD3DVolumeTexture_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IWineD3DVolumeTexture_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DSurface interface
- */
-#define INTERFACE IWineD3DSurface
-DECLARE_INTERFACE_(IWineD3DSurface,IWineD3DResource)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE,GetType)(THIS) PURE;
- /*** IWineD3DSurface methods ***/
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ WINED3DSURFACE_DESC * pDesc) PURE;
- STDMETHOD(LockRect)(THIS_ WINED3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
- STDMETHOD(GetDC)(THIS_ HDC *pHdc) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC hdc) PURE;
- STDMETHOD(Flip)(THIS_ IWineD3DSurface *Override, DWORD FLAGS) PURE;
- STDMETHOD(Blt)(THIS_ RECT *DestRect, IWineD3DSurface *SrcSurface, RECT *SrcRect, DWORD Flags, WINEDDBLTFX *DDBltFx, WINED3DTEXTUREFILTERTYPE Filter) PURE;
- STDMETHOD(GetBltStatus)(THIS_ DWORD Flags) PURE;
- STDMETHOD(GetFlipStatus)(THIS_ DWORD Flags) PURE;
- STDMETHOD(IsLost)(THIS) PURE;
- STDMETHOD(Restore)(THIS) PURE;
- STDMETHOD(BltFast)(THIS_ DWORD dstx, DWORD dsty, IWineD3DSurface *src, RECT *rsrc, DWORD trans) PURE;
- STDMETHOD(GetPalette)(THIS_ struct IWineD3DPalette **Palette) PURE;
- STDMETHOD(SetPalette)(THIS_ struct IWineD3DPalette *Palette) PURE;
- STDMETHOD(RealizePalette)(THIS) PURE;
- STDMETHOD(SetColorKey)(THIS_ DWORD Flags, WINEDDCOLORKEY *CKey) PURE;
- STDMETHOD_(DWORD,GetPitch)(THIS) PURE;
- STDMETHOD(SetMem)(THIS_ void *mem) PURE;
- STDMETHOD(SetOverlayPosition)(THIS_ LONG X, LONG Y) PURE;
- STDMETHOD(GetOverlayPosition)(THIS_ LONG *X, LONG *Y) PURE;
- STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD Flags, IWineD3DSurface *Ref) PURE;
- STDMETHOD(UpdateOverlay)(THIS_ RECT *SrcRect, IWineD3DSurface *DstSurface, RECT *DstRect, DWORD Flags, WINEDDOVERLAYFX *FX);
- STDMETHOD(SetClipper)(THIS_ struct IWineD3DClipper *clipper);
- STDMETHOD(GetClipper)(THIS_ struct IWineD3DClipper **clipper);
- /* Internally used methods */
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pRect) PURE;
- STDMETHOD(LoadTexture)(THIS, BOOL srgb_mode) PURE;
- STDMETHOD_(void, BindTexture)(THIS) PURE;
- STDMETHOD(SaveSnapshot)(THIS_ const char *filename) PURE;
- STDMETHOD(SetContainer)(THIS_ IWineD3DBase *container) PURE;
- STDMETHOD_(void,GetGlDesc)(THIS_ glDescriptor **glDescription) PURE;
- STDMETHOD_(CONST void *, GetData)(THIS) PURE;
- STDMETHOD(SetFormat)(THIS_ WINED3DFORMAT format) PURE;
- STDMETHOD(PrivateSetup)(THIS) PURE;
- STDMETHOD_(void,ModifyLocation)(THIS_ DWORD flag, BOOL persistent);
- STDMETHOD(LoadLocation)(THIS_ DWORD flag, const RECT *rect);
- STDMETHOD_(WINED3DSURFTYPE,GetImplType)(THIS);
- STDMETHOD(DrawOverlay)(THIS);
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DSurface_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DSurface_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DResource methods ***/
-#define IWineD3DSurface_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DSurface_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DSurface_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DSurface_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DSurface_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DSurface_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DSurface_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DSurface_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DSurface_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DSurface methods ***/
-#define IWineD3DSurface_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IWineD3DSurface_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IWineD3DSurface_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IWineD3DSurface_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#define IWineD3DSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IWineD3DSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#define IWineD3DSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
-#define IWineD3DSurface_Blt(p,a,b,c,d,e,f) (p)->lpVtbl->Blt(p,a,b,c,d,e,f)
-#define IWineD3DSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
-#define IWineD3DSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
-#define IWineD3DSurface_IsLost(p) (p)->lpVtbl->IsLost(p)
-#define IWineD3DSurface_Restore(p) (p)->lpVtbl->Restore(p)
-#define IWineD3DSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
-#define IWineD3DSurface_GetPalette(p, a) (p)->lpVtbl->GetPalette(p, a)
-#define IWineD3DSurface_SetPalette(p, a) (p)->lpVtbl->SetPalette(p, a)
-#define IWineD3DSurface_RealizePalette(p) (p)->lpVtbl->RealizePalette(p)
-#define IWineD3DSurface_SetColorKey(p, a, b) (p)->lpVtbl->SetColorKey(p, a, b)
-#define IWineD3DSurface_GetPitch(p) (p)->lpVtbl->GetPitch(p)
-#define IWineD3DSurface_SetMem(p, a) (p)->lpVtbl->SetMem(p, a)
-#define IWineD3DSurface_SetOverlayPosition(p, a, b) (p)->lpVtbl->SetOverlayPosition(p, a, b)
-#define IWineD3DSurface_GetOverlayPosition(p, a, b) (p)->lpVtbl->GetOverlayPosition(p, a, b)
-#define IWineD3DSurface_UpdateOverlayZOrder(p, a, b) (p)->lpVtbl->UpdateOverlayZOrder(p, a, b)
-#define IWineD3DSurface_UpdateOverlay(p, a, b, c, d, e) (p)->lpVtbl->UpdateOverlay(p, a, b, c, d, e)
-#define IWineD3DSurface_SetClipper(p, a) (p)->lpVtbl->SetClipper(p, a)
-#define IWineD3DSurface_GetClipper(p, a) (p)->lpVtbl->GetClipper(p, a)
-/*** IWineD3DSurface (Internal, no d3d mapping) methods ***/
-#define IWineD3DSurface_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#define IWineD3DSurface_LoadTexture(p,a) (p)->lpVtbl->LoadTexture(p,a)
-#define IWineD3DSurface_BindTexture(p) (p)->lpVtbl->BindTexture(p)
-#define IWineD3DSurface_SaveSnapshot(p,a) (p)->lpVtbl->SaveSnapshot(p,a)
-#define IWineD3DSurface_SetContainer(p,a) (p)->lpVtbl->SetContainer(p,a)
-#define IWineD3DSurface_GetGlDesc(p,a) (p)->lpVtbl->GetGlDesc(p,a)
-#define IWineD3DSurface_GetData(p) (p)->lpVtbl->GetData(p)
-#define IWineD3DSurface_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IWineD3DSurface_PrivateSetup(p) (p)->lpVtbl->PrivateSetup(p)
-#define IWineD3DSurface_ModifyLocation(p,a,b) (p)->lpVtbl->ModifyLocation(p,a,b)
-#define IWineD3DSurface_LoadLocation(p,a,b) (p)->lpVtbl->LoadLocation(p,a,b)
-#define IWineD3DSurface_GetImplType(p) (p)->lpVtbl->GetImplType(p)
-#define IWineD3DSurface_DrawOverlay(p) (p)->lpVtbl->DrawOverlay(p)
-#endif
-
-/*****************************************************************************
- * IWineD3DVolume interface
- */
-#define INTERFACE IWineD3DVolume
-DECLARE_INTERFACE_(IWineD3DVolume,IWineD3DResource)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DResource methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice ** ppDevice) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(void,UnLoad)(THIS) PURE;
- STDMETHOD_(WINED3DRESOURCETYPE, GetType)(THIS) PURE;
- /*** IWineD3DVolume methods ***/
- STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE;
- STDMETHOD(GetDesc)(THIS_ WINED3DVOLUME_DESC * pDesc) PURE;
- STDMETHOD(LockBox)(THIS_ WINED3DLOCKED_BOX* pLockedVolume, CONST WINED3DBOX* pBox, DWORD Flags) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST WINED3DBOX* pDirtyBox) PURE;
- STDMETHOD(CleanDirtyBox)(THIS) PURE;
- STDMETHOD(LoadTexture)(THIS_ int gl_level, BOOL srgb_mode) PURE;
- STDMETHOD(SetContainer)(THIS_ IWineD3DBase *container) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DVolume_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DVolume_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DVolume_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DVolume_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DResource methods ***/
-#define IWineD3DVolume_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DVolume_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IWineD3DVolume_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IWineD3DVolume_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IWineD3DVolume_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IWineD3DVolume_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IWineD3DVolume_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IWineD3DVolume_UnLoad(p) (p)->lpVtbl->UnLoad(p)
-#define IWineD3DVolume_GetType(p) (p)->lpVtbl->GetType(p)
-/*** IWineD3DVolume methods ***/
-#define IWineD3DVolume_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IWineD3DVolume_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IWineD3DVolume_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IWineD3DVolume_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#define IWineD3DVolume_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#define IWineD3DVolume_CleanDirtyBox(p) (p)->lpVtbl->CleanDirtyBox(p)
-#define IWineD3DVolume_LoadTexture(p,a,b) (p)->lpVtbl->LoadTexture(p,a,b)
-#define IWineD3DVolume_SetContainer(p,a) (p)->lpVtbl->SetContainer(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DVertexDeclaration interface
- */
-#define INTERFACE IWineD3DVertexDeclaration
-DECLARE_INTERFACE_(IWineD3DVertexDeclaration,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DVertexDeclaration methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice **ppDevice) PURE;
- STDMETHOD(GetDeclaration)(THIS_ WINED3DVERTEXELEMENT *elements, UINT *elements_count) PURE;
- STDMETHOD(SetDeclaration)(THIS_ const WINED3DVERTEXELEMENT *elements, UINT element_count) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DVertexDeclaration_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DVertexDeclaration_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DVertexDeclaration_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DVertexDeclaration_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DVertexDeclaration methods ***/
-#define IWineD3DVertexDeclaration_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DVertexDeclaration_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
-#define IWineD3DVertexDeclaration_SetDeclaration(p,a,b) (p)->lpVtbl->SetDeclaration(p,a,b)
-#endif
-
-/*****************************************************************************
- * IWineD3DStateBlock interface
- */
-#define INTERFACE IWineD3DStateBlock
-DECLARE_INTERFACE_(IWineD3DStateBlock,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DStateBlock methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice **pDevice) PURE;
- STDMETHOD(Capture)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
- STDMETHOD(InitStartupStateBlock)(THIS) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DStateBlock_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DStateBlock_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DStateBlock_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DStateBlock_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DStateBlock methods ***/
-#define IWineD3DStateBlock_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DStateBlock_Capture(p) (p)->lpVtbl->Capture(p)
-#define IWineD3DStateBlock_Apply(p) (p)->lpVtbl->Apply(p)
-#define IWineD3DStateBlock_InitStartupStateBlock(p) (p)->lpVtbl->InitStartupStateBlock(p)
-#endif
-
-/*****************************************************************************
- * WineD3DQuery interface
- */
-#define INTERFACE IWineD3DQuery
-DECLARE_INTERFACE_(IWineD3DQuery,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DQuery methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice **ppDevice) PURE;
- STDMETHOD(GetData)(THIS_ void *pData, DWORD dwSize, DWORD dwGetDataFlags) PURE;
- STDMETHOD_(DWORD,GetDataSize)(THIS) PURE;
- STDMETHOD_(WINED3DQUERYTYPE, GetType)(THIS) PURE;
- STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE;
-
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DQuery_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DQuery_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DQuery_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DQuery_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DQuery methods ***/
-#define IWineD3DQuery_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DQuery_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
-#define IWineD3DQuery_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
-#define IWineD3DQuery_GetType(p) (p)->lpVtbl->GetType(p)
-#define IWineD3DQuery_Issue(p,a) (p)->lpVtbl->Issue(p,a)
-
-#endif
-
-/*****************************************************************************
- * IWineD3DSwapChain interface
- * TODO: add gamma-ramp setting functions to make life easier
- * (There kinda missing from Microsofts DirectX!)
- */
-#define INTERFACE IWineD3DSwapChain
-DECLARE_INTERFACE_(IWineD3DSwapChain,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IDirect3DSwapChain9 methods ***/
- STDMETHOD_(void, Destroy)(THIS_ D3DCB_DESTROYSURFACEFN pFn) PURE;
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice **ppDevice) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) PURE;
- STDMETHOD(SetDestWindowOverride)(THIS_ HWND window);
- STDMETHOD(GetFrontBufferData)(THIS_ IWineD3DSurface *pDestSurface) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, WINED3DBACKBUFFER_TYPE Type, IWineD3DSurface **ppBackBuffer) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ WINED3DRASTER_STATUS *pRasterStatus) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ WINED3DDISPLAYMODE *pMode) PURE;
- STDMETHOD(GetPresentParameters)(THIS_ WINED3DPRESENT_PARAMETERS *pPresentationParameters) PURE;
- STDMETHOD(SetGammaRamp)(THIS_ DWORD Flags, const WINED3DGAMMARAMP *pRamp) PURE;
- STDMETHOD(GetGammaRamp)(THIS_ WINED3DGAMMARAMP *pRamp) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DSwapChain_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DSwapChain_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DSwapChain_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DSwapChain_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DSwapChain methods ***/
-#define IWineD3DSwapChain_Destroy(p,a) (p)->lpVtbl->Destroy(p,a)
-#define IWineD3DSwapChain_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DSwapChain_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
-#define IWineD3DSwapChain_SetDestWindowOverride(p,a) (p)->lpVtbl->SetDestWindowOverride(p,a)
-#define IWineD3DSwapChain_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
-#define IWineD3DSwapChain_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IWineD3DSwapChain_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IWineD3DSwapChain_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IWineD3DSwapChain_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
-#define IWineD3DSwapChain_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
-#define IWineD3DSwapChain_GetGammaRamp(p,a) (p)->lpVtbl->GetGammaRamp(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DBaseShader interface
- */
-#define INTERFACE IWineD3DBaseShader
-DECLARE_INTERFACE_(IWineD3DBaseShader,IWineD3DBase)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DBaseShader methods ***/
- STDMETHOD(SetFunction)(THIS_ CONST DWORD *pFunction) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DBaseShader_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DBaseShader_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DBaseShader_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DBaseShader_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DBaseShader methods ***/
-#define IWineD3DBaseShader_SetFunction(p,a) (p)->lpVtbl->SetFunction(p,a)
-#endif
-
-/*****************************************************************************
- * IWineD3DVertexShader interface
- */
-#define INTERFACE IWineD3DVertexShader
-DECLARE_INTERFACE_(IWineD3DVertexShader,IWineD3DBaseShader)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DBaseShader methods ***/
- STDMETHOD(SetFunction)(THIS_ CONST DWORD *pFunction) PURE;
- /*** IWineD3DVertexShader methods ***/
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ VOID *pData, UINT *pSizeOfData) PURE;
- STDMETHOD_(void, FakeSemantics)(THIS_ struct IWineD3DVertexDeclaration *vertex_declaration) PURE;
- STDMETHOD(SetLocalConstantsF)(THIS_ UINT start_idx, const float *src_data, UINT count) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DVertexShader_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DVertexShader_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DVertexShader_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DVertexShader_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DBaseShader methods ***/
-#define IWineD3DVertexShader_SetFunction(p,a) (p)->lpVtbl->SetFunction(p,a)
-/*** IWineD3DVertexShader methods ***/
-#define IWineD3DVertexShader_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DVertexShader_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#define IWineD3DVertexShader_FakeSemantics(p,a) (p)->lpVtbl->FakeSemantics(p,a)
-#define IWineD3DVertexShader_SetLocalConstantsF(p,a,b,c) (p)->lpVtbl->SetLocalConstantsF(p,a,b,c)
-#endif
-
-/*****************************************************************************
- * IWineD3DPixelShader interface
- */
-#define INTERFACE IWineD3DPixelShader
-DECLARE_INTERFACE_(IWineD3DPixelShader,IWineD3DBaseShader)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DBase methods ***/
- STDMETHOD(GetParent)(THIS_ IUnknown **pParent) PURE;
- /*** IWineD3DBaseShader methods ***/
- STDMETHOD(SetFunction)(THIS_ CONST DWORD *pFunction) PURE;
- /*** IWineD3DPixelShader methods ***/
- STDMETHOD(UpdateSamplers)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IWineD3DDevice** ppDevice) PURE;
- STDMETHOD(GetFunction)(THIS_ VOID* pData, UINT* pSizeOfData) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DPixelShader_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DPixelShader_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DPixelShader_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DBase methods ***/
-#define IWineD3DPixelShader_GetParent(p,a) (p)->lpVtbl->GetParent(p,a)
-/*** IWineD3DBaseShader methods ***/
-#define IWineD3DPixelShader_SetFunction(p,a) (p)->lpVtbl->SetFunction(p,a)
-/*** IWineD3DPixelShader methods ***/
-#define IWineD3DPixelShader_UpdateSamplers(p) (p)->lpVtbl->UpdateSamplers(p)
-#define IWineD3DPixelShader_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IWineD3DPixelShader_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#endif
-
-/*****************************************************************************
- * IWineD3DPalette interface
- */
-#define INTERFACE IWineD3DPalette
-DECLARE_INTERFACE_(IWineD3DPalette,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IWineD3DPalette methods ***/
- STDMETHOD_(HRESULT,GetParent)(THIS_ IUnknown **Parent);
- STDMETHOD_(HRESULT,GetEntries)(THIS_ DWORD Flags, DWORD Start, DWORD Count, PALETTEENTRY *PalEnt);
- STDMETHOD_(HRESULT,GetCaps)(THIS_ DWORD *Caps);
- STDMETHOD_(HRESULT,SetEntries)(THIS_ DWORD Flags, DWORD Start, DWORD Count, PALETTEENTRY *PalEnt);
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DPalette_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DPalette_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DPalette_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DPalette methods ***/
-#define IWineD3DPalette_GetParent(p, a) (p)->lpVtbl->GetParent(p, a)
-#define IWineD3DPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d)
-#define IWineD3DPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a)
-#define IWineD3DPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d)
-#endif
-
-/*****************************************************************************
- * IDirectDrawClipper interface
- */
-#define INTERFACE IWineD3DClipper
-DECLARE_INTERFACE_(IWineD3DClipper,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** WineD3DBase methods ***/
- STDMETHOD_(HRESULT,GetParent)(THIS_ IUnknown **parent) PURE;
- /*** IWineD3DClipper methods ***/
- STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE;
- STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE;
- STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE;
- STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE;
- STDMETHOD(SetHWnd)(THIS_ DWORD dwFlags, HWND hWnd) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IWineD3DClipper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IWineD3DClipper_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IWineD3DClipper_Release(p) (p)->lpVtbl->Release(p)
-/*** IWineD3DClipper methods ***/
-#define IWineD3DClipper_GetClipList(p,a,b,c) (p)->lpVtbl->GetClipList(p,a,b,c)
-#define IWineD3DClipper_GetHWnd(p,a) (p)->lpVtbl->GetHWnd(p,a)
-#define IWineD3DClipper_IsClipListChanged(p,a) (p)->lpVtbl->IsClipListChanged(p,a)
-#define IWineD3DClipper_SetClipList(p,a,b) (p)->lpVtbl->SetClipList(p,a,b)
-#define IWineD3DClipper_SetHWnd(p,a,b) (p)->lpVtbl->SetHWnd(p,a,b)
-#else
-/*** IUnknown methods ***/
-#define IWineD3DClipper_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IWineD3DClipper_AddRef(p) (p)->AddRef()
-#define IWineD3DClipper_Release(p) (p)->Release()
-/*** IWineD3DClipper methods ***/
-#define IWineD3DClipper_GetClipList(p,a,b,c) (p)->GetClipList(a,b,c)
-#define IWineD3DClipper_GetHWnd(p,a) (p)->GetHWnd(a)
-#define IWineD3DClipper_IsClipListChanged(p,a) (p)->IsClipListChanged(a)
-#define IWineD3DClipper_SetClipList(p,a,b) (p)->SetClipList(a,b)
-#define IWineD3DClipper_SetHWnd(p,a,b) (p)->SetHWnd(a,b)
-#endif
-
-/* DDraw Clippers are not created from DDraw objects, they have a separate creation function */
-IWineD3DClipper* WINAPI WineDirect3DCreateClipper(IUnknown *parent);
-
-#if 0 /* FIXME: During porting in from d3d8 - the following will be used */
-extern HRESULT WINAPI IDirect3DVertexShaderImpl_ParseProgram(IDirect3DVertexShaderImpl* This, CONST DWORD* pFunction);
-/* internal Interfaces */
-extern HRESULT WINAPI IDirect3DVertexShaderImpl_ExecuteSW(IDirect3DVertexShaderImpl* This, VSHADERINPUTDATA* input, VSHADEROUTPUTDATA* output);
-#endif /* Temporary #if 0 */
-
-
-#endif
diff --git a/include/wine/wined3d_types.h b/include/wine/wined3d_types.h
deleted file mode 100644
index a4060dc..0000000
--- a/include/wine/wined3d_types.h
+++ /dev/null
@@ -1,1480 +0,0 @@
-/*
- * Direct3D wine types include file
- *
- * Copyright 2002-2003 The wine-d3d team
- * Copyright 2002-2003 Jason Edmeades
- * Raphael Junqueira
- * Copyright 2005 Oliver Stieber
- * Copyright 2006 Stefan Dösinger
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_WINED3D_TYPES_H
-#define __WINE_WINED3D_TYPES_H
-
-typedef DWORD WINED3DCOLOR;
-
-typedef enum _WINED3DLIGHTTYPE {
- WINED3DLIGHT_POINT = 1,
- WINED3DLIGHT_SPOT = 2,
- WINED3DLIGHT_DIRECTIONAL = 3,
- WINED3DLIGHT_PARALLELPOINT = 4, /* D3D7 */
- WINED3DLIGHT_GLSPOT = 5, /* D3D7 */
- WINED3DLIGHT_FORCE_DWORD = 0x7fffffff
-} WINED3DLIGHTTYPE;
-
-typedef enum _WINED3DPRIMITIVETYPE {
- WINED3DPT_POINTLIST = 1,
- WINED3DPT_LINELIST = 2,
- WINED3DPT_LINESTRIP = 3,
- WINED3DPT_TRIANGLELIST = 4,
- WINED3DPT_TRIANGLESTRIP = 5,
- WINED3DPT_TRIANGLEFAN = 6,
-
- WINED3DPT_FORCE_DWORD = 0x7fffffff
-} WINED3DPRIMITIVETYPE;
-
-typedef struct _WINED3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} WINED3DCOLORVALUE;
-
-typedef struct _WINED3DVECTOR {
- float x;
- float y;
- float z;
-} WINED3DVECTOR;
-
-typedef struct _WINED3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- } DUMMYSTRUCTNAME;
- float m[4][4];
- } DUMMYUNIONNAME;
-} WINED3DMATRIX;
-
-typedef struct _WINED3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} WINED3DRECT;
-
-typedef struct _WINED3DLIGHT {
- WINED3DLIGHTTYPE Type;
- WINED3DCOLORVALUE Diffuse;
- WINED3DCOLORVALUE Specular;
- WINED3DCOLORVALUE Ambient;
- WINED3DVECTOR Position;
- WINED3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} WINED3DLIGHT;
-
-typedef struct _WINED3DMATERIAL {
- WINED3DCOLORVALUE Diffuse;
- WINED3DCOLORVALUE Ambient;
- WINED3DCOLORVALUE Specular;
- WINED3DCOLORVALUE Emissive;
- float Power;
-} WINED3DMATERIAL;
-
-typedef struct _WINED3DVIEWPORT {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} WINED3DVIEWPORT;
-
-typedef struct _WINED3DGAMMARAMP {
- WORD red [256];
- WORD green[256];
- WORD blue [256];
-} WINED3DGAMMARAMP;
-
-typedef struct _WINED3DLINEPATTERN {
- WORD wRepeatFactor;
- WORD wLinePattern;
-} WINED3DLINEPATTERN;
-
-/*****************************************************************************
- * WineD3D Structures to be used when d3d8 and d3d9 are incompatible
- */
-
-
-typedef enum _WINED3DDEVTYPE {
- WINED3DDEVTYPE_HAL = 1,
- WINED3DDEVTYPE_REF = 2,
- WINED3DDEVTYPE_SW = 3,
- WINED3DDEVTYPE_NULLREF = 4,
-
- WINED3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} WINED3DDEVTYPE;
-
-typedef enum _WINED3DDEGREETYPE {
- WINED3DDEGREE_LINEAR = 1,
- WINED3DDEGREE_QUADRATIC = 2,
- WINED3DDEGREE_CUBIC = 3,
- WINED3DDEGREE_QUINTIC = 5,
-
- WINED3DDEGREE_FORCE_DWORD = 0x7fffffff
-} WINED3DDEGREETYPE;
-
-#define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-
-typedef enum _WINED3DFORMAT {
- WINED3DFMT_UNKNOWN = 0,
-
- WINED3DFMT_R8G8B8 = 20,
- WINED3DFMT_A8R8G8B8 = 21,
- WINED3DFMT_X8R8G8B8 = 22,
- WINED3DFMT_R5G6B5 = 23,
- WINED3DFMT_X1R5G5B5 = 24,
- WINED3DFMT_A1R5G5B5 = 25,
- WINED3DFMT_A4R4G4B4 = 26,
- WINED3DFMT_R3G3B2 = 27,
- WINED3DFMT_A8 = 28,
- WINED3DFMT_A8R3G3B2 = 29,
- WINED3DFMT_X4R4G4B4 = 30,
- WINED3DFMT_A2B10G10R10 = 31,
- WINED3DFMT_A8B8G8R8 = 32,
- WINED3DFMT_X8B8G8R8 = 33,
- WINED3DFMT_G16R16 = 34,
- WINED3DFMT_A2R10G10B10 = 35,
- WINED3DFMT_A16B16G16R16 = 36,
-
-
- WINED3DFMT_A8P8 = 40,
- WINED3DFMT_P8 = 41,
-
- WINED3DFMT_L8 = 50,
- WINED3DFMT_A8L8 = 51,
- WINED3DFMT_A4L4 = 52,
-
- WINED3DFMT_V8U8 = 60,
- WINED3DFMT_L6V5U5 = 61,
- WINED3DFMT_X8L8V8U8 = 62,
- WINED3DFMT_Q8W8V8U8 = 63,
- WINED3DFMT_V16U16 = 64,
- WINED3DFMT_W11V11U10 = 65,
- WINED3DFMT_A2W10V10U10 = 67,
-
- WINED3DFMT_UYVY = WINEMAKEFOURCC('U', 'Y', 'V', 'Y'),
- WINED3DFMT_YUY2 = WINEMAKEFOURCC('Y', 'U', 'Y', '2'),
- WINED3DFMT_YV12 = WINEMAKEFOURCC('Y', 'V', '1', '2'),
- WINED3DFMT_DXT1 = WINEMAKEFOURCC('D', 'X', 'T', '1'),
- WINED3DFMT_DXT2 = WINEMAKEFOURCC('D', 'X', 'T', '2'),
- WINED3DFMT_DXT3 = WINEMAKEFOURCC('D', 'X', 'T', '3'),
- WINED3DFMT_DXT4 = WINEMAKEFOURCC('D', 'X', 'T', '4'),
- WINED3DFMT_DXT5 = WINEMAKEFOURCC('D', 'X', 'T', '5'),
- WINED3DFMT_MULTI2_ARGB8 = WINEMAKEFOURCC('M', 'E', 'T', '1'),
- WINED3DFMT_G8R8_G8B8 = WINEMAKEFOURCC('G', 'R', 'G', 'B'),
- WINED3DFMT_R8G8_B8G8 = WINEMAKEFOURCC('R', 'G', 'B', 'G'),
-
- WINED3DFMT_D16_LOCKABLE = 70,
- WINED3DFMT_D32 = 71,
- WINED3DFMT_D15S1 = 73,
- WINED3DFMT_D24S8 = 75,
- WINED3DFMT_D24X8 = 77,
- WINED3DFMT_D24X4S4 = 79,
- WINED3DFMT_D16 = 80,
- WINED3DFMT_L16 = 81,
- WINED3DFMT_D32F_LOCKABLE = 82,
- WINED3DFMT_D24FS8 = 83,
-
- WINED3DFMT_VERTEXDATA = 100,
- WINED3DFMT_INDEX16 = 101,
- WINED3DFMT_INDEX32 = 102,
- WINED3DFMT_Q16W16V16U16 = 110,
- /* Floating point formats */
- WINED3DFMT_R16F = 111,
- WINED3DFMT_G16R16F = 112,
- WINED3DFMT_A16B16G16R16F = 113,
-
- /* IEEE formats */
- WINED3DFMT_R32F = 114,
- WINED3DFMT_G32R32F = 115,
- WINED3DFMT_A32B32G32R32F = 116,
-
- WINED3DFMT_CxV8U8 = 117,
-
- /* Vendor specific formats */
- WINED3DFMT_ATI2N = WINEMAKEFOURCC('A', 'T', 'I', '2'),
- WINED3DFMT_NVHU = WINEMAKEFOURCC('N', 'V', 'H', 'U'),
- WINED3DFMT_NVHS = WINEMAKEFOURCC('N', 'V', 'H', 'S'),
-
- WINED3DFMT_FORCE_DWORD = 0xFFFFFFFF
-} WINED3DFORMAT;
-
-typedef enum _WINED3DRENDERSTATETYPE {
- WINED3DRS_TEXTUREHANDLE = 1, /* d3d7 */
- WINED3DRS_ANTIALIAS = 2, /* d3d7 */
- WINED3DRS_TEXTUREADDRESS = 3, /* d3d7 */
- WINED3DRS_TEXTUREPERSPECTIVE = 4, /* d3d7 */
- WINED3DRS_WRAPU = 5, /* d3d7 */
- WINED3DRS_WRAPV = 6, /* d3d7 */
- WINED3DRS_ZENABLE = 7,
- WINED3DRS_FILLMODE = 8,
- WINED3DRS_SHADEMODE = 9,
- WINED3DRS_LINEPATTERN = 10, /* d3d7, d3d8 */
- WINED3DRS_MONOENABLE = 11, /* d3d7 */
- WINED3DRS_ROP2 = 12, /* d3d7 */
- WINED3DRS_PLANEMASK = 13, /* d3d7 */
- WINED3DRS_ZWRITEENABLE = 14,
- WINED3DRS_ALPHATESTENABLE = 15,
- WINED3DRS_LASTPIXEL = 16,
- WINED3DRS_TEXTUREMAG = 17, /* d3d7 */
- WINED3DRS_TEXTUREMIN = 18, /* d3d7 */
- WINED3DRS_SRCBLEND = 19,
- WINED3DRS_DESTBLEND = 20,
- WINED3DRS_TEXTUREMAPBLEND = 21, /* d3d7 */
- WINED3DRS_CULLMODE = 22,
- WINED3DRS_ZFUNC = 23,
- WINED3DRS_ALPHAREF = 24,
- WINED3DRS_ALPHAFUNC = 25,
- WINED3DRS_DITHERENABLE = 26,
- WINED3DRS_ALPHABLENDENABLE = 27,
- WINED3DRS_FOGENABLE = 28,
- WINED3DRS_SPECULARENABLE = 29,
- WINED3DRS_ZVISIBLE = 30, /* d3d7, d3d8 */
- WINED3DRS_SUBPIXEL = 31, /* d3d7 */
- WINED3DRS_SUBPIXELX = 32, /* d3d7 */
- WINED3DRS_STIPPLEDALPHA = 33, /* d3d7 */
- WINED3DRS_FOGCOLOR = 34,
- WINED3DRS_FOGTABLEMODE = 35,
- WINED3DRS_FOGSTART = 36,
- WINED3DRS_FOGEND = 37,
- WINED3DRS_FOGDENSITY = 38,
- WINED3DRS_STIPPLEENABLE = 39, /* d3d7 */
- WINED3DRS_EDGEANTIALIAS = 40, /* d3d7, d3d8 */
- WINED3DRS_COLORKEYENABLE = 41, /* d3d7 */
- WINED3DRS_BORDERCOLOR = 43, /* d3d7 */
- WINED3DRS_TEXTUREADDRESSU = 44, /* d3d7 */
- WINED3DRS_TEXTUREADDRESSV = 45, /* d3d7 */
- WINED3DRS_MIPMAPLODBIAS = 46, /* d3d7 */
- WINED3DRS_ZBIAS = 47, /* d3d7, d3d8 */
- WINED3DRS_RANGEFOGENABLE = 48,
- WINED3DRS_ANISOTROPY = 49, /* d3d7 */
- WINED3DRS_FLUSHBATCH = 50, /* d3d7 */
- WINED3DRS_TRANSLUCENTSORTINDEPENDENT = 51, /* d3d7 */
- WINED3DRS_STENCILENABLE = 52,
- WINED3DRS_STENCILFAIL = 53,
- WINED3DRS_STENCILZFAIL = 54,
- WINED3DRS_STENCILPASS = 55,
- WINED3DRS_STENCILFUNC = 56,
- WINED3DRS_STENCILREF = 57,
- WINED3DRS_STENCILMASK = 58,
- WINED3DRS_STENCILWRITEMASK = 59,
- WINED3DRS_TEXTUREFACTOR = 60,
-
- WINED3DRS_STIPPLEPATTERN00 = 64,
- WINED3DRS_STIPPLEPATTERN01 = 65,
- WINED3DRS_STIPPLEPATTERN02 = 66,
- WINED3DRS_STIPPLEPATTERN03 = 67,
- WINED3DRS_STIPPLEPATTERN04 = 68,
- WINED3DRS_STIPPLEPATTERN05 = 69,
- WINED3DRS_STIPPLEPATTERN06 = 70,
- WINED3DRS_STIPPLEPATTERN07 = 71,
- WINED3DRS_STIPPLEPATTERN08 = 72,
- WINED3DRS_STIPPLEPATTERN09 = 73,
- WINED3DRS_STIPPLEPATTERN10 = 74,
- WINED3DRS_STIPPLEPATTERN11 = 75,
- WINED3DRS_STIPPLEPATTERN12 = 76,
- WINED3DRS_STIPPLEPATTERN13 = 77,
- WINED3DRS_STIPPLEPATTERN14 = 78,
- WINED3DRS_STIPPLEPATTERN15 = 79,
- WINED3DRS_STIPPLEPATTERN16 = 80,
- WINED3DRS_STIPPLEPATTERN17 = 81,
- WINED3DRS_STIPPLEPATTERN18 = 82,
- WINED3DRS_STIPPLEPATTERN19 = 83,
- WINED3DRS_STIPPLEPATTERN20 = 84,
- WINED3DRS_STIPPLEPATTERN21 = 85,
- WINED3DRS_STIPPLEPATTERN22 = 86,
- WINED3DRS_STIPPLEPATTERN23 = 87,
- WINED3DRS_STIPPLEPATTERN24 = 88,
- WINED3DRS_STIPPLEPATTERN25 = 89,
- WINED3DRS_STIPPLEPATTERN26 = 90,
- WINED3DRS_STIPPLEPATTERN27 = 91,
- WINED3DRS_STIPPLEPATTERN28 = 92,
- WINED3DRS_STIPPLEPATTERN29 = 93,
- WINED3DRS_STIPPLEPATTERN30 = 94,
- WINED3DRS_STIPPLEPATTERN31 = 95,
-
- WINED3DRS_WRAP0 = 128,
- WINED3DRS_WRAP1 = 129,
- WINED3DRS_WRAP2 = 130,
- WINED3DRS_WRAP3 = 131,
- WINED3DRS_WRAP4 = 132,
- WINED3DRS_WRAP5 = 133,
- WINED3DRS_WRAP6 = 134,
- WINED3DRS_WRAP7 = 135,
- WINED3DRS_CLIPPING = 136,
- WINED3DRS_LIGHTING = 137,
- WINED3DRS_EXTENTS = 138, /* d3d7 */
- WINED3DRS_AMBIENT = 139,
- WINED3DRS_FOGVERTEXMODE = 140,
- WINED3DRS_COLORVERTEX = 141,
- WINED3DRS_LOCALVIEWER = 142,
- WINED3DRS_NORMALIZENORMALS = 143,
- WINED3DRS_COLORKEYBLENDENABLE = 144, /* d3d7 */
- WINED3DRS_DIFFUSEMATERIALSOURCE = 145,
- WINED3DRS_SPECULARMATERIALSOURCE = 146,
- WINED3DRS_AMBIENTMATERIALSOURCE = 147,
- WINED3DRS_EMISSIVEMATERIALSOURCE = 148,
- WINED3DRS_VERTEXBLEND = 151,
- WINED3DRS_CLIPPLANEENABLE = 152,
- WINED3DRS_SOFTWAREVERTEXPROCESSING = 153, /* d3d8 */
- WINED3DRS_POINTSIZE = 154,
- WINED3DRS_POINTSIZE_MIN = 155,
- WINED3DRS_POINTSPRITEENABLE = 156,
- WINED3DRS_POINTSCALEENABLE = 157,
- WINED3DRS_POINTSCALE_A = 158,
- WINED3DRS_POINTSCALE_B = 159,
- WINED3DRS_POINTSCALE_C = 160,
- WINED3DRS_MULTISAMPLEANTIALIAS = 161,
- WINED3DRS_MULTISAMPLEMASK = 162,
- WINED3DRS_PATCHEDGESTYLE = 163,
- WINED3DRS_PATCHSEGMENTS = 164, /* d3d8 */
- WINED3DRS_DEBUGMONITORTOKEN = 165,
- WINED3DRS_POINTSIZE_MAX = 166,
- WINED3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- WINED3DRS_COLORWRITEENABLE = 168,
- WINED3DRS_TWEENFACTOR = 170,
- WINED3DRS_BLENDOP = 171,
- WINED3DRS_POSITIONORDER = 172,
- WINED3DRS_NORMALORDER = 173,
- WINED3DRS_POSITIONDEGREE = 172,
- WINED3DRS_NORMALDEGREE = 173,
- WINED3DRS_SCISSORTESTENABLE = 174,
- WINED3DRS_SLOPESCALEDEPTHBIAS = 175,
- WINED3DRS_ANTIALIASEDLINEENABLE = 176,
- WINED3DRS_MINTESSELLATIONLEVEL = 178,
- WINED3DRS_MAXTESSELLATIONLEVEL = 179,
- WINED3DRS_ADAPTIVETESS_X = 180,
- WINED3DRS_ADAPTIVETESS_Y = 181,
- WINED3DRS_ADAPTIVETESS_Z = 182,
- WINED3DRS_ADAPTIVETESS_W = 183,
- WINED3DRS_ENABLEADAPTIVETESSELLATION= 184,
- WINED3DRS_TWOSIDEDSTENCILMODE = 185,
- WINED3DRS_CCW_STENCILFAIL = 186,
- WINED3DRS_CCW_STENCILZFAIL = 187,
- WINED3DRS_CCW_STENCILPASS = 188,
- WINED3DRS_CCW_STENCILFUNC = 189,
- WINED3DRS_COLORWRITEENABLE1 = 190,
- WINED3DRS_COLORWRITEENABLE2 = 191,
- WINED3DRS_COLORWRITEENABLE3 = 192,
- WINED3DRS_BLENDFACTOR = 193,
- WINED3DRS_SRGBWRITEENABLE = 194,
- WINED3DRS_DEPTHBIAS = 195,
- WINED3DRS_WRAP8 = 198,
- WINED3DRS_WRAP9 = 199,
- WINED3DRS_WRAP10 = 200,
- WINED3DRS_WRAP11 = 201,
- WINED3DRS_WRAP12 = 202,
- WINED3DRS_WRAP13 = 203,
- WINED3DRS_WRAP14 = 204,
- WINED3DRS_WRAP15 = 205,
- WINED3DRS_SEPARATEALPHABLENDENABLE = 206,
- WINED3DRS_SRCBLENDALPHA = 207,
- WINED3DRS_DESTBLENDALPHA = 208,
- WINED3DRS_BLENDOPALPHA = 209,
-
- WINED3DRS_FORCE_DWORD = 0x7fffffff
-} WINED3DRENDERSTATETYPE;
-
-#define WINEHIGHEST_RENDER_STATE WINED3DRS_BLENDOPALPHA
- /* Highest WINED3DRS_ value */
-
-#define WINED3DCOLORWRITEENABLE_RED (1<<0)
-#define WINED3DCOLORWRITEENABLE_GREEN (1<<1)
-#define WINED3DCOLORWRITEENABLE_BLUE (1<<2)
-#define WINED3DCOLORWRITEENABLE_ALPHA (1<<3)
-
-typedef enum _WINED3DBLEND {
- WINED3DBLEND_ZERO = 1,
- WINED3DBLEND_ONE = 2,
- WINED3DBLEND_SRCCOLOR = 3,
- WINED3DBLEND_INVSRCCOLOR = 4,
- WINED3DBLEND_SRCALPHA = 5,
- WINED3DBLEND_INVSRCALPHA = 6,
- WINED3DBLEND_DESTALPHA = 7,
- WINED3DBLEND_INVDESTALPHA = 8,
- WINED3DBLEND_DESTCOLOR = 9,
- WINED3DBLEND_INVDESTCOLOR = 10,
- WINED3DBLEND_SRCALPHASAT = 11,
- WINED3DBLEND_BOTHSRCALPHA = 12,
- WINED3DBLEND_BOTHINVSRCALPHA = 13,
- WINED3DBLEND_BLENDFACTOR = 14,
- WINED3DBLEND_INVBLENDFACTOR = 15,
- WINED3DBLEND_FORCE_DWORD = 0x7fffffff
-} WINED3DBLEND;
-
-typedef enum _WINED3DBLENDOP {
- WINED3DBLENDOP_ADD = 1,
- WINED3DBLENDOP_SUBTRACT = 2,
- WINED3DBLENDOP_REVSUBTRACT = 3,
- WINED3DBLENDOP_MIN = 4,
- WINED3DBLENDOP_MAX = 5,
-
- WINED3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} WINED3DBLENDOP;
-
-typedef enum _WINED3DVERTEXBLENDFLAGS {
- WINED3DVBF_DISABLE = 0,
- WINED3DVBF_1WEIGHTS = 1,
- WINED3DVBF_2WEIGHTS = 2,
- WINED3DVBF_3WEIGHTS = 3,
- WINED3DVBF_TWEENING = 255,
- WINED3DVBF_0WEIGHTS = 256
-} WINED3DVERTEXBLENDFLAGS;
-
-typedef enum _WINED3DCMPFUNC {
- WINED3DCMP_NEVER = 1,
- WINED3DCMP_LESS = 2,
- WINED3DCMP_EQUAL = 3,
- WINED3DCMP_LESSEQUAL = 4,
- WINED3DCMP_GREATER = 5,
- WINED3DCMP_NOTEQUAL = 6,
- WINED3DCMP_GREATEREQUAL = 7,
- WINED3DCMP_ALWAYS = 8,
-
- WINED3DCMP_FORCE_DWORD = 0x7fffffff
-} WINED3DCMPFUNC;
-
-typedef enum _WINED3DZBUFFERTYPE {
- WINED3DZB_FALSE = 0,
- WINED3DZB_TRUE = 1,
- WINED3DZB_USEW = 2,
-
- WINED3DZB_FORCE_DWORD = 0x7fffffff
-} WINED3DZBUFFERTYPE;
-
-typedef enum _WINED3DFOGMODE {
- WINED3DFOG_NONE = 0,
- WINED3DFOG_EXP = 1,
- WINED3DFOG_EXP2 = 2,
- WINED3DFOG_LINEAR = 3,
-
- WINED3DFOG_FORCE_DWORD = 0x7fffffff
-} WINED3DFOGMODE;
-
-typedef enum _WINED3DSHADEMODE {
- WINED3DSHADE_FLAT = 1,
- WINED3DSHADE_GOURAUD = 2,
- WINED3DSHADE_PHONG = 3,
-
- WINED3DSHADE_FORCE_DWORD = 0x7fffffff
-} WINED3DSHADEMODE;
-
-typedef enum _WINED3DFILLMODE {
- WINED3DFILL_POINT = 1,
- WINED3DFILL_WIREFRAME = 2,
- WINED3DFILL_SOLID = 3,
-
- WINED3DFILL_FORCE_DWORD = 0x7fffffff
-} WINED3DFILLMODE;
-
-typedef enum _WINED3DCULL {
- WINED3DCULL_NONE = 1,
- WINED3DCULL_CW = 2,
- WINED3DCULL_CCW = 3,
-
- WINED3DCULL_FORCE_DWORD = 0x7fffffff
-} WINED3DCULL;
-
-typedef enum _WINED3DSTENCILOP {
- WINED3DSTENCILOP_KEEP = 1,
- WINED3DSTENCILOP_ZERO = 2,
- WINED3DSTENCILOP_REPLACE = 3,
- WINED3DSTENCILOP_INCRSAT = 4,
- WINED3DSTENCILOP_DECRSAT = 5,
- WINED3DSTENCILOP_INVERT = 6,
- WINED3DSTENCILOP_INCR = 7,
- WINED3DSTENCILOP_DECR = 8,
-
- WINED3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} WINED3DSTENCILOP;
-
-typedef enum _WINED3DMATERIALCOLORSOURCE {
- WINED3DMCS_MATERIAL = 0,
- WINED3DMCS_COLOR1 = 1,
- WINED3DMCS_COLOR2 = 2,
-
- WINED3DMCS_FORCE_DWORD = 0x7fffffff
-} WINED3DMATERIALCOLORSOURCE;
-
-typedef enum _WINED3DPATCHEDGESTYLE {
- WINED3DPATCHEDGE_DISCRETE = 0,
- WINED3DPATCHEDGE_CONTINUOUS = 1,
-
- WINED3DPATCHEDGE_FORCE_DWORD = 0x7fffffff,
-} WINED3DPATCHEDGESTYLE;
-
-typedef struct _WINED3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- WINED3DFORMAT Format;
-} WINED3DDISPLAYMODE;
-
-typedef enum _WINED3DBACKBUFFER_TYPE {
- WINED3DBACKBUFFER_TYPE_MONO = 0,
- WINED3DBACKBUFFER_TYPE_LEFT = 1,
- WINED3DBACKBUFFER_TYPE_RIGHT = 2,
-
- WINED3DBACKBUFFER_TYPE_FORCE_DWORD = 0x7fffffff
-} WINED3DBACKBUFFER_TYPE;
-
-#define WINED3DADAPTER_DEFAULT 0
-#define WINED3DENUM_NO_WHQL_LEVEL 2
-#define WINED3DPRESENT_BACK_BUFFER_MAX 3
-
-typedef enum _WINED3DSWAPEFFECT {
- WINED3DSWAPEFFECT_DISCARD = 1,
- WINED3DSWAPEFFECT_FLIP = 2,
- WINED3DSWAPEFFECT_COPY = 3,
- WINED3DSWAPEFFECT_COPY_VSYNC = 4,
- WINED3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
-} WINED3DSWAPEFFECT;
-
-typedef enum _WINED3DSAMPLERSTATETYPE {
- WINED3DSAMP_ADDRESSU = 1,
- WINED3DSAMP_ADDRESSV = 2,
- WINED3DSAMP_ADDRESSW = 3,
- WINED3DSAMP_BORDERCOLOR = 4,
- WINED3DSAMP_MAGFILTER = 5,
- WINED3DSAMP_MINFILTER = 6,
- WINED3DSAMP_MIPFILTER = 7,
- WINED3DSAMP_MIPMAPLODBIAS = 8,
- WINED3DSAMP_MAXMIPLEVEL = 9,
- WINED3DSAMP_MAXANISOTROPY = 10,
- WINED3DSAMP_SRGBTEXTURE = 11,
- WINED3DSAMP_ELEMENTINDEX = 12,
- WINED3DSAMP_DMAPOFFSET = 13,
-
- WINED3DSAMP_FORCE_DWORD = 0x7fffffff,
-} WINED3DSAMPLERSTATETYPE;
-#define WINED3D_HIGHEST_SAMPLER_STATE WINED3DSAMP_DMAPOFFSET
-
-typedef enum _WINED3DMULTISAMPLE_TYPE {
- WINED3DMULTISAMPLE_NONE = 0,
- WINED3DMULTISAMPLE_NONMASKABLE = 1,
- WINED3DMULTISAMPLE_2_SAMPLES = 2,
- WINED3DMULTISAMPLE_3_SAMPLES = 3,
- WINED3DMULTISAMPLE_4_SAMPLES = 4,
- WINED3DMULTISAMPLE_5_SAMPLES = 5,
- WINED3DMULTISAMPLE_6_SAMPLES = 6,
- WINED3DMULTISAMPLE_7_SAMPLES = 7,
- WINED3DMULTISAMPLE_8_SAMPLES = 8,
- WINED3DMULTISAMPLE_9_SAMPLES = 9,
- WINED3DMULTISAMPLE_10_SAMPLES = 10,
- WINED3DMULTISAMPLE_11_SAMPLES = 11,
- WINED3DMULTISAMPLE_12_SAMPLES = 12,
- WINED3DMULTISAMPLE_13_SAMPLES = 13,
- WINED3DMULTISAMPLE_14_SAMPLES = 14,
- WINED3DMULTISAMPLE_15_SAMPLES = 15,
- WINED3DMULTISAMPLE_16_SAMPLES = 16,
-
- WINED3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
-} WINED3DMULTISAMPLE_TYPE;
-
-typedef enum _WINED3DTEXTURESTAGESTATETYPE {
- WINED3DTSS_COLOROP = 1,
- WINED3DTSS_COLORARG1 = 2,
- WINED3DTSS_COLORARG2 = 3,
- WINED3DTSS_ALPHAOP = 4,
- WINED3DTSS_ALPHAARG1 = 5,
- WINED3DTSS_ALPHAARG2 = 6,
- WINED3DTSS_BUMPENVMAT00 = 7,
- WINED3DTSS_BUMPENVMAT01 = 8,
- WINED3DTSS_BUMPENVMAT10 = 9,
- WINED3DTSS_BUMPENVMAT11 = 10,
- WINED3DTSS_TEXCOORDINDEX = 11,
- WINED3DTSS_ADDRESS = 12,
- WINED3DTSS_ADDRESSU = 13,
- WINED3DTSS_ADDRESSV = 14,
- WINED3DTSS_BORDERCOLOR = 15,
- WINED3DTSS_MAGFILTER = 16,
- WINED3DTSS_MINFILTER = 17,
- WINED3DTSS_MIPFILTER = 18,
- WINED3DTSS_MIPMAPLODBIAS = 19,
- WINED3DTSS_MAXMIPLEVEL = 20,
- WINED3DTSS_MAXANISOTROPY = 21,
- WINED3DTSS_BUMPENVLSCALE = 22,
- WINED3DTSS_BUMPENVLOFFSET = 23,
- WINED3DTSS_TEXTURETRANSFORMFLAGS = 24,
- WINED3DTSS_ADDRESSW = 25,
- WINED3DTSS_COLORARG0 = 26,
- WINED3DTSS_ALPHAARG0 = 27,
- WINED3DTSS_RESULTARG = 28,
- WINED3DTSS_CONSTANT = 32,
-
- WINED3DTSS_FORCE_DWORD = 0x7fffffff
-} WINED3DTEXTURESTAGESTATETYPE;
-
-#define WINED3DTSS_TCI_PASSTHRU 0x00000
-#define WINED3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define WINED3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-#define WINED3DTSS_TCI_SPHEREMAP 0x40000
-
-#define WINED3D_HIGHEST_TEXTURE_STATE WINED3DTSS_CONSTANT
-
-typedef enum _WINED3DTEXTURETRANSFORMFLAGS {
- WINED3DTTFF_DISABLE = 0,
- WINED3DTTFF_COUNT1 = 1,
- WINED3DTTFF_COUNT2 = 2,
- WINED3DTTFF_COUNT3 = 3,
- WINED3DTTFF_COUNT4 = 4,
- WINED3DTTFF_PROJECTED = 256,
-
- WINED3DTTFF_FORCE_DWORD = 0x7fffffff
-} WINED3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _WINED3DTEXTUREOP {
- WINED3DTOP_DISABLE = 1,
- WINED3DTOP_SELECTARG1 = 2,
- WINED3DTOP_SELECTARG2 = 3,
- WINED3DTOP_MODULATE = 4,
- WINED3DTOP_MODULATE2X = 5,
- WINED3DTOP_MODULATE4X = 6,
- WINED3DTOP_ADD = 7,
- WINED3DTOP_ADDSIGNED = 8,
- WINED3DTOP_ADDSIGNED2X = 9,
- WINED3DTOP_SUBTRACT = 10,
- WINED3DTOP_ADDSMOOTH = 11,
- WINED3DTOP_BLENDDIFFUSEALPHA = 12,
- WINED3DTOP_BLENDTEXTUREALPHA = 13,
- WINED3DTOP_BLENDFACTORALPHA = 14,
- WINED3DTOP_BLENDTEXTUREALPHAPM = 15,
- WINED3DTOP_BLENDCURRENTALPHA = 16,
- WINED3DTOP_PREMODULATE = 17,
- WINED3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- WINED3DTOP_MODULATECOLOR_ADDALPHA = 19,
- WINED3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- WINED3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- WINED3DTOP_BUMPENVMAP = 22,
- WINED3DTOP_BUMPENVMAPLUMINANCE = 23,
- WINED3DTOP_DOTPRODUCT3 = 24,
- WINED3DTOP_MULTIPLYADD = 25,
- WINED3DTOP_LERP = 26,
-
- WINED3DTOP_FORCE_DWORD = 0x7fffffff,
-} WINED3DTEXTUREOP;
-
-#define WINED3DTA_SELECTMASK 0x0000000f
-#define WINED3DTA_DIFFUSE 0x00000000
-#define WINED3DTA_CURRENT 0x00000001
-#define WINED3DTA_TEXTURE 0x00000002
-#define WINED3DTA_TFACTOR 0x00000003
-#define WINED3DTA_SPECULAR 0x00000004
-#define WINED3DTA_TEMP 0x00000005
-#define WINED3DTA_CONSTANT 0x00000006
-#define WINED3DTA_COMPLEMENT 0x00000010
-#define WINED3DTA_ALPHAREPLICATE 0x00000020
-
-typedef enum _WINED3DTEXTUREADDRESS {
- WINED3DTADDRESS_WRAP = 1,
- WINED3DTADDRESS_MIRROR = 2,
- WINED3DTADDRESS_CLAMP = 3,
- WINED3DTADDRESS_BORDER = 4,
- WINED3DTADDRESS_MIRRORONCE = 5,
-
- WINED3DTADDRESS_FORCE_DWORD = 0x7fffffff
-} WINED3DTEXTUREADDRESS;
-
-typedef enum _WINED3DTRANSFORMSTATETYPE {
- WINED3DTS_VIEW = 2,
- WINED3DTS_PROJECTION = 3,
- WINED3DTS_TEXTURE0 = 16,
- WINED3DTS_TEXTURE1 = 17,
- WINED3DTS_TEXTURE2 = 18,
- WINED3DTS_TEXTURE3 = 19,
- WINED3DTS_TEXTURE4 = 20,
- WINED3DTS_TEXTURE5 = 21,
- WINED3DTS_TEXTURE6 = 22,
- WINED3DTS_TEXTURE7 = 23,
-
- WINED3DTS_FORCE_DWORD = 0x7fffffff
-} WINED3DTRANSFORMSTATETYPE;
-
-#define WINED3DTS_WORLD WINED3DTS_WORLDMATRIX(0)
-#define WINED3DTS_WORLD1 WINED3DTS_WORLDMATRIX(1)
-#define WINED3DTS_WORLD2 WINED3DTS_WORLDMATRIX(2)
-#define WINED3DTS_WORLD3 WINED3DTS_WORLDMATRIX(3)
-#define WINED3DTS_WORLDMATRIX(index) (WINED3DTRANSFORMSTATETYPE)(index + 256)
-
-typedef enum _WINED3DBASISTYPE {
- WINED3DBASIS_BEZIER = 0,
- WINED3DBASIS_BSPLINE = 1,
- WINED3DBASIS_INTERPOLATE = 2,
-
- WINED3DBASIS_FORCE_DWORD = 0x7fffffff
-} WINED3DBASISTYPE;
-
-typedef enum _WINED3DCUBEMAP_FACES {
- WINED3DCUBEMAP_FACE_POSITIVE_X = 0,
- WINED3DCUBEMAP_FACE_NEGATIVE_X = 1,
- WINED3DCUBEMAP_FACE_POSITIVE_Y = 2,
- WINED3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- WINED3DCUBEMAP_FACE_POSITIVE_Z = 4,
- WINED3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-
- WINED3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} WINED3DCUBEMAP_FACES;
-
-typedef enum _WINED3DTEXTUREFILTERTYPE {
- WINED3DTEXF_NONE = 0,
- WINED3DTEXF_POINT = 1,
- WINED3DTEXF_LINEAR = 2,
- WINED3DTEXF_ANISOTROPIC = 3,
- WINED3DTEXF_FLATCUBIC = 4,
- WINED3DTEXF_GAUSSIANCUBIC = 5,
- WINED3DTEXF_PYRAMIDALQUAD = 6,
- WINED3DTEXF_GAUSSIANQUAD = 7,
- WINED3DTEXF_FORCE_DWORD = 0x7fffffff
-} WINED3DTEXTUREFILTERTYPE;
-
-typedef struct _WINEDD3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- WINED3DBASISTYPE Basis;
- WINED3DDEGREETYPE Degree;
-} WINED3DRECTPATCH_INFO;
-
-typedef struct _WINED3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- WINED3DBASISTYPE Basis;
- WINED3DDEGREETYPE Degree;
-} WINED3DTRIPATCH_INFO;
-
-
-typedef struct _WINED3DADAPTER_IDENTIFIER {
- char *Driver;
- char *Description;
- char *DeviceName;
- LARGE_INTEGER *DriverVersion;
- DWORD *VendorId;
- DWORD *DeviceId;
- DWORD *SubSysId;
- DWORD *Revision;
- GUID *DeviceIdentifier;
- DWORD *WHQLLevel;
-} WINED3DADAPTER_IDENTIFIER;
-
-typedef struct _WINED3DPRESENT_PARAMETERS {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- WINED3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
- WINED3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
- WINED3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- WINED3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
- UINT FullScreen_RefreshRateInHz;
- UINT PresentationInterval;
- BOOL AutoRestoreDisplayMode;
-} WINED3DPRESENT_PARAMETERS;
-
-#define WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
-#define WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002
-#define WINED3DPRESENTFLAG_DEVICECLIP 0x00000004
-#define WINED3DPRESENTFLAG_VIDEO 0x00000010
-#define WINED3DPRESENTFLAG_NOAUTOROTATE 0x00000020
-#define WINED3DPRESENTFLAG_UNPRUNEDMODE 0x00000040
-
-typedef enum _WINED3DRESOURCETYPE {
- WINED3DRTYPE_SURFACE = 1,
- WINED3DRTYPE_VOLUME = 2,
- WINED3DRTYPE_TEXTURE = 3,
- WINED3DRTYPE_VOLUMETEXTURE = 4,
- WINED3DRTYPE_CUBETEXTURE = 5,
- WINED3DRTYPE_VERTEXBUFFER = 6,
- WINED3DRTYPE_INDEXBUFFER = 7,
-
- WINED3DRTYPE_FORCE_DWORD = 0x7fffffff
-} WINED3DRESOURCETYPE;
-
-#define WINED3DRTYPECOUNT (WINED3DRTYPE_INDEXBUFFER+1)
-
-typedef enum _WINED3DPOOL {
- WINED3DPOOL_DEFAULT = 0,
- WINED3DPOOL_MANAGED = 1,
- WINED3DPOOL_SYSTEMMEM = 2,
- WINED3DPOOL_SCRATCH = 3,
-
- WINED3DPOOL_FORCE_DWORD = 0x7fffffff
-} WINED3DPOOL;
-
-typedef struct _WINED3DSURFACE_DESC
-{
- WINED3DFORMAT *Format;
- WINED3DRESOURCETYPE *Type;
- DWORD *Usage;
- WINED3DPOOL *Pool;
- UINT *Size;
-
- WINED3DMULTISAMPLE_TYPE *MultiSampleType;
- DWORD *MultiSampleQuality;
- UINT *Width;
- UINT *Height;
-} WINED3DSURFACE_DESC;
-
-typedef struct _WINED3DVOLUME_DESC
-{
- WINED3DFORMAT *Format;
- WINED3DRESOURCETYPE *Type;
- DWORD *Usage;
- WINED3DPOOL *Pool;
- UINT *Size;
-
- UINT *Width;
- UINT *Height;
- UINT *Depth;
-} WINED3DVOLUME_DESC;
-
-typedef struct _WINED3DCLIPSTATUS {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} WINED3DCLIPSTATUS;
-
-
-typedef struct _WINED3DVERTEXELEMENT {
- WORD Stream;
- WORD Offset;
- BYTE Type;
- BYTE Method;
- BYTE Usage;
- BYTE UsageIndex;
- int Reg; /* DirectX 8 */
-} WINED3DVERTEXELEMENT, *LPWINED3DVERTEXELEMENT;
-
-
-typedef enum _WINED3DQUERYTYPE {
- WINED3DQUERYTYPE_VCACHE = 4,
- WINED3DQUERYTYPE_RESOURCEMANAGER = 5,
- WINED3DQUERYTYPE_VERTEXSTATS = 6,
- WINED3DQUERYTYPE_EVENT = 8,
- WINED3DQUERYTYPE_OCCLUSION = 9,
- WINED3DQUERYTYPE_TIMESTAMP = 10,
- WINED3DQUERYTYPE_TIMESTAMPDISJOINT = 11,
- WINED3DQUERYTYPE_TIMESTAMPFREQ = 12,
- WINED3DQUERYTYPE_PIPELINETIMINGS = 13,
- WINED3DQUERYTYPE_INTERFACETIMINGS = 14,
- WINED3DQUERYTYPE_VERTEXTIMINGS = 15,
- WINED3DQUERYTYPE_PIXELTIMINGS = 16,
- WINED3DQUERYTYPE_BANDWIDTHTIMINGS = 17,
- WINED3DQUERYTYPE_CACHEUTILIZATION = 18
-} WINED3DQUERYTYPE;
-
-#define WINED3DISSUE_BEGIN (1 << 1)
-#define WINED3DISSUE_END (1 << 0)
-#define WINED3DGETDATA_FLUSH (1 << 0)
-
-typedef struct _WINED3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- WINED3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} WINED3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _WINED3DDEVINFO_BANDWIDTHTIMINGS {
- float MaxBandwidthUtilized;
- float FrontEndUploadMemoryUtilizedPercent;
- float VertexRateUtilizedPercent;
- float TriangleSetupRateUtilizedPercent;
- float FillRateUtilizedPercent;
-} WINED3DDEVINFO_BANDWIDTHTIMINGS;
-
-typedef struct _WINED3DDEVINFO_CACHEUTILIZATION {
- float TextureCacheHitRate;
- float PostTransformVertexCacheHitRate;
-} WINED3DDEVINFO_CACHEUTILIZATION;
-
-typedef struct _WINED3DDEVINFO_INTERFACETIMINGS {
- float WaitingForGPUToUseApplicationResourceTimePercent;
- float WaitingForGPUToAcceptMoreCommandsTimePercent;
- float WaitingForGPUToStayWithinLatencyTimePercent;
- float WaitingForGPUExclusiveResourceTimePercent;
- float WaitingForGPUOtherTimePercent;
-} WINED3DDEVINFO_INTERFACETIMINGS;
-
-typedef struct _WINED3DDEVINFO_PIPELINETIMINGS {
- float VertexProcessingTimePercent;
- float PixelProcessingTimePercent;
- float OtherGPUProcessingTimePercent;
- float GPUIdleTimePercent;
-} WINED3DDEVINFO_PIPELINETIMINGS;
-
-typedef struct _WINED3DDEVINFO_STAGETIMINGS {
- float MemoryProcessingPercent;
- float ComputationProcessingPercent;
-} WINED3DDEVINFO_STAGETIMINGS;
-
-typedef struct _WINED3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} WINED3DRASTER_STATUS;
-
-
-typedef struct WINED3DRESOURCESTATS {
- BOOL bThrashing;
- DWORD ApproxBytesDownloaded;
- DWORD NumEvicts;
- DWORD NumVidCreates;
- DWORD LastPri;
- DWORD NumUsed;
- DWORD NumUsedInVidMem;
- DWORD WorkingSet;
- DWORD WorkingSetBytes;
- DWORD TotalManaged;
- DWORD TotalBytes;
-} WINED3DRESOURCESTATS;
-
-typedef struct _WINED3DDEVINFO_RESOURCEMANAGER {
- WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
-} WINED3DDEVINFO_RESOURCEMANAGER;
-
-typedef struct _WINED3DDEVINFO_VERTEXSTATS {
- DWORD NumRenderedTriangles;
- DWORD NumExtraClippingTriangles;
-} WINED3DDEVINFO_VERTEXSTATS;
-
-typedef struct _WINED3DLOCKED_RECT {
- INT Pitch;
- void* pBits;
-} WINED3DLOCKED_RECT;
-
-typedef struct _WINED3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void* pBits;
-} WINED3DLOCKED_BOX;
-
-
-typedef struct _WINED3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} WINED3DBOX;
-
-/*Vertex cache optimization hints.*/
-typedef struct WINED3DDEVINFO_VCACHE {
- /*Must be a 4 char code FOURCC (e.g. CACH)*/
- DWORD Pattern;
- /*0 to get the longest strips, 1 vertex cache*/
- DWORD OptMethod;
- /*Cache size to use (only valid if OptMethod==1) */
- DWORD CacheSize;
- /*internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1)*/
- DWORD MagicNumber;
-} WINED3DDEVINFO_VCACHE;
-
-typedef struct _WINED3DVERTEXBUFFER_DESC {
- WINED3DFORMAT Format;
- WINED3DRESOURCETYPE Type;
- DWORD Usage;
- WINED3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} WINED3DVERTEXBUFFER_DESC;
-
-typedef struct _WINED3DINDEXBUFFER_DESC {
- WINED3DFORMAT Format;
- WINED3DRESOURCETYPE Type;
- DWORD Usage;
- WINED3DPOOL Pool;
- UINT Size;
-} WINED3DINDEXBUFFER_DESC;
-
-typedef enum _WINED3DSTATEBLOCKTYPE {
- WINED3DSBT_INIT = 0,
- WINED3DSBT_ALL = 1,
- WINED3DSBT_PIXELSTATE = 2,
- WINED3DSBT_VERTEXSTATE = 3,
- WINED3DSBT_RECORDED = 4, /* WineD3D private */
-
- WINED3DSBT_FORCE_DWORD = 0xffffffff
-} WINED3DSTATEBLOCKTYPE;
-
-typedef struct glDescriptor {
- UINT textureName;
- int level;
- int target;
- int/*GLenum*/ glFormat;
- int/*GLenum*/ glFormatInternal;
- int/*GLenum*/ glType;
-} glDescriptor;
-
-#define WINED3DDP_MAXTEXCOORD 8
-
-typedef enum _WINED3DDECLMETHOD {
- WINED3DDECLMETHOD_DEFAULT = 0,
- WINED3DDECLMETHOD_PARTIALU = 1,
- WINED3DDECLMETHOD_PARTIALV = 2,
- WINED3DDECLMETHOD_CROSSUV = 3,
- WINED3DDECLMETHOD_UV = 4,
- WINED3DDECLMETHOD_LOOKUP = 5,
- WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
-} WINED3DDECLMETHOD;
-
-typedef enum _WINED3DDECLTYPE {
- WINED3DDECLTYPE_FLOAT1 = 0,
- WINED3DDECLTYPE_FLOAT2 = 1,
- WINED3DDECLTYPE_FLOAT3 = 2,
- WINED3DDECLTYPE_FLOAT4 = 3,
- WINED3DDECLTYPE_D3DCOLOR = 4,
- WINED3DDECLTYPE_UBYTE4 = 5,
- WINED3DDECLTYPE_SHORT2 = 6,
- WINED3DDECLTYPE_SHORT4 = 7,
- /* VS 2.0 */
- WINED3DDECLTYPE_UBYTE4N = 8,
- WINED3DDECLTYPE_SHORT2N = 9,
- WINED3DDECLTYPE_SHORT4N = 10,
- WINED3DDECLTYPE_USHORT2N = 11,
- WINED3DDECLTYPE_USHORT4N = 12,
- WINED3DDECLTYPE_UDEC3 = 13,
- WINED3DDECLTYPE_DEC3N = 14,
- WINED3DDECLTYPE_FLOAT16_2 = 15,
- WINED3DDECLTYPE_FLOAT16_4 = 16,
- WINED3DDECLTYPE_UNUSED = 17,
-} WINED3DDECLTYPE;
-
-#define WINED3DDECL_END() {0xFF,0,WINED3DDECLTYPE_UNUSED,0,0,0,-1}
-
-typedef struct WineDirect3DStridedData {
- BYTE *lpData; /* Pointer to start of data */
- DWORD dwStride; /* Stride between occurrences of this data */
- DWORD dwType; /* Type (as in D3DVSDT_TYPE) */
- int VBO; /* Vertex buffer object this data is in */
- UINT streamNo; /* D3D stream number */
-} WineDirect3DStridedData;
-
-typedef struct WineDirect3DVertexStridedData {
- /* IMPORTANT:
- *
- * This structure can be accessed in two ways: Named access, and array
- * access. Please note that named access is only valid with the fixed
- * function vertex pipeline, and the arrays are only valid with the
- * programmable vertex pipeline(vertex shaders)
- */
- union {
- struct {
-
- /* Do not add or reorder fields here,
- * so this can be indexed as an array */
- WineDirect3DStridedData position;
- WineDirect3DStridedData blendWeights;
- WineDirect3DStridedData blendMatrixIndices;
- WineDirect3DStridedData normal;
- WineDirect3DStridedData pSize;
- WineDirect3DStridedData diffuse;
- WineDirect3DStridedData specular;
- WineDirect3DStridedData texCoords[WINED3DDP_MAXTEXCOORD];
- WineDirect3DStridedData position2; /* tween data */
- WineDirect3DStridedData normal2; /* tween data */
- WineDirect3DStridedData tangent;
- WineDirect3DStridedData binormal;
- WineDirect3DStridedData tessFactor;
- WineDirect3DStridedData fog;
- WineDirect3DStridedData depth;
- WineDirect3DStridedData sample;
-
- /* Add fields here */
- BOOL position_transformed;
-
- } s;
- WineDirect3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */
- } u;
-} WineDirect3DVertexStridedData;
-
-typedef enum {
- WINED3DDECLUSAGE_POSITION = 0,
- WINED3DDECLUSAGE_BLENDWEIGHT = 1,
- WINED3DDECLUSAGE_BLENDINDICES = 2,
- WINED3DDECLUSAGE_NORMAL = 3,
- WINED3DDECLUSAGE_PSIZE = 4,
- WINED3DDECLUSAGE_TEXCOORD = 5,
- WINED3DDECLUSAGE_TANGENT = 6,
- WINED3DDECLUSAGE_BINORMAL = 7,
- WINED3DDECLUSAGE_TESSFACTOR = 8,
- WINED3DDECLUSAGE_POSITIONT = 9,
- WINED3DDECLUSAGE_COLOR = 10,
- WINED3DDECLUSAGE_FOG = 11,
- WINED3DDECLUSAGE_DEPTH = 12,
- WINED3DDECLUSAGE_SAMPLE = 13
-} WINED3DDECLUSAGE;
-
-#define WINED3DUSAGE_RENDERTARGET 0x00000001L
-#define WINED3DUSAGE_DEPTHSTENCIL 0x00000002L
-#define WINED3DUSAGE_WRITEONLY 0x00000008L
-#define WINED3DUSAGE_SOFTWAREPROCESSING 0x00000010L
-#define WINED3DUSAGE_DONOTCLIP 0x00000020L
-#define WINED3DUSAGE_POINTS 0x00000040L
-#define WINED3DUSAGE_RTPATCHES 0x00000080L
-#define WINED3DUSAGE_NPATCHES 0x00000100L
-#define WINED3DUSAGE_DYNAMIC 0x00000200L
-#define WINED3DUSAGE_AUTOGENMIPMAP 0x00000400L
-#define WINED3DUSAGE_DMAP 0x00004000L
-#define WINED3DUSAGE_MASK 0x00004FFFL
-#define WINED3DUSAGE_OVERLAY 0x80000000L
-
-#define WINED3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000L
-#define WINED3DUSAGE_QUERY_FILTER 0x00020000L
-#define WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x00080000L
-#define WINED3DUSAGE_QUERY_SRGBREAD 0x00010000L
-#define WINED3DUSAGE_QUERY_SRGBWRITE 0x00040000L
-#define WINED3DUSAGE_QUERY_VERTEXTEXTURE 0x00100000L
-#define WINED3DUSAGE_QUERY_WRAPANDMIP 0x00200000L
-#define WINED3DUSAGE_QUERY_MASK 0x003F8000L
-
-typedef enum _WINED3DSURFTYPE {
- SURFACE_UNKNOWN = 0, /* Default / Unknown surface type */
- SURFACE_OPENGL, /* OpenGL surface: Renders using libGL, needed for 3D */
- SURFACE_GDI, /* User surface. No 3D, DirectDraw rendering with GDI */
-} WINED3DSURFTYPE;
-
-#define WINED3DLOCK_READONLY 0x0010
-#define WINED3DLOCK_NOSYSLOCK 0x0800
-#define WINED3DLOCK_NOOVERWRITE 0x1000
-#define WINED3DLOCK_DISCARD 0x2000
-#define WINED3DLOCK_DONOTWAIT 0x4000
-#define WINED3DLOCK_NO_DIRTY_UPDATE 0x8000
-
-#define WINED3DPRESENT_RATE_DEFAULT 0x000000000
-
-#define WINED3DPRESENT_INTERVAL_DEFAULT 0x00000000
-#define WINED3DPRESENT_INTERVAL_ONE 0x00000001
-#define WINED3DPRESENT_INTERVAL_TWO 0x00000002
-#define WINED3DPRESENT_INTERVAL_THREE 0x00000004
-#define WINED3DPRESENT_INTERVAL_FOUR 0x00000008
-#define WINED3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
-
-#define WINED3DMAXUSERCLIPPLANES 32
-#define WINED3DCLIPPLANE0 (1 << 0)
-#define WINED3DCLIPPLANE1 (1 << 1)
-#define WINED3DCLIPPLANE2 (1 << 2)
-#define WINED3DCLIPPLANE3 (1 << 3)
-#define WINED3DCLIPPLANE4 (1 << 4)
-#define WINED3DCLIPPLANE5 (1 << 5)
-
-/* FVF (Flexible Vertex Format) codes */
-#define WINED3DFVF_RESERVED0 0x0001
-#define WINED3DFVF_POSITION_MASK 0x000E
-#define WINED3DFVF_XYZ 0x0002
-#define WINED3DFVF_XYZRHW 0x0004
-#define WINED3DFVF_XYZB1 0x0006
-#define WINED3DFVF_XYZB2 0x0008
-#define WINED3DFVF_XYZB3 0x000a
-#define WINED3DFVF_XYZB4 0x000c
-#define WINED3DFVF_XYZB5 0x000e
-#define WINED3DFVF_XYZW 0x4002
-#define WINED3DFVF_NORMAL 0x0010
-#define WINED3DFVF_PSIZE 0x0020
-#define WINED3DFVF_DIFFUSE 0x0040
-#define WINED3DFVF_SPECULAR 0x0080
-#define WINED3DFVF_TEXCOUNT_MASK 0x0f00
-#define WINED3DFVF_TEXCOUNT_SHIFT 8
-#define WINED3DFVF_TEX0 0x0000
-#define WINED3DFVF_TEX1 0x0100
-#define WINED3DFVF_TEX2 0x0200
-#define WINED3DFVF_TEX3 0x0300
-#define WINED3DFVF_TEX4 0x0400
-#define WINED3DFVF_TEX5 0x0500
-#define WINED3DFVF_TEX6 0x0600
-#define WINED3DFVF_TEX7 0x0700
-#define WINED3DFVF_TEX8 0x0800
-#define WINED3DFVF_LASTBETA_UBYTE4 0x1000
-#define WINED3DFVF_LASTBETA_D3DCOLOR 0x8000
-#define WINED3DFVF_RESERVED2 0x6000
-
-#define WINED3DFVF_TEXTUREFORMAT1 3
-#define WINED3DFVF_TEXTUREFORMAT2 0
-#define WINED3DFVF_TEXTUREFORMAT3 1
-#define WINED3DFVF_TEXTUREFORMAT4 2
-#define WINED3DFVF_TEXCOORDSIZE1(CoordIndex) (WINED3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
-#define WINED3DFVF_TEXCOORDSIZE2(CoordIndex) (WINED3DFVF_TEXTUREFORMAT2)
-#define WINED3DFVF_TEXCOORDSIZE3(CoordIndex) (WINED3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
-#define WINED3DFVF_TEXCOORDSIZE4(CoordIndex) (WINED3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
-
-/* Clear flags */
-#define WINED3DCLEAR_TARGET 0x00000001
-#define WINED3DCLEAR_ZBUFFER 0x00000002
-#define WINED3DCLEAR_STENCIL 0x00000004
-
-/* Stream source flags */
-#define WINED3DSTREAMSOURCE_INDEXEDDATA (1 << 30)
-#define WINED3DSTREAMSOURCE_INSTANCEDATA (2 << 30)
-
-/* SetPrivateData flags */
-#define WINED3DSPD_IUNKNOWN 0x00000001
-
-/* IWineD3D::CreateDevice behaviour flags */
-#define WINED3DCREATE_FPU_PRESERVE 0x00000002
-#define WINED3DCREATE_PUREDEVICE 0x00000010
-#define WINED3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020
-#define WINED3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040
-#define WINED3DCREATE_MIXED_VERTEXPROCESSING 0x00000080
-#define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100
-#define WINED3DCREATE_ADAPTERGROUP_DEVICE 0x00000200
-
-/* VTF defines */
-#define WINED3DDMAPSAMPLER 0x100
-#define WINED3DVERTEXTEXTURESAMPLER0 (WINED3DDMAPSAMPLER + 1)
-#define WINED3DVERTEXTEXTURESAMPLER1 (WINED3DDMAPSAMPLER + 2)
-#define WINED3DVERTEXTEXTURESAMPLER2 (WINED3DDMAPSAMPLER + 3)
-#define WINED3DVERTEXTEXTURESAMPLER3 (WINED3DDMAPSAMPLER + 4)
-
-/* DirectDraw types */
-
-typedef struct _WINEDDCOLORKEY
-{
- DWORD dwColorSpaceLowValue; /* low boundary of color space that is to
- * be treated as Color Key, inclusive
- */
- DWORD dwColorSpaceHighValue; /* high boundary of color space that is
- * to be treated as Color Key, inclusive
- */
-} WINEDDCOLORKEY,*LPWINEDDCOLORKEY;
-
-typedef struct _WINEDDBLTFX
-{
- DWORD dwSize; /* size of structure */
- DWORD dwDDFX; /* FX operations */
- DWORD dwROP; /* Win32 raster operations */
- DWORD dwDDROP; /* Raster operations new for DirectDraw */
- DWORD dwRotationAngle; /* Rotation angle for blt */
- DWORD dwZBufferOpCode; /* ZBuffer compares */
- DWORD dwZBufferLow; /* Low limit of Z buffer */
- DWORD dwZBufferHigh; /* High limit of Z buffer */
- DWORD dwZBufferBaseDest; /* Destination base value */
- DWORD dwZDestConstBitDepth; /* Bit depth used to specify Z constant for destination */
- union
- {
- DWORD dwZDestConst; /* Constant to use as Z buffer for dest */
- struct IWineD3DSurface *lpDDSZBufferDest; /* Surface to use as Z buffer for dest */
- } DUMMYUNIONNAME1;
- DWORD dwZSrcConstBitDepth; /* Bit depth used to specify Z constant for source */
- union
- {
- DWORD dwZSrcConst; /* Constant to use as Z buffer for src */
- struct IWineD3DSurface *lpDDSZBufferSrc;/* Surface to use as Z buffer for src */
- } DUMMYUNIONNAME2;
- DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
- DWORD dwAlphaEdgeBlend; /* Alpha for edge blending */
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
- union
- {
- DWORD dwAlphaDestConst; /* Constant to use as Alpha Channel */
- struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as Alpha Channel */
- } DUMMYUNIONNAME3;
- DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
- union
- {
- DWORD dwAlphaSrcConst; /* Constant to use as Alpha Channel */
- struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as Alpha Channel */
- } DUMMYUNIONNAME4;
- union
- {
- DWORD dwFillColor; /* color in RGB or Palettized */
- DWORD dwFillDepth; /* depth value for z-buffer */
- DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
- struct IWineD3DSurface *lpDDSPattern; /* Surface to use as pattern */
- } DUMMYUNIONNAME5;
- WINEDDCOLORKEY ddckDestColorkey; /* DestColorkey override */
- WINEDDCOLORKEY ddckSrcColorkey; /* SrcColorkey override */
-} WINEDDBLTFX,*LPWINEDDBLTFX;
-
-typedef struct _WINEDDOVERLAYFX
-{
- DWORD dwSize; /* size of structure */
- DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
- DWORD dwAlphaEdgeBlend; /* Constant to use as alpha for edge blend */
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
- union
- {
- DWORD dwAlphaDestConst; /* Constant to use as alpha channel for dest */
- struct IWineD3DSurface *lpDDSAlphaDest; /* Surface to use as alpha channel for dest */
- } DUMMYUNIONNAME1;
- DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
- union
- {
- DWORD dwAlphaSrcConst; /* Constant to use as alpha channel for src */
- struct IWineD3DSurface *lpDDSAlphaSrc; /* Surface to use as alpha channel for src */
- } DUMMYUNIONNAME2;
- WINEDDCOLORKEY dckDestColorkey; /* DestColorkey override */
- WINEDDCOLORKEY dckSrcColorkey; /* DestColorkey override */
- DWORD dwDDFX; /* Overlay FX */
- DWORD dwFlags; /* flags */
-} WINEDDOVERLAYFX;
-
-/* dwDDFX */
-/* arithmetic stretching along y axis */
-#define WINEDDBLTFX_ARITHSTRETCHY 0x00000001
-/* mirror on y axis */
-#define WINEDDBLTFX_MIRRORLEFTRIGHT 0x00000002
-/* mirror on x axis */
-#define WINEDDBLTFX_MIRRORUPDOWN 0x00000004
-/* do not tear */
-#define WINEDDBLTFX_NOTEARING 0x00000008
-/* 180 degrees clockwise rotation */
-#define WINEDDBLTFX_ROTATE180 0x00000010
-/* 270 degrees clockwise rotation */
-#define WINEDDBLTFX_ROTATE270 0x00000020
-/* 90 degrees clockwise rotation */
-#define WINEDDBLTFX_ROTATE90 0x00000040
-/* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
-#define WINEDDBLTFX_ZBUFFERRANGE 0x00000080
-/* add dwZBufferBaseDest to every source z value before compare */
-#define WINEDDBLTFX_ZBUFFERBASEDEST 0x00000100
-
-/* dwFlags for Blt* */
-#define WINEDDBLT_ALPHADEST 0x00000001
-#define WINEDDBLT_ALPHADESTCONSTOVERRIDE 0x00000002
-#define WINEDDBLT_ALPHADESTNEG 0x00000004
-#define WINEDDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008
-#define WINEDDBLT_ALPHAEDGEBLEND 0x00000010
-#define WINEDDBLT_ALPHASRC 0x00000020
-#define WINEDDBLT_ALPHASRCCONSTOVERRIDE 0x00000040
-#define WINEDDBLT_ALPHASRCNEG 0x00000080
-#define WINEDDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100
-#define WINEDDBLT_ASYNC 0x00000200
-#define WINEDDBLT_COLORFILL 0x00000400
-#define WINEDDBLT_DDFX 0x00000800
-#define WINEDDBLT_DDROPS 0x00001000
-#define WINEDDBLT_KEYDEST 0x00002000
-#define WINEDDBLT_KEYDESTOVERRIDE 0x00004000
-#define WINEDDBLT_KEYSRC 0x00008000
-#define WINEDDBLT_KEYSRCOVERRIDE 0x00010000
-#define WINEDDBLT_ROP 0x00020000
-#define WINEDDBLT_ROTATIONANGLE 0x00040000
-#define WINEDDBLT_ZBUFFER 0x00080000
-#define WINEDDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000
-#define WINEDDBLT_ZBUFFERDESTOVERRIDE 0x00200000
-#define WINEDDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000
-#define WINEDDBLT_ZBUFFERSRCOVERRIDE 0x00800000
-#define WINEDDBLT_WAIT 0x01000000
-#define WINEDDBLT_DEPTHFILL 0x02000000
-#define WINEDDBLT_DONOTWAIT 0x08000000
-
-/* dwTrans for BltFast */
-#define WINEDDBLTFAST_NOCOLORKEY 0x00000000
-#define WINEDDBLTFAST_SRCCOLORKEY 0x00000001
-#define WINEDDBLTFAST_DESTCOLORKEY 0x00000002
-#define WINEDDBLTFAST_WAIT 0x00000010
-#define WINEDDBLTFAST_DONOTWAIT 0x00000020
-
-/* DDSURFACEDESC.dwFlags */
-#define WINEDDSD_CAPS 0x00000001
-#define WINEDDSD_HEIGHT 0x00000002
-#define WINEDDSD_WIDTH 0x00000004
-#define WINEDDSD_PITCH 0x00000008
-#define WINEDDSD_BACKBUFFERCOUNT 0x00000020
-#define WINEDDSD_ZBUFFERBITDEPTH 0x00000040
-#define WINEDDSD_ALPHABITDEPTH 0x00000080
-#define WINEDDSD_LPSURFACE 0x00000800
-#define WINEDDSD_PIXELFORMAT 0x00001000
-#define WINEDDSD_CKDESTOVERLAY 0x00002000
-#define WINEDDSD_CKDESTBLT 0x00004000
-#define WINEDDSD_CKSRCOVERLAY 0x00008000
-#define WINEDDSD_CKSRCBLT 0x00010000
-#define WINEDDSD_MIPMAPCOUNT 0x00020000
-#define WINEDDSD_REFRESHRATE 0x00040000
-#define WINEDDSD_LINEARSIZE 0x00080000
-#define WINEDDSD_TEXTURESTAGE 0x00100000
-#define WINEDDSD_FVF 0x00200000
-#define WINEDDSD_SRCVBHANDLE 0x00400000
-#define WINEDDSD_ALL 0x007ff9ee
-
-/* Set/Get Colour Key Flags */
-#define WINEDDCKEY_COLORSPACE 0x00000001 /* Struct is single colour space */
-#define WINEDDCKEY_DESTBLT 0x00000002 /* To be used as dest for blt */
-#define WINEDDCKEY_DESTOVERLAY 0x00000004 /* To be used as dest for CK overlays */
-#define WINEDDCKEY_SRCBLT 0x00000008 /* To be used as src for blt */
-#define WINEDDCKEY_SRCOVERLAY 0x00000010 /* To be used as src for CK overlays */
-
-/* dwFlags for GetBltStatus */
-#define WINEDDGBS_CANBLT 0x00000001
-#define WINEDDGBS_ISBLTDONE 0x00000002
-
-/* dwFlags for GetFlipStatus */
-#define WINEDDGFS_CANFLIP 1L
-#define WINEDDGFS_ISFLIPDONE 2L
-
-/* dwFlags for Flip */
-#define WINEDDFLIP_WAIT 0x00000001
-#define WINEDDFLIP_EVEN 0x00000002 /* only valid for overlay */
-#define WINEDDFLIP_ODD 0x00000004 /* only valid for overlay */
-#define WINEDDFLIP_NOVSYNC 0x00000008
-#define WINEDDFLIP_STEREO 0x00000010
-#define WINEDDFLIP_DONOTWAIT 0x00000020
-#define WINEDDFLIP_INTERVAL2 0x02000000
-#define WINEDDFLIP_INTERVAL3 0x03000000
-#define WINEDDFLIP_INTERVAL4 0x04000000
-
-#define WINEDDOVER_ALPHADEST 0x00000001
-#define WINEDDOVER_ALPHADESTCONSTOVERRIDE 0x00000002
-#define WINEDDOVER_ALPHADESTNEG 0x00000004
-#define WINEDDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008
-#define WINEDDOVER_ALPHAEDGEBLEND 0x00000010
-#define WINEDDOVER_ALPHASRC 0x00000020
-#define WINEDDOVER_ALPHASRCCONSTOVERRIDE 0x00000040
-#define WINEDDOVER_ALPHASRCNEG 0x00000080
-#define WINEDDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100
-#define WINEDDOVER_HIDE 0x00000200
-#define WINEDDOVER_KEYDEST 0x00000400
-#define WINEDDOVER_KEYDESTOVERRIDE 0x00000800
-#define WINEDDOVER_KEYSRC 0x00001000
-#define WINEDDOVER_KEYSRCOVERRIDE 0x00002000
-#define WINEDDOVER_SHOW 0x00004000
-#define WINEDDOVER_ADDDIRTYRECT 0x00008000
-#define WINEDDOVER_REFRESHDIRTYRECTS 0x00010000
-#define WINEDDOVER_REFRESHALL 0x00020000
-#define WINEDDOVER_DDFX 0x00080000
-#define WINEDDOVER_AUTOFLIP 0x00100000
-#define WINEDDOVER_BOB 0x00200000
-#define WINEDDOVER_OVERRIDEBOBWEAVE 0x00400000
-#define WINEDDOVER_INTERLEAVED 0x00800000
-
-#endif
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 2011cff..86dcd4c 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -115,6 +115,7 @@
"devenum.idl" => 1,
"dyngraph.idl" => 1,
"vmrender.idl" => 1,
+ "wine/wined3d.idl" => 1,
);
my (@makefiles, %makefiles);
@@ -486,31 +487,38 @@
sub update_includes()
{
return unless -d ".git";
- my (@h_srcs, @idl_srcs, @tlb_srcs, %subdirs);
+ my (@h_srcs, @private_idl_srcs, @public_idl_srcs, @tlb_srcs, %subdirs);
my @includes = map { s/^include\///; $_; } split /\0/, `git ls-files -c -z include`;
foreach my $incl (@includes)
{
if ($incl =~ /(.*)\//) { $subdirs{$1} = 1; }
- next if ($incl =~ /^wine\// && !$exported_wine_headers{$incl});
next if ($incl =~ /\.in$/);
+ if ($incl =~ /^wine\// && !$exported_wine_headers{$incl})
+ {
+ if ($private_idl_headers{$incl}) { push @private_idl_srcs, $incl; }
+ next;
+ }
if ($incl =~ /stdole2\.idl$/) { push @tlb_srcs, $incl; }
elsif ($private_idl_headers{$incl}) { push @h_srcs, $incl; }
elsif ($incl =~ /\.h$/) { push @h_srcs, $incl; }
elsif ($incl =~ /\.rh$/) { push @h_srcs, $incl; }
elsif ($incl =~ /\.inl$/) { push @h_srcs, $incl; }
- elsif ($incl =~ /\.idl$/) { push @idl_srcs, $incl; }
+ elsif ($incl =~ /\.idl$/) { push @public_idl_srcs, $incl; }
else { die "unknown file $incl in include dir"; }
}
- replace_in_file( "include/Makefile.in", '^IDL_H_SRCS\s*=', '^INSTALLDIRS',
- "IDL_H_SRCS = \\\n\t",
- join( " \\\n\t", sort @idl_srcs ),
+ replace_in_file( "include/Makefile.in", '^PRIVATE_IDL_H_SRCS\s*=', '^INSTALLDIRS',
+ "PRIVATE_IDL_H_SRCS = \\\n\t",
+ join( " \\\n\t", sort @private_idl_srcs ),
+ "\n\nPUBLIC_IDL_H_SRCS = \\\n\t",
+ join( " \\\n\t", sort @public_idl_srcs ),
"\n\nIDL_TLB_SRCS = \\\n\t",
join( " \\\n\t", sort @tlb_srcs ),
- "\n\nSRCDIR_INCLUDES = \\\n\t\$(IDL_TLB_SRCS) \\\n\t\$(IDL_H_SRCS) \\\n\t",
+ "\n\nSRCDIR_INCLUDES = \\\n\t\$(IDL_TLB_SRCS) \\\n\t\$(PUBLIC_IDL_H_SRCS) \\\n\t",
join( " \\\n\t", sort @h_srcs ),
"\n\nEXTRASUBDIRS = ",
join( " ", sort keys %subdirs ),
"\n\nINSTALLDIRS = \\\n" );
+ return map { s/(.*)\.idl$/include\/$1.h/; $_; } @public_idl_srcs, @private_idl_srcs;
}
@@ -561,8 +569,6 @@
@makefiles = map { s/^\.\/(.*)\.in/$1/; $_; } split(/\s/,`find . -name Makefile.in -print`);
}
-update_includes();
-
foreach my $file (sort values %makerules, @makefiles)
{
my %make = parse_makefile( $file );
@@ -570,6 +576,7 @@
}
update_makefiles( @makefiles );
+push @ignores, update_includes();
push @ignores, update_ignores( @makefiles );
push @ignores, update_dlls( sort grep /^dlls\//, @makefiles );
update_gitignore( @ignores );