verbose "$SELF" release-compile-run "$host" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "Xonotic/source/darkplaces" "$d0/misc/builddeps/dp.$suffix" "$darkplaces_files"
;;
release-engine-win32)
- # TODO change to g++ and D3D=1 when D3D gets added
verbose "$SELF" release-compile win32 \
- 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=0' \
+ 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=1' \
win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \
+ '' ''
+ verbose "$SELF" release-compile win32 \
+ 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-g++ -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=1' \
+ '' '' \
release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe'
;;
release-engine-win64)
- # TODO change to g++ and D3D=1 when D3D gets added
verbose "$SELF" release-compile win64 \
- 'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \
+ 'STRIP=: DP_MAKE_TARGET=mingw CC="x86_64-w64-mingw32-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="x86_64-w64-mingw32-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=1' \
win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-x64.exe' \
+ '' ''
+ verbose "$SELF" release-compile win64 \
+ 'STRIP=: DP_MAKE_TARGET=mingw CC="x86_64-w64-mingw32-g++ -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="x86_64-w64-mingw32-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=1' \
+ '' '' \
release 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-sdl.exe:Xonotic/xonotic-x64-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-x64-dedicated.exe'
;;
release-engine-osx-sv-sdl)
Xonotic/bin64/*.dll \
Xonotic/*.app \
Xonotic/xonotic-* \
- Xonotic/xonotic.exe
+ Xonotic/xonotic.exe \
+ Xonotic/source/darkplaces/
verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip
verbose mkzip Xonotic-$stamp-common.zip \
- Xonotic/source/*/ \
+ Xonotic/source/fteqcc/ \
+ Xonotic/source/qcsrc/ \
Xonotic/Docs \
Xonotic/misc \
Xonotic/fteqcc \
--- /dev/null
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+
+#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
+#define NONAMELESSUNION 1
+#endif
+#if defined(NONAMELESSSTRUCT) && \
+ !defined(NONAMELESSUNION)
+#define NONAMELESSUNION 1
+#endif
+#if defined(NONAMELESSUNION) && \
+ !defined(NONAMELESSSTRUCT)
+#define NONAMELESSSTRUCT 1
+#endif
+
+#ifndef __ANONYMOUS_DEFINED
+#define __ANONYMOUS_DEFINED
+#if defined(__GNUC__) || defined(__GNUG__)
+#define _ANONYMOUS_UNION __extension__
+#define _ANONYMOUS_STRUCT __extension__
+#else
+#define _ANONYMOUS_UNION
+#define _ANONYMOUS_STRUCT
+#endif
+#ifndef NONAMELESSUNION
+#define _UNION_NAME(x)
+#define _STRUCT_NAME(x)
+#else /* NONAMELESSUNION */
+#define _UNION_NAME(x) x
+#define _STRUCT_NAME(x) x
+#endif
+#endif /* __ANONYMOUS_DEFINED */
+
+#ifndef DUMMYUNIONNAME
+# ifdef NONAMELESSUNION
+# define DUMMYUNIONNAME u
+# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
+# define DUMMYUNIONNAME2 u2
+# define DUMMYUNIONNAME3 u3
+# define DUMMYUNIONNAME4 u4
+# define DUMMYUNIONNAME5 u5
+# define DUMMYUNIONNAME6 u6
+# define DUMMYUNIONNAME7 u7
+# define DUMMYUNIONNAME8 u8
+# define DUMMYUNIONNAME9 u9
+# else /* NONAMELESSUNION */
+# define DUMMYUNIONNAME
+# define DUMMYUNIONNAME1 /* Wine uses this variant */
+# define DUMMYUNIONNAME2
+# define DUMMYUNIONNAME3
+# define DUMMYUNIONNAME4
+# define DUMMYUNIONNAME5
+# define DUMMYUNIONNAME6
+# define DUMMYUNIONNAME7
+# define DUMMYUNIONNAME8
+# define DUMMYUNIONNAME9
+# endif
+#endif /* DUMMYUNIONNAME */
+
+#ifndef DUMMYSTRUCTNAME
+# ifdef NONAMELESSUNION
+# define DUMMYSTRUCTNAME s
+# define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
+# define DUMMYSTRUCTNAME2 s2
+# define DUMMYSTRUCTNAME3 s3
+# define DUMMYSTRUCTNAME4 s4
+# define DUMMYSTRUCTNAME5 s5
+# else
+# define DUMMYSTRUCTNAME
+# define DUMMYSTRUCTNAME1 /* Wine uses this variant */
+# define DUMMYSTRUCTNAME2
+# define DUMMYSTRUCTNAME3
+# define DUMMYSTRUCTNAME4
+# define DUMMYSTRUCTNAME5
+# endif
+#endif /* DUMMYSTRUCTNAME */
+
+/* These are for compatibility with the Wine source tree */
+
+#ifndef WINELIB_NAME_AW
+# ifdef __MINGW_NAME_AW
+# define WINELIB_NAME_AW __MINGW_NAME_AW
+# else
+# ifdef UNICODE
+# define WINELIB_NAME_AW(func) func##W
+# else
+# define WINELIB_NAME_AW(func) func##A
+# endif
+# endif
+#endif /* WINELIB_NAME_AW */
+
+#ifndef DECL_WINELIB_TYPE_AW
+# ifdef __MINGW_TYPEDEF_AW
+# define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
+# else
+# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
+# endif
+#endif /* DECL_WINELIB_TYPE_AW */
+
--- /dev/null
+/*
+ * Copyright (C) the Wine project
+ *
+ * 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_D3D_H
+#define __WINE_D3D_H
+
+#include <stdlib.h>
+
+#define COM_NO_WINDOWS_H
+#include <objbase.h>
+#include <d3dtypes.h> /* must precede d3dcaps.h */
+#include <d3dcaps.h>
+
+/*****************************************************************************
+ * Predeclare the interfaces
+ */
+DEFINE_GUID(IID_IDirect3D, 0x3BBA0080,0x2421,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
+DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
+DEFINE_GUID(IID_IDirect3D3, 0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
+DEFINE_GUID(IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
+
+DEFINE_GUID(IID_IDirect3DRampDevice, 0xF2086B20,0x259F,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
+DEFINE_GUID(IID_IDirect3DRGBDevice, 0xA4665C60,0x2673,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
+DEFINE_GUID(IID_IDirect3DHALDevice, 0x84E63dE0,0x46AA,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
+DEFINE_GUID(IID_IDirect3DMMXDevice, 0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DRefDevice, 0x50936643,0x13e9,0x11d1,0x89,0xaa,0x00,0xa0,0xc9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DTnLHalDevice, 0xf5049e78,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
+DEFINE_GUID(IID_IDirect3DNullDevice, 0x8767df22,0xbacc,0x11d1,0x89,0x69,0x00,0xa0,0xc9,0x06,0x29,0xa8);
+
+DEFINE_GUID(IID_IDirect3DDevice, 0x64108800,0x957d,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DDevice2, 0x93281501,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DDevice3, 0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
+DEFINE_GUID(IID_IDirect3DDevice7, 0xf5049e79,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
+
+DEFINE_GUID(IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56);
+DEFINE_GUID(IID_IDirect3DTexture2, 0x93281502,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
+
+DEFINE_GUID(IID_IDirect3DLight, 0x4417C142,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
+
+DEFINE_GUID(IID_IDirect3DMaterial, 0x4417C144,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
+DEFINE_GUID(IID_IDirect3DMaterial2, 0x93281503,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DMaterial3, 0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x00,0x60,0x08,0x52,0xb3,0x12);
+
+DEFINE_GUID(IID_IDirect3DExecuteBuffer, 0x4417C145,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
+
+DEFINE_GUID(IID_IDirect3DViewport, 0x4417C146,0x33AD,0x11CF,0x81,0x6F,0x00,0x00,0xC0,0x20,0x15,0x6E);
+DEFINE_GUID(IID_IDirect3DViewport2, 0x93281500,0x8CF8,0x11D0,0x89,0xAB,0x00,0xA0,0xC9,0x05,0x41,0x29);
+DEFINE_GUID(IID_IDirect3DViewport3, 0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x00,0xc0,0x4f,0xd7,0xb1,0x74);
+
+DEFINE_GUID(IID_IDirect3DVertexBuffer, 0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x00,0xa0,0xc9,0x03,0x67,0xf8);
+DEFINE_GUID(IID_IDirect3DVertexBuffer7, 0xf5049e7d,0x4861,0x11d2,0xa4,0x07,0x00,0xa0,0xc9,0x06,0x29,0xa8);
+
+
+typedef struct IDirect3D *LPDIRECT3D;
+typedef struct IDirect3D2 *LPDIRECT3D2;
+typedef struct IDirect3D3 *LPDIRECT3D3;
+typedef struct IDirect3D7 *LPDIRECT3D7;
+
+typedef struct IDirect3DLight *LPDIRECT3DLIGHT;
+
+typedef struct IDirect3DDevice *LPDIRECT3DDEVICE;
+typedef struct IDirect3DDevice2 *LPDIRECT3DDEVICE2;
+typedef struct IDirect3DDevice3 *LPDIRECT3DDEVICE3;
+typedef struct IDirect3DDevice7 *LPDIRECT3DDEVICE7;
+
+typedef struct IDirect3DViewport *LPDIRECT3DVIEWPORT;
+typedef struct IDirect3DViewport2 *LPDIRECT3DVIEWPORT2;
+typedef struct IDirect3DViewport3 *LPDIRECT3DVIEWPORT3;
+
+typedef struct IDirect3DMaterial *LPDIRECT3DMATERIAL;
+typedef struct IDirect3DMaterial2 *LPDIRECT3DMATERIAL2;
+typedef struct IDirect3DMaterial3 *LPDIRECT3DMATERIAL3;
+
+typedef struct IDirect3DTexture *LPDIRECT3DTEXTURE;
+typedef struct IDirect3DTexture2 *LPDIRECT3DTEXTURE2;
+
+typedef struct IDirect3DExecuteBuffer *LPDIRECT3DEXECUTEBUFFER;
+
+typedef struct IDirect3DVertexBuffer *LPDIRECT3DVERTEXBUFFER;
+typedef struct IDirect3DVertexBuffer7 *LPDIRECT3DVERTEXBUFFER7;
+
+/* ********************************************************************
+ Error Codes
+ ******************************************************************** */
+#define D3D_OK DD_OK
+#define D3DERR_BADMAJORVERSION MAKE_DDHRESULT(700)
+#define D3DERR_BADMINORVERSION MAKE_DDHRESULT(701)
+#define D3DERR_INVALID_DEVICE MAKE_DDHRESULT(705)
+#define D3DERR_INITFAILED MAKE_DDHRESULT(706)
+#define D3DERR_DEVICEAGGREGATED MAKE_DDHRESULT(707)
+#define D3DERR_EXECUTE_CREATE_FAILED MAKE_DDHRESULT(710)
+#define D3DERR_EXECUTE_DESTROY_FAILED MAKE_DDHRESULT(711)
+#define D3DERR_EXECUTE_LOCK_FAILED MAKE_DDHRESULT(712)
+#define D3DERR_EXECUTE_UNLOCK_FAILED MAKE_DDHRESULT(713)
+#define D3DERR_EXECUTE_LOCKED MAKE_DDHRESULT(714)
+#define D3DERR_EXECUTE_NOT_LOCKED MAKE_DDHRESULT(715)
+#define D3DERR_EXECUTE_FAILED MAKE_DDHRESULT(716)
+#define D3DERR_EXECUTE_CLIPPED_FAILED MAKE_DDHRESULT(717)
+#define D3DERR_TEXTURE_NO_SUPPORT MAKE_DDHRESULT(720)
+#define D3DERR_TEXTURE_CREATE_FAILED MAKE_DDHRESULT(721)
+#define D3DERR_TEXTURE_DESTROY_FAILED MAKE_DDHRESULT(722)
+#define D3DERR_TEXTURE_LOCK_FAILED MAKE_DDHRESULT(723)
+#define D3DERR_TEXTURE_UNLOCK_FAILED MAKE_DDHRESULT(724)
+#define D3DERR_TEXTURE_LOAD_FAILED MAKE_DDHRESULT(725)
+#define D3DERR_TEXTURE_SWAP_FAILED MAKE_DDHRESULT(726)
+#define D3DERR_TEXTURE_LOCKED MAKE_DDHRESULT(727)
+#define D3DERR_TEXTURE_NOT_LOCKED MAKE_DDHRESULT(728)
+#define D3DERR_TEXTURE_GETSURF_FAILED MAKE_DDHRESULT(729)
+#define D3DERR_MATRIX_CREATE_FAILED MAKE_DDHRESULT(730)
+#define D3DERR_MATRIX_DESTROY_FAILED MAKE_DDHRESULT(731)
+#define D3DERR_MATRIX_SETDATA_FAILED MAKE_DDHRESULT(732)
+#define D3DERR_MATRIX_GETDATA_FAILED MAKE_DDHRESULT(733)
+#define D3DERR_SETVIEWPORTDATA_FAILED MAKE_DDHRESULT(734)
+#define D3DERR_INVALIDCURRENTVIEWPORT MAKE_DDHRESULT(735)
+#define D3DERR_INVALIDPRIMITIVETYPE MAKE_DDHRESULT(736)
+#define D3DERR_INVALIDVERTEXTYPE MAKE_DDHRESULT(737)
+#define D3DERR_TEXTURE_BADSIZE MAKE_DDHRESULT(738)
+#define D3DERR_INVALIDRAMPTEXTURE MAKE_DDHRESULT(739)
+#define D3DERR_MATERIAL_CREATE_FAILED MAKE_DDHRESULT(740)
+#define D3DERR_MATERIAL_DESTROY_FAILED MAKE_DDHRESULT(741)
+#define D3DERR_MATERIAL_SETDATA_FAILED MAKE_DDHRESULT(742)
+#define D3DERR_MATERIAL_GETDATA_FAILED MAKE_DDHRESULT(743)
+#define D3DERR_INVALIDPALETTE MAKE_DDHRESULT(744)
+#define D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY MAKE_DDHRESULT(745)
+#define D3DERR_ZBUFF_NEEDS_VIDEOMEMORY MAKE_DDHRESULT(746)
+#define D3DERR_SURFACENOTINVIDMEM MAKE_DDHRESULT(747)
+#define D3DERR_LIGHT_SET_FAILED MAKE_DDHRESULT(750)
+#define D3DERR_LIGHTHASVIEWPORT MAKE_DDHRESULT(751)
+#define D3DERR_LIGHTNOTINTHISVIEWPORT MAKE_DDHRESULT(752)
+#define D3DERR_SCENE_IN_SCENE MAKE_DDHRESULT(760)
+#define D3DERR_SCENE_NOT_IN_SCENE MAKE_DDHRESULT(761)
+#define D3DERR_SCENE_BEGIN_FAILED MAKE_DDHRESULT(762)
+#define D3DERR_SCENE_END_FAILED MAKE_DDHRESULT(763)
+#define D3DERR_INBEGIN MAKE_DDHRESULT(770)
+#define D3DERR_NOTINBEGIN MAKE_DDHRESULT(771)
+#define D3DERR_NOVIEWPORTS MAKE_DDHRESULT(772)
+#define D3DERR_VIEWPORTDATANOTSET MAKE_DDHRESULT(773)
+#define D3DERR_VIEWPORTHASNODEVICE MAKE_DDHRESULT(774)
+#define D3DERR_NOCURRENTVIEWPORT MAKE_DDHRESULT(775)
+#define D3DERR_INVALIDVERTEXFORMAT MAKE_DDHRESULT(2048)
+#define D3DERR_COLORKEYATTACHED MAKE_DDHRESULT(2050)
+#define D3DERR_VERTEXBUFFEROPTIMIZED MAKE_DDHRESULT(2060)
+#define D3DERR_VBUF_CREATE_FAILED MAKE_DDHRESULT(2061)
+#define D3DERR_VERTEXBUFFERLOCKED MAKE_DDHRESULT(2062)
+#define D3DERR_VERTEXBUFFERUNLOCKFAILED MAKE_DDHRESULT(2063)
+#define D3DERR_ZBUFFER_NOTPRESENT MAKE_DDHRESULT(2070)
+#define D3DERR_STENCILBUFFER_NOTPRESENT MAKE_DDHRESULT(2071)
+
+#define D3DERR_WRONGTEXTUREFORMAT MAKE_DDHRESULT(2072)
+#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_DDHRESULT(2073)
+#define D3DERR_UNSUPPORTEDCOLORARG MAKE_DDHRESULT(2074)
+#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_DDHRESULT(2075)
+#define D3DERR_UNSUPPORTEDALPHAARG MAKE_DDHRESULT(2076)
+#define D3DERR_TOOMANYOPERATIONS MAKE_DDHRESULT(2077)
+#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_DDHRESULT(2078)
+#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_DDHRESULT(2079)
+#define D3DERR_CONFLICTINGRENDERSTATE MAKE_DDHRESULT(2081)
+#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_DDHRESULT(2082)
+#define D3DERR_TOOMANYPRIMITIVES MAKE_DDHRESULT(2083)
+#define D3DERR_INVALIDMATRIX MAKE_DDHRESULT(2084)
+#define D3DERR_TOOMANYVERTICES MAKE_DDHRESULT(2085)
+#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_DDHRESULT(2086)
+
+#define D3DERR_INVALIDSTATEBLOCK MAKE_DDHRESULT(2100)
+#define D3DERR_INBEGINSTATEBLOCK MAKE_DDHRESULT(2101)
+#define D3DERR_NOTINBEGINSTATEBLOCK MAKE_DDHRESULT(2102)
+
+/* ********************************************************************
+ Enums
+ ******************************************************************** */
+#define D3DNEXT_NEXT 0x01l
+#define D3DNEXT_HEAD 0x02l
+#define D3DNEXT_TAIL 0x04l
+
+#define D3DDP_WAIT 0x00000001l
+#define D3DDP_OUTOFORDER 0x00000002l
+#define D3DDP_DONOTCLIP 0x00000004l
+#define D3DDP_DONOTUPDATEEXTENTS 0x00000008l
+#define D3DDP_DONOTLIGHT 0x00000010l
+
+/* ********************************************************************
+ Types and structures
+ ******************************************************************** */
+typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
+
+
+/*****************************************************************************
+ * IDirect3D interface
+ */
+#undef INTERFACE
+#define INTERFACE IDirect3D
+DECLARE_INTERFACE_(IDirect3D,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3D methods ***/
+ STDMETHOD(Initialize)(THIS_ REFIID riid) PURE;
+ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3D_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3D_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3D methods ***/
+#define IDirect3D_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3D_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
+#define IDirect3D_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
+#define IDirect3D_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
+#define IDirect3D_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
+#define IDirect3D_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
+#else
+/*** IUnknown methods ***/
+#define IDirect3D_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3D_AddRef(p) (p)->AddRef()
+#define IDirect3D_Release(p) (p)->Release()
+/*** IDirect3D methods ***/
+#define IDirect3D_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3D_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
+#define IDirect3D_CreateLight(p,a,b) (p)->CreateLight(a,b)
+#define IDirect3D_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
+#define IDirect3D_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
+#define IDirect3D_FindDevice(p,a,b) (p)->FindDevice(a,b)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3D2 interface
+ */
+#define INTERFACE IDirect3D2
+DECLARE_INTERFACE_(IDirect3D2,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3D2 methods ***/
+ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
+ STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3D2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3D2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3D2_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3D2 methods ***/
+#define IDirect3D2_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
+#define IDirect3D2_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
+#define IDirect3D2_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
+#define IDirect3D2_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
+#define IDirect3D2_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
+#define IDirect3D2_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
+#else
+/*** IUnknown methods ***/
+#define IDirect3D2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3D2_AddRef(p) (p)->AddRef()
+#define IDirect3D2_Release(p) (p)->Release()
+/*** IDirect3D2 methods ***/
+#define IDirect3D2_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
+#define IDirect3D2_CreateLight(p,a,b) (p)->CreateLight(a,b)
+#define IDirect3D2_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
+#define IDirect3D2_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
+#define IDirect3D2_FindDevice(p,a,b) (p)->FindDevice(a,b)
+#define IDirect3D2_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3D3 interface
+ */
+#define INTERFACE IDirect3D3
+DECLARE_INTERFACE_(IDirect3D3,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3D3 methods ***/
+ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE;
+ STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE;
+ STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE;
+ STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
+ STDMETHOD(EvictManagedTextures)(THIS) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3D3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3D3_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3D3_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3D3 methods ***/
+#define IDirect3D3_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
+#define IDirect3D3_CreateLight(p,a,b) (p)->lpVtbl->CreateLight(p,a,b)
+#define IDirect3D3_CreateMaterial(p,a,b) (p)->lpVtbl->CreateMaterial(p,a,b)
+#define IDirect3D3_CreateViewport(p,a,b) (p)->lpVtbl->CreateViewport(p,a,b)
+#define IDirect3D3_FindDevice(p,a,b) (p)->lpVtbl->FindDevice(p,a,b)
+#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d)
+#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d)
+#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
+#define IDirect3D3_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
+#else
+/*** IUnknown methods ***/
+#define IDirect3D3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3D3_AddRef(p) (p)->AddRef()
+#define IDirect3D3_Release(p) (p)->Release()
+/*** IDirect3D3 methods ***/
+#define IDirect3D3_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
+#define IDirect3D3_CreateLight(p,a,b) (p)->CreateLight(a,b)
+#define IDirect3D3_CreateMaterial(p,a,b) (p)->CreateMaterial(a,b)
+#define IDirect3D3_CreateViewport(p,a,b) (p)->CreateViewport(a,b)
+#define IDirect3D3_FindDevice(p,a,b) (p)->FindDevice(a,b)
+#define IDirect3D3_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d)
+#define IDirect3D3_CreateVertexBuffer(p,a,b,c,d) (p)->CreateVertexBuffer(a,b,c,d)
+#define IDirect3D3_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
+#define IDirect3D3_EvictManagedTextures(p) (p)->EvictManagedTextures()
+#endif
+
+/*****************************************************************************
+ * IDirect3D7 interface
+ */
+#define INTERFACE IDirect3D7
+DECLARE_INTERFACE_(IDirect3D7,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3D7 methods ***/
+ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+ STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE;
+ STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE;
+ STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
+ STDMETHOD(EvictManagedTextures)(THIS) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3D7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3D7_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3D7_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3D3 methods ***/
+#define IDirect3D7_EnumDevices(p,a,b) (p)->lpVtbl->EnumDevices(p,a,b)
+#define IDirect3D7_CreateDevice(p,a,b,c) (p)->lpVtbl->CreateDevice(p,a,b,c)
+#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c)
+#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->lpVtbl->EnumZBufferFormats(p,a,b,c)
+#define IDirect3D7_EvictManagedTextures(p) (p)->lpVtbl->EvictManagedTextures(p)
+#else
+/*** IUnknown methods ***/
+#define IDirect3D7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3D7_AddRef(p) (p)->AddRef()
+#define IDirect3D7_Release(p) (p)->Release()
+/*** IDirect3D3 methods ***/
+#define IDirect3D7_EnumDevices(p,a,b) (p)->EnumDevices(a,b)
+#define IDirect3D7_CreateDevice(p,a,b,c) (p)->CreateDevice(a,b,c)
+#define IDirect3D7_CreateVertexBuffer(p,a,b,c) (p)->CreateVertexBuffer(a,b,c)
+#define IDirect3D7_EnumZBufferFormats(p,a,b,c) (p)->EnumZBufferFormats(a,b,c)
+#define IDirect3D7_EvictManagedTextures(p) (p)->EvictManagedTextures()
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DLight interface
+ */
+#define INTERFACE IDirect3DLight
+DECLARE_INTERFACE_(IDirect3DLight,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DLight methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
+ STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
+ STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DLight_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DLight_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DLight_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DLight methods ***/
+#define IDirect3DLight_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3DLight_SetLight(p,a) (p)->lpVtbl->SetLight(p,a)
+#define IDirect3DLight_GetLight(p,a) (p)->lpVtbl->GetLight(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DLight_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DLight_AddRef(p) (p)->AddRef()
+#define IDirect3DLight_Release(p) (p)->Release()
+/*** IDirect3DLight methods ***/
+#define IDirect3DLight_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3DLight_SetLight(p,a) (p)->SetLight(a)
+#define IDirect3DLight_GetLight(p,a) (p)->GetLight(a)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DMaterial interface
+ */
+#define INTERFACE IDirect3DMaterial
+DECLARE_INTERFACE_(IDirect3DMaterial,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DMaterial methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
+ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE;
+ STDMETHOD(Reserve)(THIS) PURE;
+ STDMETHOD(Unreserve)(THIS) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DMaterial_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DMaterial_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DMaterial methods ***/
+#define IDirect3DMaterial_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3DMaterial_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
+#define IDirect3DMaterial_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
+#define IDirect3DMaterial_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
+#define IDirect3DMaterial_Reserve(p) (p)->lpVtbl->Reserve(p)
+#define IDirect3DMaterial_Unreserve(p) (p)->lpVtbl->Unreserve(p)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DMaterial_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DMaterial_AddRef(p) (p)->AddRef()
+#define IDirect3DMaterial_Release(p) (p)->Release()
+/*** IDirect3DMaterial methods ***/
+#define IDirect3DMaterial_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3DMaterial_SetMaterial(p,a) (p)->SetMaterial(a)
+#define IDirect3DMaterial_GetMaterial(p,a) (p)->GetMaterial(a)
+#define IDirect3DMaterial_GetHandle(p,a,b) (p)->GetHandle(a,b)
+#define IDirect3DMaterial_Reserve(p) (p)->Reserve()
+#define IDirect3DMaterial_Unreserve(p) (p)->Unreserve()
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DMaterial2 interface
+ */
+#define INTERFACE IDirect3DMaterial2
+DECLARE_INTERFACE_(IDirect3DMaterial2,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DMaterial2 methods ***/
+ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DMaterial2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DMaterial2_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DMaterial2 methods ***/
+#define IDirect3DMaterial2_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
+#define IDirect3DMaterial2_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
+#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DMaterial2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DMaterial2_AddRef(p) (p)->AddRef()
+#define IDirect3DMaterial2_Release(p) (p)->Release()
+/*** IDirect3DMaterial2 methods ***/
+#define IDirect3DMaterial2_SetMaterial(p,a) (p)->SetMaterial(a)
+#define IDirect3DMaterial2_GetMaterial(p,a) (p)->GetMaterial(a)
+#define IDirect3DMaterial2_GetHandle(p,a,b) (p)->GetHandle(a,b)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DMaterial3 interface
+ */
+#define INTERFACE IDirect3DMaterial3
+DECLARE_INTERFACE_(IDirect3DMaterial3,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DMaterial3 methods ***/
+ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE;
+ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DMaterial3_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DMaterial3_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DMaterial3 methods ***/
+#define IDirect3DMaterial3_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
+#define IDirect3DMaterial3_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
+#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DMaterial3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DMaterial3_AddRef(p) (p)->AddRef()
+#define IDirect3DMaterial3_Release(p) (p)->Release()
+/*** IDirect3DMaterial3 methods ***/
+#define IDirect3DMaterial3_SetMaterial(p,a) (p)->SetMaterial(a)
+#define IDirect3DMaterial3_GetMaterial(p,a) (p)->GetMaterial(a)
+#define IDirect3DMaterial3_GetHandle(p,a,b) (p)->GetHandle(a,b)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DTexture interface
+ */
+#define INTERFACE IDirect3DTexture
+DECLARE_INTERFACE_(IDirect3DTexture,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DTexture methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE;
+ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE;
+ STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
+ STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE;
+ STDMETHOD(Unload)(THIS) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DTexture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DTexture_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DTexture_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DTexture methods ***/
+#define IDirect3DTexture_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
+#define IDirect3DTexture_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
+#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
+#define IDirect3DTexture_Load(p,a) (p)->lpVtbl->Load(p,a)
+#define IDirect3DTexture_Unload(p) (p)->lpVtbl->Unload(p)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DTexture_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DTexture_AddRef(p) (p)->AddRef()
+#define IDirect3DTexture_Release(p) (p)->Release()
+/*** IDirect3DTexture methods ***/
+#define IDirect3DTexture_Initialize(p,a,b) (p)->Initialize(a,b)
+#define IDirect3DTexture_GetHandle(p,a,b) (p)->GetHandle(a,b)
+#define IDirect3DTexture_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
+#define IDirect3DTexture_Load(p,a) (p)->Load(a)
+#define IDirect3DTexture_Unload(p) (p)->Unload()
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DTexture2 interface
+ */
+#define INTERFACE IDirect3DTexture2
+DECLARE_INTERFACE_(IDirect3DTexture2,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DTexture2 methods ***/
+ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE;
+ STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE;
+ STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DTexture2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DTexture2_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DTexture2 methods ***/
+#define IDirect3DTexture2_GetHandle(p,a,b) (p)->lpVtbl->GetHandle(p,a,b)
+#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->lpVtbl->PaletteChanged(p,a,b)
+#define IDirect3DTexture2_Load(p,a) (p)->lpVtbl->Load(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DTexture2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DTexture2_AddRef(p) (p)->AddRef()
+#define IDirect3DTexture2_Release(p) (p)->Release()
+/*** IDirect3DTexture2 methods ***/
+#define IDirect3DTexture2_GetHandle(p,a,b) (p)->GetHandle(a,b)
+#define IDirect3DTexture2_PaletteChanged(p,a,b) (p)->PaletteChanged(a,b)
+#define IDirect3DTexture2_Load(p,a) (p)->Load(a)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DViewport interface
+ */
+#define INTERFACE IDirect3DViewport
+DECLARE_INTERFACE_(IDirect3DViewport,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DViewport methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
+ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
+ STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
+ STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
+ STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
+ STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
+ STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
+ STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
+ STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DViewport_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DViewport_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DViewport_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DViewport methods ***/
+#define IDirect3DViewport_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3DViewport_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
+#define IDirect3DViewport_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
+#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
+#define IDirect3DViewport_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
+#define IDirect3DViewport_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
+#define IDirect3DViewport_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
+#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
+#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
+#define IDirect3DViewport_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
+#define IDirect3DViewport_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
+#define IDirect3DViewport_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
+#define IDirect3DViewport_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DViewport_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DViewport_AddRef(p) (p)->AddRef()
+#define IDirect3DViewport_Release(p) (p)->Release()
+/*** IDirect3DViewport methods ***/
+#define IDirect3DViewport_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3DViewport_GetViewport(p,a) (p)->GetViewport(a)
+#define IDirect3DViewport_SetViewport(p,a) (p)->SetViewport(a)
+#define IDirect3DViewport_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
+#define IDirect3DViewport_LightElements(p,a,b) (p)->LightElements(a,b)
+#define IDirect3DViewport_SetBackground(p,a) (p)->SetBackground(a)
+#define IDirect3DViewport_GetBackground(p,a,b) (p)->GetBackground(a,b)
+#define IDirect3DViewport_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
+#define IDirect3DViewport_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
+#define IDirect3DViewport_Clear(p,a,b,c) (p)->Clear(a,b,c)
+#define IDirect3DViewport_AddLight(p,a) (p)->AddLight(a)
+#define IDirect3DViewport_DeleteLight(p,a) (p)->DeleteLight(a)
+#define IDirect3DViewport_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DViewport2 interface
+ */
+#define INTERFACE IDirect3DViewport2
+DECLARE_INTERFACE_(IDirect3DViewport2,IDirect3DViewport)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DViewport methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
+ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
+ STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
+ STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
+ STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
+ STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
+ STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
+ STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
+ STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
+ /*** IDirect3DViewport2 methods ***/
+ STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
+ STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DViewport2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DViewport2_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3Viewport methods ***/
+#define IDirect3DViewport2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3DViewport2_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
+#define IDirect3DViewport2_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
+#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
+#define IDirect3DViewport2_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
+#define IDirect3DViewport2_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
+#define IDirect3DViewport2_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
+#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
+#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
+#define IDirect3DViewport2_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
+#define IDirect3DViewport2_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
+#define IDirect3DViewport2_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
+#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
+/*** IDirect3DViewport2 methods ***/
+#define IDirect3DViewport2_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
+#define IDirect3DViewport2_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DViewport2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DViewport2_AddRef(p) (p)->AddRef()
+#define IDirect3DViewport2_Release(p) (p)->Release()
+/*** IDirect3Viewport methods ***/
+#define IDirect3DViewport2_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3DViewport2_GetViewport(p,a) (p)->GetViewport(a)
+#define IDirect3DViewport2_SetViewport(p,a) (p)->SetViewport(a)
+#define IDirect3DViewport2_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
+#define IDirect3DViewport2_LightElements(p,a,b) (p)->LightElements(a,b)
+#define IDirect3DViewport2_SetBackground(p,a) (p)->SetBackground(a)
+#define IDirect3DViewport2_GetBackground(p,a,b) (p)->GetBackground(a,b)
+#define IDirect3DViewport2_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
+#define IDirect3DViewport2_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
+#define IDirect3DViewport2_Clear(p,a,b,c) (p)->Clear(a,b,c)
+#define IDirect3DViewport2_AddLight(p,a) (p)->AddLight(a)
+#define IDirect3DViewport2_DeleteLight(p,a) (p)->DeleteLight(a)
+#define IDirect3DViewport2_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
+/*** IDirect3DViewport2 methods ***/
+#define IDirect3DViewport2_GetViewport2(p,a) (p)->GetViewport2(a)
+#define IDirect3DViewport2_SetViewport2(p,a) (p)->SetViewport2(a)
+#endif
+
+/*****************************************************************************
+ * IDirect3DViewport3 interface
+ */
+#define INTERFACE IDirect3DViewport3
+DECLARE_INTERFACE_(IDirect3DViewport3,IDirect3DViewport2)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DViewport methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE;
+ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE;
+ STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE;
+ STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE;
+ STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE;
+ STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE;
+ STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE;
+ STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE;
+ STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE;
+ STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE;
+ STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
+ /*** IDirect3DViewport2 methods ***/
+ STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
+ STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
+ /*** IDirect3DViewport3 methods ***/
+ STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE;
+ STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE;
+ STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DViewport3_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DViewport3_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3Viewport methods ***/
+#define IDirect3DViewport3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
+#define IDirect3DViewport3_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
+#define IDirect3DViewport3_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
+#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->lpVtbl->TransformVertices(p,a,b,c,d)
+#define IDirect3DViewport3_LightElements(p,a,b) (p)->lpVtbl->LightElements(p,a,b)
+#define IDirect3DViewport3_SetBackground(p,a) (p)->lpVtbl->SetBackground(p,a)
+#define IDirect3DViewport3_GetBackground(p,a,b) (p)->lpVtbl->GetBackground(p,a,b)
+#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->lpVtbl->SetBackgroundDepth(p,a)
+#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->lpVtbl->GetBackgroundDepth(p,a,b)
+#define IDirect3DViewport3_Clear(p,a,b,c) (p)->lpVtbl->Clear(p,a,b,c)
+#define IDirect3DViewport3_AddLight(p,a) (p)->lpVtbl->AddLight(p,a)
+#define IDirect3DViewport3_DeleteLight(p,a) (p)->lpVtbl->DeleteLight(p,a)
+#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->lpVtbl->NextLight(p,a,b,c)
+/*** IDirect3DViewport2 methods ***/
+#define IDirect3DViewport3_GetViewport2(p,a) (p)->lpVtbl->GetViewport2(p,a)
+#define IDirect3DViewport3_SetViewport2(p,a) (p)->lpVtbl->SetViewport2(p,a)
+/*** IDirect3DViewport3 methods ***/
+#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->lpVtbl->SetBackgroundDepth2(p,a)
+#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->lpVtbl->GetBackgroundDepth2(p,a,b)
+#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->lpVtbl->Clear2(p,a,b,c,d,e,f)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DViewport3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DViewport3_AddRef(p) (p)->AddRef()
+#define IDirect3DViewport3_Release(p) (p)->Release()
+/*** IDirect3Viewport methods ***/
+#define IDirect3DViewport3_Initialize(p,a) (p)->Initialize(a)
+#define IDirect3DViewport3_GetViewport(p,a) (p)->GetViewport(a)
+#define IDirect3DViewport3_SetViewport(p,a) (p)->SetViewport(a)
+#define IDirect3DViewport3_TransformVertices(p,a,b,c,d) (p)->TransformVertices(a,b,c,d)
+#define IDirect3DViewport3_LightElements(p,a,b) (p)->LightElements(a,b)
+#define IDirect3DViewport3_SetBackground(p,a) (p)->SetBackground(a)
+#define IDirect3DViewport3_GetBackground(p,a,b) (p)->GetBackground(a,b)
+#define IDirect3DViewport3_SetBackgroundDepth(p,a) (p)->SetBackgroundDepth(a)
+#define IDirect3DViewport3_GetBackgroundDepth(p,a,b) (p)->GetBackgroundDepth(a,b)
+#define IDirect3DViewport3_Clear(p,a,b,c) (p)->Clear(a,b,c)
+#define IDirect3DViewport3_AddLight(p,a) (p)->AddLight(a)
+#define IDirect3DViewport3_DeleteLight(p,a) (p)->DeleteLight(a)
+#define IDirect3DViewport3_NextLight(p,a,b,c) (p)->NextLight(a,b,c)
+/*** IDirect3DViewport2 methods ***/
+#define IDirect3DViewport3_GetViewport2(p,a) (p)->GetViewport2(a)
+#define IDirect3DViewport3_SetViewport2(p,a) (p)->SetViewport2(a)
+/*** IDirect3DViewport3 methods ***/
+#define IDirect3DViewport3_SetBackgroundDepth2(p,a) (p)->SetBackgroundDepth2(a)
+#define IDirect3DViewport3_GetBackgroundDepth2(p,a,b) (p)->GetBackgroundDepth2(a,b)
+#define IDirect3DViewport3_Clear2(p,a,b,c,d,e,f) (p)->Clear2(a,b,c,d,e,f)
+#endif
+
+
+
+/*****************************************************************************
+ * IDirect3DExecuteBuffer interface
+ */
+#define INTERFACE IDirect3DExecuteBuffer
+DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DExecuteBuffer methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
+ STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE;
+ STDMETHOD(Unlock)(THIS) PURE;
+ STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
+ STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE;
+ STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE;
+ STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DExecuteBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DExecuteBuffer_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DExecuteBuffer methods ***/
+#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
+#define IDirect3DExecuteBuffer_Lock(p,a) (p)->lpVtbl->Lock(p,a)
+#define IDirect3DExecuteBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
+#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->lpVtbl->SetExecuteData(p,a)
+#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->lpVtbl->GetExecuteData(p,a)
+#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->lpVtbl->Validate(p,a,b,c,d)
+#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->lpVtbl->Optimize(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DExecuteBuffer_AddRef(p) (p)->AddRef()
+#define IDirect3DExecuteBuffer_Release(p) (p)->Release()
+/*** IDirect3DExecuteBuffer methods ***/
+#define IDirect3DExecuteBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
+#define IDirect3DExecuteBuffer_Lock(p,a) (p)->Lock(a)
+#define IDirect3DExecuteBuffer_Unlock(p) (p)->Unlock()
+#define IDirect3DExecuteBuffer_SetExecuteData(p,a) (p)->SetExecuteData(a)
+#define IDirect3DExecuteBuffer_GetExecuteData(p,a) (p)->GetExecuteData(a)
+#define IDirect3DExecuteBuffer_Validate(p,a,b,c,d) (p)->Validate(a,b,c,d)
+#define IDirect3DExecuteBuffer_Optimize(p,a) (p)->Optimize(a)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DDevice interface
+ */
+#define INTERFACE IDirect3DDevice
+DECLARE_INTERFACE_(IDirect3DDevice,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DDevice methods ***/
+ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE;
+ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
+ STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE;
+ STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE;
+ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
+ STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE;
+ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
+ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE;
+ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE;
+ STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE;
+ STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE;
+ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
+ STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE;
+ STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE;
+ STDMETHOD(BeginScene)(THIS) PURE;
+ STDMETHOD(EndScene)(THIS) PURE;
+ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DDevice_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DDevice methods ***/
+#define IDirect3DDevice_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
+#define IDirect3DDevice_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
+#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
+#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->lpVtbl->CreateExecuteBuffer(p,a,b,c)
+#define IDirect3DDevice_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
+#define IDirect3DDevice_Execute(p,a,b,c) (p)->lpVtbl->Execute(p,a,b,c)
+#define IDirect3DDevice_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
+#define IDirect3DDevice_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
+#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
+#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->lpVtbl->Pick(p,a,b,c,d)
+#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->lpVtbl->GetPickRecords(p,a,b)
+#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
+#define IDirect3DDevice_CreateMatrix(p,a) (p)->lpVtbl->CreateMatrix(p,a)
+#define IDirect3DDevice_SetMatrix(p,a,b) (p)->lpVtbl->SetMatrix(p,a,b)
+#define IDirect3DDevice_GetMatrix(p,a,b) (p)->lpVtbl->GetMatrix(p,a,b)
+#define IDirect3DDevice_DeleteMatrix(p,a) (p)->lpVtbl->DeleteMatrix(p,a)
+#define IDirect3DDevice_BeginScene(p) (p)->lpVtbl->BeginScene(p)
+#define IDirect3DDevice_EndScene(p) (p)->lpVtbl->EndScene(p)
+#define IDirect3DDevice_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DDevice_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DDevice_AddRef(p) (p)->AddRef()
+#define IDirect3DDevice_Release(p) (p)->Release()
+/*** IDirect3DDevice methods ***/
+#define IDirect3DDevice_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
+#define IDirect3DDevice_GetCaps(p,a,b) (p)->GetCaps(a,b)
+#define IDirect3DDevice_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
+#define IDirect3DDevice_CreateExecuteBuffer(p,a,b,c) (p)->CreateExecuteBuffer(a,b,c)
+#define IDirect3DDevice_GetStats(p,a) (p)->GetStats(a)
+#define IDirect3DDevice_Execute(p,a,b,c) (p)->Execute(a,b,c)
+#define IDirect3DDevice_AddViewport(p,a) (p)->AddViewport(a)
+#define IDirect3DDevice_DeleteViewport(p,a) (p)->DeleteViewport(a)
+#define IDirect3DDevice_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
+#define IDirect3DDevice_Pick(p,a,b,c,d) (p)->Pick(a,b,c,d)
+#define IDirect3DDevice_GetPickRecords(p,a,b) (p)->GetPickRecords(a,b)
+#define IDirect3DDevice_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
+#define IDirect3DDevice_CreateMatrix(p,a) (p)->CreateMatrix(a)
+#define IDirect3DDevice_SetMatrix(p,a,b) (p)->SetMatrix(a,b)
+#define IDirect3DDevice_GetMatrix(p,a,b) (p)->GetMatrix(a,b)
+#define IDirect3DDevice_DeleteMatrix(p,a) (p)->DeleteMatrix(a)
+#define IDirect3DDevice_BeginScene(p) (p)->BeginScene()
+#define IDirect3DDevice_EndScene(p) (p)->EndScene()
+#define IDirect3DDevice_GetDirect3D(p,a) (p)->GetDirect3D(a)
+#endif
+
+
+/*****************************************************************************
+ * IDirect3DDevice2 interface
+ */
+#define INTERFACE IDirect3DDevice2
+DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DDevice2 methods ***/
+ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
+ STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE;
+ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
+ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
+ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
+ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE;
+ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
+ STDMETHOD(BeginScene)(THIS) PURE;
+ STDMETHOD(EndScene)(THIS) PURE;
+ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE;
+ /*** DrawPrimitive API ***/
+ STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE;
+ STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE;
+ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE;
+ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE;
+ STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE;
+ STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
+ STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
+ STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
+ STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
+ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
+ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
+ STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
+ STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
+ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+ STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DDevice2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DDevice2_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DDevice2 methods ***/
+#define IDirect3DDevice2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
+#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->lpVtbl->SwapTextureHandles(p,a,b)
+#define IDirect3DDevice2_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
+#define IDirect3DDevice2_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
+#define IDirect3DDevice2_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
+#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
+#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
+#define IDirect3DDevice2_BeginScene(p) (p)->lpVtbl->BeginScene(p)
+#define IDirect3DDevice2_EndScene(p) (p)->lpVtbl->EndScene(p)
+#define IDirect3DDevice2_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
+#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
+#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
+#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
+#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
+#define IDirect3DDevice2_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
+#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
+#define IDirect3DDevice2_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
+#define IDirect3DDevice2_Index(p,a) (p)->lpVtbl->Index(p,a)
+#define IDirect3DDevice2_End(p,a) (p)->lpVtbl->End(p,a)
+#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
+#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
+#define IDirect3DDevice2_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
+#define IDirect3DDevice2_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
+#define IDirect3DDevice2_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
+#define IDirect3DDevice2_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
+#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
+#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
+#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice2_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
+#define IDirect3DDevice2_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DDevice2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DDevice2_AddRef(p) (p)->AddRef()
+#define IDirect3DDevice2_Release(p) (p)->Release()
+/*** IDirect3DDevice2 methods ***/
+#define IDirect3DDevice2_GetCaps(p,a,b) (p)->GetCaps(a,b)
+#define IDirect3DDevice2_SwapTextureHandles(p,a,b) (p)->SwapTextureHandles(a,b)
+#define IDirect3DDevice2_GetStats(p,a) (p)->GetStats(a)
+#define IDirect3DDevice2_AddViewport(p,a) (p)->AddViewport(a)
+#define IDirect3DDevice2_DeleteViewport(p,a) (p)->DeleteViewport(a)
+#define IDirect3DDevice2_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
+#define IDirect3DDevice2_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
+#define IDirect3DDevice2_BeginScene(p) (p)->BeginScene()
+#define IDirect3DDevice2_EndScene(p) (p)->EndScene()
+#define IDirect3DDevice2_GetDirect3D(p,a) (p)->GetDirect3D(a)
+#define IDirect3DDevice2_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
+#define IDirect3DDevice2_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
+#define IDirect3DDevice2_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
+#define IDirect3DDevice2_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
+#define IDirect3DDevice2_Begin(p,a,b,c) (p)->Begin(a,b,c)
+#define IDirect3DDevice2_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
+#define IDirect3DDevice2_Vertex(p,a) (p)->Vertex(a)
+#define IDirect3DDevice2_Index(p,a) (p)->Index(a)
+#define IDirect3DDevice2_End(p,a) (p)->End(a)
+#define IDirect3DDevice2_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
+#define IDirect3DDevice2_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
+#define IDirect3DDevice2_GetLightState(p,a,b) (p)->GetLightState(a,b)
+#define IDirect3DDevice2_SetLightState(p,a,b) (p)->SetLightState(a,b)
+#define IDirect3DDevice2_SetTransform(p,a,b) (p)->SetTransform(a,b)
+#define IDirect3DDevice2_GetTransform(p,a,b) (p)->GetTransform(a,b)
+#define IDirect3DDevice2_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
+#define IDirect3DDevice2_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
+#define IDirect3DDevice2_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
+#define IDirect3DDevice2_SetClipStatus(p,a) (p)->SetClipStatus(a)
+#define IDirect3DDevice2_GetClipStatus(p,a) (p)->GetClipStatus(a)
+#endif
+
+/*****************************************************************************
+ * IDirect3DDevice3 interface
+ */
+#define INTERFACE IDirect3DDevice3
+DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DDevice3 methods ***/
+ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE;
+ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE;
+ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
+ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
+ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE;
+ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
+ STDMETHOD(BeginScene)(THIS) PURE;
+ STDMETHOD(EndScene)(THIS) PURE;
+ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE;
+ /*** DrawPrimitive API ***/
+ STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE;
+ STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE;
+ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE;
+ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE;
+ STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE;
+ STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
+ STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
+ STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
+ STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
+ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
+ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
+ STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE;
+ STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE;
+ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+ STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+ STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
+ STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
+ STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
+ STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE;
+ STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE;
+ STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
+ STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
+ STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DDevice3_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DDevice3_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DDevice3 methods ***/
+#define IDirect3DDevice3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
+#define IDirect3DDevice3_GetStats(p,a) (p)->lpVtbl->GetStats(p,a)
+#define IDirect3DDevice3_AddViewport(p,a) (p)->lpVtbl->AddViewport(p,a)
+#define IDirect3DDevice3_DeleteViewport(p,a) (p)->lpVtbl->DeleteViewport(p,a)
+#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->lpVtbl->NextViewport(p,a,b,c)
+#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
+#define IDirect3DDevice3_BeginScene(p) (p)->lpVtbl->BeginScene(p)
+#define IDirect3DDevice3_EndScene(p) (p)->lpVtbl->EndScene(p)
+#define IDirect3DDevice3_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
+#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->lpVtbl->SetCurrentViewport(p,a)
+#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->lpVtbl->GetCurrentViewport(p,a)
+#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
+#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
+#define IDirect3DDevice3_Begin(p,a,b,c) (p)->lpVtbl->Begin(p,a,b,c)
+#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->lpVtbl->BeginIndexed(p,a,b,c,d,e)
+#define IDirect3DDevice3_Vertex(p,a) (p)->lpVtbl->Vertex(p,a)
+#define IDirect3DDevice3_Index(p,a) (p)->lpVtbl->Index(p,a)
+#define IDirect3DDevice3_End(p,a) (p)->lpVtbl->End(p,a)
+#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
+#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
+#define IDirect3DDevice3_GetLightState(p,a,b) (p)->lpVtbl->GetLightState(p,a,b)
+#define IDirect3DDevice3_SetLightState(p,a,b) (p)->lpVtbl->SetLightState(p,a,b)
+#define IDirect3DDevice3_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
+#define IDirect3DDevice3_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
+#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
+#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice3_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
+#define IDirect3DDevice3_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
+#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e)
+#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
+#define IDirect3DDevice3_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
+#define IDirect3DDevice3_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
+#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
+#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
+#define IDirect3DDevice3_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DDevice3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DDevice3_AddRef(p) (p)->AddRef()
+#define IDirect3DDevice3_Release(p) (p)->Release()
+/*** IDirect3DDevice3 methods ***/
+#define IDirect3DDevice3_GetCaps(p,a,b) (p)->GetCaps(a,b)
+#define IDirect3DDevice3_GetStats(p,a) (p)->GetStats(a)
+#define IDirect3DDevice3_AddViewport(p,a) (p)->AddViewport(a)
+#define IDirect3DDevice3_DeleteViewport(p,a) (p)->DeleteViewport(a)
+#define IDirect3DDevice3_NextViewport(p,a,b,c) (p)->NextViewport(a,b,c)
+#define IDirect3DDevice3_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
+#define IDirect3DDevice3_BeginScene(p) (p)->BeginScene()
+#define IDirect3DDevice3_EndScene(p) (p)->EndScene()
+#define IDirect3DDevice3_GetDirect3D(p,a) (p)->GetDirect3D(a)
+#define IDirect3DDevice3_SetCurrentViewport(p,a) (p)->SetCurrentViewport(a)
+#define IDirect3DDevice3_GetCurrentViewport(p,a) (p)->GetCurrentViewport(a)
+#define IDirect3DDevice3_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
+#define IDirect3DDevice3_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
+#define IDirect3DDevice3_Begin(p,a,b,c) (p)->Begin(a,b,c)
+#define IDirect3DDevice3_BeginIndexed(p,a,b,c,d,e) (p)->BeginIndexed(a,b,c,d,e)
+#define IDirect3DDevice3_Vertex(p,a) (p)->Vertex(a)
+#define IDirect3DDevice3_Index(p,a) (p)->Index(a)
+#define IDirect3DDevice3_End(p,a) (p)->End(a)
+#define IDirect3DDevice3_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
+#define IDirect3DDevice3_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
+#define IDirect3DDevice3_GetLightState(p,a,b) (p)->GetLightState(a,b)
+#define IDirect3DDevice3_SetLightState(p,a,b) (p)->SetLightState(a,b)
+#define IDirect3DDevice3_SetTransform(p,a,b) (p)->SetTransform(a,b)
+#define IDirect3DDevice3_GetTransform(p,a,b) (p)->GetTransform(a,b)
+#define IDirect3DDevice3_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
+#define IDirect3DDevice3_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
+#define IDirect3DDevice3_SetClipStatus(p,a) (p)->SetClipStatus(a)
+#define IDirect3DDevice3_GetClipStatus(p,a) (p)->GetClipStatus(a)
+#define IDirect3DDevice3_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
+#define IDirect3DDevice3_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
+#define IDirect3DDevice3_DrawIndexedPrimitiveVB(p,a,b,c,d,e) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e)
+#define IDirect3DDevice3_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
+#define IDirect3DDevice3_GetTexture(p,a,b) (p)->GetTexture(a,b)
+#define IDirect3DDevice3_SetTexture(p,a,b) (p)->SetTexture(a,b)
+#define IDirect3DDevice3_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
+#define IDirect3DDevice3_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
+#define IDirect3DDevice3_ValidateDevice(p,a) (p)->ValidateDevice(a)
+#endif
+
+/*****************************************************************************
+ * IDirect3DDevice7 interface
+ */
+#define INTERFACE IDirect3DDevice7
+DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DDevice7 methods ***/
+ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE;
+ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
+ STDMETHOD(BeginScene)(THIS) PURE;
+ STDMETHOD(EndScene)(THIS) PURE;
+ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE;
+ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE;
+ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE;
+ STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
+ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
+ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE;
+ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE;
+ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
+ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE;
+ STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
+ STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE;
+ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE;
+ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
+ STDMETHOD(BeginStateBlock)(THIS) PURE;
+ STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE;
+ STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE;
+ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+ STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
+ STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE;
+ STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE;
+ STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE;
+ STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE;
+ STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE;
+ STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE;
+ STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE;
+ STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE;
+ STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
+ STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
+ STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
+ STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE;
+ STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE;
+ STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE;
+ STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE;
+ STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE;
+ STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
+ STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
+ STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DDevice7_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DDevice7_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DDevice7 methods ***/
+#define IDirect3DDevice7_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
+#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->lpVtbl->EnumTextureFormats(p,a,b)
+#define IDirect3DDevice7_BeginScene(p) (p)->lpVtbl->BeginScene(p)
+#define IDirect3DDevice7_EndScene(p) (p)->lpVtbl->EndScene(p)
+#define IDirect3DDevice7_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
+#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
+#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->lpVtbl->GetRenderTarget(p,a)
+#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
+#define IDirect3DDevice7_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
+#define IDirect3DDevice7_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
+#define IDirect3DDevice7_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
+#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
+#define IDirect3DDevice7_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
+#define IDirect3DDevice7_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
+#define IDirect3DDevice7_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
+#define IDirect3DDevice7_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
+#define IDirect3DDevice7_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
+#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
+#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
+#define IDirect3DDevice7_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
+#define IDirect3DDevice7_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
+#define IDirect3DDevice7_PreLoad(p,a) (p)->lpVtbl->PreLoad(p,a)
+#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitive(p,a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice7_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
+#define IDirect3DDevice7_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
+#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveStrided(p,a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->lpVtbl->DrawPrimitiveVB(p,a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->lpVtbl->DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g)
+#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->lpVtbl->ComputeSphereVisibility(p,a,b,c,d,e)
+#define IDirect3DDevice7_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
+#define IDirect3DDevice7_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
+#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
+#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
+#define IDirect3DDevice7_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
+#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->lpVtbl->ApplyStateBlock(p,a)
+#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->lpVtbl->CaptureStateBlock(p,a)
+#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->lpVtbl->DeleteStateBlock(p,a)
+#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
+#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->lpVtbl->Load(p,a,b,c,d,e)
+#define IDirect3DDevice7_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
+#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
+#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
+#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
+#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DDevice7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DDevice7_AddRef(p) (p)->AddRef()
+#define IDirect3DDevice7_Release(p) (p)->Release()
+/*** IDirect3DDevice7 methods ***/
+#define IDirect3DDevice7_GetCaps(p,a) (p)->GetCaps(a)
+#define IDirect3DDevice7_EnumTextureFormats(p,a,b) (p)->EnumTextureFormats(a,b)
+#define IDirect3DDevice7_BeginScene(p) (p)->BeginScene()
+#define IDirect3DDevice7_EndScene(p) (p)->EndScene()
+#define IDirect3DDevice7_GetDirect3D(p,a) (p)->GetDirect3D(a)
+#define IDirect3DDevice7_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
+#define IDirect3DDevice7_GetRenderTarget(p,a) (p)->GetRenderTarget(a)
+#define IDirect3DDevice7_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
+#define IDirect3DDevice7_SetTransform(p,a,b) (p)->SetTransform(a,b)
+#define IDirect3DDevice7_GetTransform(p,a,b) (p)->GetTransform(a,b)
+#define IDirect3DDevice7_SetViewport(p,a) (p)->SetViewport(a)
+#define IDirect3DDevice7_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
+#define IDirect3DDevice7_GetViewport(p,a) (p)->GetViewport(a)
+#define IDirect3DDevice7_SetMaterial(p,a) (p)->SetMaterial(a)
+#define IDirect3DDevice7_GetMaterial(p,a) (p)->GetMaterial(a)
+#define IDirect3DDevice7_SetLight(p,a,b) (p)->SetLight(a,b)
+#define IDirect3DDevice7_GetLight(p,a,b) (p)->GetLight(a,b)
+#define IDirect3DDevice7_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
+#define IDirect3DDevice7_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
+#define IDirect3DDevice7_BeginStateBlock(p) (p)->BeginStateBlock()
+#define IDirect3DDevice7_EndStateBlock(p,a) (p)->EndStateBlock(a)
+#define IDirect3DDevice7_PreLoad(p,a) (p)->PreLoad(a)
+#define IDirect3DDevice7_DrawPrimitive(p,a,b,c,d,e) (p)->DrawPrimitive(a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitive(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitive(a,b,c,d,e,f,g)
+#define IDirect3DDevice7_SetClipStatus(p,a) (p)->SetClipStatus(a)
+#define IDirect3DDevice7_GetClipStatus(p,a) (p)->GetClipStatus(a)
+#define IDirect3DDevice7_DrawPrimitiveStrided(p,a,b,c,d,e) (p)->DrawPrimitiveStrided(a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveStrided(a,b,c,d,e,f,g)
+#define IDirect3DDevice7_DrawPrimitiveVB(p,a,b,c,d,e) (p)->DrawPrimitiveVB(a,b,c,d,e)
+#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p,a,b,c,d,e,f,g) (p)->DrawIndexedPrimitiveVB(a,b,c,d,e,f,g)
+#define IDirect3DDevice7_ComputeSphereVisibility(p,a,b,c,d,e) (p)->ComputeSphereVisibility(a,b,c,d,e)
+#define IDirect3DDevice7_GetTexture(p,a,b) (p)->GetTexture(a,b)
+#define IDirect3DDevice7_SetTexture(p,a,b) (p)->SetTexture(a,b)
+#define IDirect3DDevice7_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
+#define IDirect3DDevice7_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
+#define IDirect3DDevice7_ValidateDevice(p,a) (p)->ValidateDevice(a)
+#define IDirect3DDevice7_ApplyStateBlock(p,a) (p)->ApplyStateBlock(a)
+#define IDirect3DDevice7_CaptureStateBlock(p,a) (p)->CaptureStateBlock(a)
+#define IDirect3DDevice7_DeleteStateBlock(p,a) (p)->DeleteStateBlock(a)
+#define IDirect3DDevice7_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
+#define IDirect3DDevice7_Load(p,a,b,c,d,e) (p)->Load(a,b,c,d,e)
+#define IDirect3DDevice7_LightEnable(p,a,b) (p)->LightEnable(a,b)
+#define IDirect3DDevice7_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
+#define IDirect3DDevice7_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
+#define IDirect3DDevice7_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
+#define IDirect3DDevice7_GetInfo(p,a,b,c) (p)->GetInfo(a,b,c)
+#endif
+
+
+
+/*****************************************************************************
+ * IDirect3DVertexBuffer interface
+ */
+#define INTERFACE IDirect3DVertexBuffer
+DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DVertexBuffer methods ***/
+ STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
+ STDMETHOD(Unlock)(THIS) PURE;
+ STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
+ STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
+ STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DVertexBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DVertexBuffer_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DVertexBuffer methods ***/
+#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
+#define IDirect3DVertexBuffer_Unlock(p) (p)->lpVtbl->Unlock(p)
+#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
+#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
+#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DVertexBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DVertexBuffer_AddRef(p) (p)->AddRef()
+#define IDirect3DVertexBuffer_Release(p) (p)->Release()
+/*** IDirect3DVertexBuffer methods ***/
+#define IDirect3DVertexBuffer_Lock(p,a,b,c) (p)->Lock(a,b,c)
+#define IDirect3DVertexBuffer_Unlock(p) (p)->Unlock()
+#define IDirect3DVertexBuffer_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
+#define IDirect3DVertexBuffer_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
+#define IDirect3DVertexBuffer_Optimize(p,a,b) (p)->Optimize(a,b)
+#endif
+
+/*****************************************************************************
+ * IDirect3DVertexBuffer7 interface
+ */
+#define INTERFACE IDirect3DVertexBuffer7
+DECLARE_INTERFACE_(IDirect3DVertexBuffer7,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IDirect3DVertexBuffer7 methods ***/
+ STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
+ STDMETHOD(Unlock)(THIS) PURE;
+ STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
+ STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE;
+ STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
+ STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDirect3DVertexBuffer7_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IDirect3DVertexBuffer7_Release(p) (p)->lpVtbl->Release(p)
+/*** IDirect3DVertexBuffer7 methods ***/
+#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->lpVtbl->Lock(p,a,b,c)
+#define IDirect3DVertexBuffer7_Unlock(p) (p)->lpVtbl->Unlock(p)
+#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f,g)
+#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->lpVtbl->GetVertexBufferDesc(p,a)
+#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->lpVtbl->Optimize(p,a,b)
+#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->lpVtbl->ProcessVerticesStrided(p,a,b,c,d,e,f,g)
+#else
+/*** IUnknown methods ***/
+#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
+#define IDirect3DVertexBuffer7_AddRef(p) (p)->AddRef()
+#define IDirect3DVertexBuffer7_Release(p) (p)->Release()
+/*** IDirect3DVertexBuffer7 methods ***/
+#define IDirect3DVertexBuffer7_Lock(p,a,b,c) (p)->Lock(a,b,c)
+#define IDirect3DVertexBuffer7_Unlock(p) (p)->Unlock()
+#define IDirect3DVertexBuffer7_ProcessVertices(p,a,b,c,d,e,f,g) (p)->ProcessVertices(a,b,c,d,e,f,g)
+#define IDirect3DVertexBuffer7_GetVertexBufferDesc(p,a) (p)->GetVertexBufferDesc(a)
+#define IDirect3DVertexBuffer7_Optimize(p,a,b) (p)->Optimize(a,b)
+#define IDirect3DVertexBuffer7_ProcessVerticesStrided(p,a,b,c,d,e,f,g) (p)->ProcessVerticesStrided(a,b,c,d,e,f,g)
+#endif
+
+#endif /* __WINE_D3D_H */
--- /dev/null
+/*** Autogenerated by WIDL 1.2-rc3 from d3d10.idl - Do not edit ***/
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifndef __WIDL_D3D10_H
+#define __WIDL_D3D10_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Headers for imported files */
+
+#include <oaidl.h>
+#include <ocidl.h>
+#include <dxgi.h>
+
+/* Forward declarations */
+
+#ifndef __ID3D10DeviceChild_FWD_DEFINED__
+#define __ID3D10DeviceChild_FWD_DEFINED__
+typedef interface ID3D10DeviceChild ID3D10DeviceChild;
+#endif
+
+#ifndef __ID3D10Resource_FWD_DEFINED__
+#define __ID3D10Resource_FWD_DEFINED__
+typedef interface ID3D10Resource ID3D10Resource;
+#endif
+
+#ifndef __ID3D10Buffer_FWD_DEFINED__
+#define __ID3D10Buffer_FWD_DEFINED__
+typedef interface ID3D10Buffer ID3D10Buffer;
+#endif
+
+#ifndef __ID3D10Texture1D_FWD_DEFINED__
+#define __ID3D10Texture1D_FWD_DEFINED__
+typedef interface ID3D10Texture1D ID3D10Texture1D;
+#endif
+
+#ifndef __ID3D10Texture2D_FWD_DEFINED__
+#define __ID3D10Texture2D_FWD_DEFINED__
+typedef interface ID3D10Texture2D ID3D10Texture2D;
+#endif
+
+#ifndef __ID3D10Texture3D_FWD_DEFINED__
+#define __ID3D10Texture3D_FWD_DEFINED__
+typedef interface ID3D10Texture3D ID3D10Texture3D;
+#endif
+
+#ifndef __ID3D10View_FWD_DEFINED__
+#define __ID3D10View_FWD_DEFINED__
+typedef interface ID3D10View ID3D10View;
+#endif
+
+#ifndef __ID3D10DepthStencilView_FWD_DEFINED__
+#define __ID3D10DepthStencilView_FWD_DEFINED__
+typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
+#endif
+
+#ifndef __ID3D10RenderTargetView_FWD_DEFINED__
+#define __ID3D10RenderTargetView_FWD_DEFINED__
+typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
+#endif
+
+#ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
+#define __ID3D10ShaderResourceView_FWD_DEFINED__
+typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
+#endif
+
+#ifndef __ID3D10BlendState_FWD_DEFINED__
+#define __ID3D10BlendState_FWD_DEFINED__
+typedef interface ID3D10BlendState ID3D10BlendState;
+#endif
+
+#ifndef __ID3D10DepthStencilState_FWD_DEFINED__
+#define __ID3D10DepthStencilState_FWD_DEFINED__
+typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
+#endif
+
+#ifndef __ID3D10GeometryShader_FWD_DEFINED__
+#define __ID3D10GeometryShader_FWD_DEFINED__
+typedef interface ID3D10GeometryShader ID3D10GeometryShader;
+#endif
+
+#ifndef __ID3D10InputLayout_FWD_DEFINED__
+#define __ID3D10InputLayout_FWD_DEFINED__
+typedef interface ID3D10InputLayout ID3D10InputLayout;
+#endif
+
+#ifndef __ID3D10PixelShader_FWD_DEFINED__
+#define __ID3D10PixelShader_FWD_DEFINED__
+typedef interface ID3D10PixelShader ID3D10PixelShader;
+#endif
+
+#ifndef __ID3D10RasterizerState_FWD_DEFINED__
+#define __ID3D10RasterizerState_FWD_DEFINED__
+typedef interface ID3D10RasterizerState ID3D10RasterizerState;
+#endif
+
+#ifndef __ID3D10SamplerState_FWD_DEFINED__
+#define __ID3D10SamplerState_FWD_DEFINED__
+typedef interface ID3D10SamplerState ID3D10SamplerState;
+#endif
+
+#ifndef __ID3D10VertexShader_FWD_DEFINED__
+#define __ID3D10VertexShader_FWD_DEFINED__
+typedef interface ID3D10VertexShader ID3D10VertexShader;
+#endif
+
+#ifndef __ID3D10Asynchronous_FWD_DEFINED__
+#define __ID3D10Asynchronous_FWD_DEFINED__
+typedef interface ID3D10Asynchronous ID3D10Asynchronous;
+#endif
+
+#ifndef __ID3D10Counter_FWD_DEFINED__
+#define __ID3D10Counter_FWD_DEFINED__
+typedef interface ID3D10Counter ID3D10Counter;
+#endif
+
+#ifndef __ID3D10Query_FWD_DEFINED__
+#define __ID3D10Query_FWD_DEFINED__
+typedef interface ID3D10Query ID3D10Query;
+#endif
+
+#ifndef __ID3D10Predicate_FWD_DEFINED__
+#define __ID3D10Predicate_FWD_DEFINED__
+typedef interface ID3D10Predicate ID3D10Predicate;
+#endif
+
+#ifndef __ID3D10Device_FWD_DEFINED__
+#define __ID3D10Device_FWD_DEFINED__
+typedef interface ID3D10Device ID3D10Device;
+#endif
+
+#ifndef __ID3D10Multithread_FWD_DEFINED__
+#define __ID3D10Multithread_FWD_DEFINED__
+typedef interface ID3D10Multithread ID3D10Multithread;
+#endif
+
+
+#ifndef _D3D10_CONSTANTS
+#define _D3D10_CONSTANTS
+#define D3D10_DEFAULT_BLEND_FACTOR_ALPHA (1.00000000000000)
+
+#define D3D10_DEFAULT_BLEND_FACTOR_BLUE (1.00000000000000)
+
+#define D3D10_DEFAULT_BLEND_FACTOR_GREEN (1.00000000000000)
+
+#define D3D10_DEFAULT_BLEND_FACTOR_RED (1.00000000000000)
+
+#define D3D10_DEFAULT_BORDER_COLOR_COMPONENT (0.00000000000000)
+
+#define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS (0.00000000000000)
+
+#define D3D10_DEFAULT_DEPTH_BIAS_CLAMP (0.00000000000000)
+
+#define D3D10_DEFAULT_MAX_ANISOTROPY (16.0000000000000)
+
+#define D3D10_DEFAULT_MIP_LOD_BIAS (0.00000000000000)
+
+#define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH (0.00000000000000)
+
+#define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH (0.00000000000000)
+
+#define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP (0.600000000000000)
+
+#define D3D10_FLOAT32_MAX (3.40282346600000e+38)
+
+#define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP (0.600000000000000)
+
+#define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR (2.40000000000000)
+
+#define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR (1.00000000000000)
+
+#define D3D10_FLOAT_TO_SRGB_OFFSET (0.0550000000000000)
+
+#define D3D10_FLOAT_TO_SRGB_SCALE_1 (12.9200000000000)
+
+#define D3D10_FLOAT_TO_SRGB_SCALE_2 (1.05500000000000)
+
+#define D3D10_FLOAT_TO_SRGB_THRESHOLD (0.00313080000000000)
+
+#define D3D10_FTOI_INSTRUCTION_MAX_INPUT (2147483647.99900)
+
+#define D3D10_FTOI_INSTRUCTION_MIN_INPUT (-2147483648.99900)
+
+#define D3D10_FTOU_INSTRUCTION_MAX_INPUT (4294967295.99900)
+
+#define D3D10_FTOU_INSTRUCTION_MIN_INPUT (0.00000000000000)
+
+#define D3D10_LINEAR_GAMMA (1.00000000000000)
+
+#define D3D10_MAX_BORDER_COLOR_COMPONENT (1.00000000000000)
+
+#define D3D10_MAX_DEPTH (1.00000000000000)
+
+#define D3D10_MAX_POSITION_VALUE (3.40282346600000e+34)
+
+#define D3D10_MIN_BORDER_COLOR_COMPONENT (0.00000000000000)
+
+#define D3D10_MIN_DEPTH (0.00000000000000)
+
+#define D3D10_MIP_LOD_BIAS_MAX (15.9900000000000)
+
+#define D3D10_MIP_LOD_BIAS_MIN (-16.0000000000000)
+
+#define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.500000000000000)
+
+#define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH (1.40000000000000)
+
+#define D3D10_SRGB_GAMMA (2.20000000000000)
+
+#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 (12.9200000000000)
+
+#define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 (1.05500000000000)
+
+#define D3D10_SRGB_TO_FLOAT_EXPONENT (2.40000000000000)
+
+#define D3D10_SRGB_TO_FLOAT_OFFSET (0.0550000000000000)
+
+#define D3D10_SRGB_TO_FLOAT_THRESHOLD (0.0404500000000000)
+
+#define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.500000000000000)
+
+#define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.00000000000000)
+
+#define D3D_SPEC_VERSION (1.05000500000000)
+
+#define D3D10_16BIT_INDEX_STRIP_CUT_VALUE (0xffff)
+
+#define D3D10_32BIT_INDEX_STRIP_CUT_VALUE (0xffffffff)
+
+#define D3D10_8BIT_INDEX_STRIP_CUT_VALUE (0xff)
+
+#define D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT (9)
+
+#define D3D10_CLIP_OR_CULL_DISTANCE_COUNT (8)
+
+#define D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT (2)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
+
+#define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
+
+#define D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
+
+#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
+
+#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
+
+#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
+
+#define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
+
+#define D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
+
+#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
+
+#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
+
+#define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
+
+#define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
+
+#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
+
+#define D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
+
+#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
+
+#define D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
+
+#define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
+
+#define D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
+
+#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
+
+#define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
+
+#define D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
+
+#define D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
+
+#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
+
+#define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
+
+#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
+
+#define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
+
+#define D3D10_DEFAULT_DEPTH_BIAS (0)
+
+#define D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
+
+#define D3D10_DEFAULT_SAMPLE_MASK (0xffffffff)
+
+#define D3D10_DEFAULT_SCISSOR_ENDX (0)
+
+#define D3D10_DEFAULT_SCISSOR_ENDY (0)
+
+#define D3D10_DEFAULT_SCISSOR_STARTX (0)
+
+#define D3D10_DEFAULT_SCISSOR_STARTY (0)
+
+#define D3D10_DEFAULT_STENCIL_READ_MASK (0xff)
+
+#define D3D10_DEFAULT_STENCIL_REFERENCE (0)
+
+#define D3D10_DEFAULT_STENCIL_WRITE_MASK (0xff)
+
+#define D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
+
+#define D3D10_DEFAULT_VIEWPORT_HEIGHT (0)
+
+#define D3D10_DEFAULT_VIEWPORT_TOPLEFTX (0)
+
+#define D3D10_DEFAULT_VIEWPORT_TOPLEFTY (0)
+
+#define D3D10_DEFAULT_VIEWPORT_WIDTH (0)
+
+#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS (1)
+
+#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT (1)
+
+#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST (2)
+
+#define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS (1)
+
+#define D3D10_GS_INPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_GS_INPUT_REGISTER_COUNT (16)
+
+#define D3D10_GS_INPUT_REGISTER_READS_PER_INST (2)
+
+#define D3D10_GS_INPUT_REGISTER_READ_PORTS (1)
+
+#define D3D10_GS_INPUT_REGISTER_VERTICES (6)
+
+#define D3D10_GS_OUTPUT_ELEMENTS (32)
+
+#define D3D10_GS_OUTPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_GS_OUTPUT_REGISTER_COUNT (32)
+
+#define D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES (0)
+
+#define D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY (0)
+
+#define D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES (0)
+
+#define D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
+
+#define D3D10_IA_INSTANCE_ID_BIT_COUNT (32)
+
+#define D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT (32)
+
+#define D3D10_IA_PRIMITIVE_ID_BIT_COUNT (32)
+
+#define D3D10_IA_VERTEX_ID_BIT_COUNT (32)
+
+#define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (16)
+
+#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS (64)
+
+#define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT (16)
+
+#define D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT (0xffffffff)
+
+#define D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER (0xffffffff)
+
+#define D3D10_MAX_MAXANISOTROPY (16)
+
+#define D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
+
+#define D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP (17)
+
+#define D3D10_MIN_MAXANISOTROPY (0)
+
+#define D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT (6)
+
+#define D3D10_MIP_LOD_RANGE_BIT_COUNT (8)
+
+#define D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT (0)
+
+#define D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT (13)
+
+#define D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT (15)
+
+#define D3D10_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
+
+#define D3D10_PS_FRONTFACING_FALSE_VALUE (0)
+
+#define D3D10_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
+
+#define D3D10_PS_INPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_PS_INPUT_REGISTER_COUNT (32)
+
+#define D3D10_PS_INPUT_REGISTER_READS_PER_INST (2)
+
+#define D3D10_PS_INPUT_REGISTER_READ_PORTS (1)
+
+#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
+
+#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
+
+#define D3D10_PS_OUTPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_PS_OUTPUT_REGISTER_COUNT (8)
+
+#define D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT (4096)
+
+#define D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
+
+#define D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
+
+#define D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT (4096)
+
+#define D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
+
+#define D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
+
+#define D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (8192)
+
+#define D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
+
+#define D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
+
+#define D3D10_REQ_MAXANISOTROPY (16)
+
+#define D3D10_REQ_MIP_LEVELS (14)
+
+#define D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
+
+#define D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT (4096)
+
+#define D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (8192)
+
+#define D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES (128)
+
+#define D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP (20)
+
+#define D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT (4096)
+
+#define D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (512)
+
+#define D3D10_REQ_TEXTURE1D_U_DIMENSION (8192)
+
+#define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (512)
+
+#define D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION (8192)
+
+#define D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
+
+#define D3D10_REQ_TEXTURECUBE_DIMENSION (8192)
+
+#define D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
+
+#define D3D10_SHADER_MAJOR_VERSION (4)
+
+#define D3D10_SHADER_MINOR_VERSION (0)
+
+#define D3D10_SHIFT_INSTRUCTION_PAD_VALUE (0)
+
+#define D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
+
+#define D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
+
+#define D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
+
+#define D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (256)
+
+#define D3D10_SO_BUFFER_SLOT_COUNT (4)
+
+#define D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
+
+#define D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER (1)
+
+#define D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT (64)
+
+#define D3D10_STANDARD_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
+
+#define D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
+
+#define D3D10_STANDARD_PIXEL_COMPONENT_COUNT (128)
+
+#define D3D10_STANDARD_PIXEL_ELEMENT_COUNT (32)
+
+#define D3D10_STANDARD_VECTOR_SIZE (4)
+
+#define D3D10_STANDARD_VERTEX_ELEMENT_COUNT (16)
+
+#define D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
+
+#define D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT (8)
+
+#define D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT (6)
+
+#define D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT (18)
+
+#define D3D10_UNBOUND_MEMORY_ACCESS_RESULT (0)
+
+#define D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX (15)
+
+#define D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
+
+#define D3D10_VIEWPORT_BOUNDS_MAX (16383)
+
+#define D3D10_VIEWPORT_BOUNDS_MIN (-16384)
+
+#define D3D10_VS_INPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_VS_INPUT_REGISTER_COUNT (16)
+
+#define D3D10_VS_INPUT_REGISTER_READS_PER_INST (2)
+
+#define D3D10_VS_INPUT_REGISTER_READ_PORTS (1)
+
+#define D3D10_VS_OUTPUT_REGISTER_COMPONENTS (4)
+
+#define D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D10_VS_OUTPUT_REGISTER_COUNT (16)
+
+#define D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT (10)
+
+#define D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (25)
+
+#define D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP (25)
+
+#define D3D_MAJOR_VERSION (10)
+
+#define D3D_MINOR_VERSION (0)
+
+#define D3D_SPEC_DATE_DAY (8)
+
+#define D3D_SPEC_DATE_MONTH (8)
+
+#define D3D_SPEC_DATE_YEAR (2006)
+
+#endif
+#define D3D10_APPEND_ALIGNED_ELEMENT (0xffffffff)
+
+#define _FACD3D10 (0x87)
+
+#define _FACD3D10DEBUG (_FACD3D10 + 1)
+
+#define D3D10_FILTER_TYPE_MASK (0x3)
+
+#define D3D10_SDK_VERSION (29)
+
+#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)
+#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)
+#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)
+#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)
+typedef enum D3D10_BLEND {
+ D3D10_BLEND_ZERO = 1,
+ D3D10_BLEND_ONE = 2,
+ D3D10_BLEND_SRC_COLOR = 3,
+ D3D10_BLEND_INV_SRC_COLOR = 4,
+ D3D10_BLEND_SRC_ALPHA = 5,
+ D3D10_BLEND_INV_SRC_ALPHA = 6,
+ D3D10_BLEND_DEST_ALPHA = 7,
+ D3D10_BLEND_INV_DEST_ALPHA = 8,
+ D3D10_BLEND_DEST_COLOR = 9,
+ D3D10_BLEND_INV_DEST_COLOR = 10,
+ D3D10_BLEND_SRC_ALPHA_SAT = 11,
+ D3D10_BLEND_BLEND_FACTOR = 14,
+ D3D10_BLEND_INV_BLEND_FACTOR = 15,
+ D3D10_BLEND_SRC1_COLOR = 16,
+ D3D10_BLEND_INV_SRC1_COLOR = 17,
+ D3D10_BLEND_SRC1_ALPHA = 18,
+ D3D10_BLEND_INV_SRC1_ALPHA = 19
+} D3D10_BLEND;
+typedef enum D3D10_BLEND_OP {
+ D3D10_BLEND_OP_ADD = 1,
+ D3D10_BLEND_OP_SUBTRACT = 2,
+ D3D10_BLEND_OP_REV_SUBTRACT = 3,
+ D3D10_BLEND_OP_MIN = 4,
+ D3D10_BLEND_OP_MAX = 5
+} D3D10_BLEND_OP;
+typedef struct D3D10_BLEND_DESC {
+ BOOL AlphaToCoverageEnable;
+ BOOL BlendEnable[8];
+ D3D10_BLEND SrcBlend;
+ D3D10_BLEND DestBlend;
+ D3D10_BLEND_OP BlendOp;
+ D3D10_BLEND SrcBlendAlpha;
+ D3D10_BLEND DestBlendAlpha;
+ D3D10_BLEND_OP BlendOpAlpha;
+ UINT8 RenderTargetWriteMask[8];
+} D3D10_BLEND_DESC;
+typedef enum D3D10_DEPTH_WRITE_MASK {
+ D3D10_DEPTH_WRITE_MASK_ZERO = 0,
+ D3D10_DEPTH_WRITE_MASK_ALL = 1
+} D3D10_DEPTH_WRITE_MASK;
+typedef enum D3D10_COMPARISON_FUNC {
+ D3D10_COMPARISON_NEVER = 1,
+ D3D10_COMPARISON_LESS = 2,
+ D3D10_COMPARISON_EQUAL = 3,
+ D3D10_COMPARISON_LESS_EQUAL = 4,
+ D3D10_COMPARISON_GREATER = 5,
+ D3D10_COMPARISON_NOT_EQUAL = 6,
+ D3D10_COMPARISON_GREATER_EQUAL = 7,
+ D3D10_COMPARISON_ALWAYS = 8
+} D3D10_COMPARISON_FUNC;
+typedef enum D3D10_STENCIL_OP {
+ D3D10_STENCIL_OP_KEEP = 1,
+ D3D10_STENCIL_OP_ZERO = 2,
+ D3D10_STENCIL_OP_REPLACE = 3,
+ D3D10_STENCIL_OP_INCR_SAT = 4,
+ D3D10_STENCIL_OP_DECR_SAT = 5,
+ D3D10_STENCIL_OP_INVERT = 6,
+ D3D10_STENCIL_OP_INCR = 7,
+ D3D10_STENCIL_OP_DECR = 8
+} D3D10_STENCIL_OP;
+typedef struct D3D10_DEPTH_STENCILOP_DESC {
+ D3D10_STENCIL_OP StencilFailOp;
+ D3D10_STENCIL_OP StencilDepthFailOp;
+ D3D10_STENCIL_OP StencilPassOp;
+ D3D10_COMPARISON_FUNC StencilFunc;
+} D3D10_DEPTH_STENCILOP_DESC;
+typedef struct D3D10_DEPTH_STENCIL_DESC {
+ BOOL DepthEnable;
+ D3D10_DEPTH_WRITE_MASK DepthWriteMask;
+ D3D10_COMPARISON_FUNC DepthFunc;
+ BOOL StencilEnable;
+ UINT8 StencilReadMask;
+ UINT8 StencilWriteMask;
+ D3D10_DEPTH_STENCILOP_DESC FrontFace;
+ D3D10_DEPTH_STENCILOP_DESC BackFace;
+} D3D10_DEPTH_STENCIL_DESC;
+typedef enum D3D10_FILL_MODE {
+ D3D10_FILL_WIREFRAME = 2,
+ D3D10_FILL_SOLID = 3
+} D3D10_FILL_MODE;
+typedef enum D3D10_CULL_MODE {
+ D3D10_CULL_NONE = 1,
+ D3D10_CULL_FRONT = 2,
+ D3D10_CULL_BACK = 3
+} D3D10_CULL_MODE;
+typedef struct D3D10_RASTERIZER_DESC {
+ D3D10_FILL_MODE FillMode;
+ D3D10_CULL_MODE CullMode;
+ BOOL FrontCounterClockwise;
+ INT DepthBias;
+ FLOAT DepthBiasClamp;
+ FLOAT SlopeScaledDepthBias;
+ BOOL DepthClipEnable;
+ BOOL ScissorEnable;
+ BOOL MultisampleEnable;
+ BOOL AntialiasedLineEnable;
+} D3D10_RASTERIZER_DESC;
+typedef enum D3D10_FILTER {
+ D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
+ D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
+ D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
+ D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
+ D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
+ D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
+ D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
+ D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
+ D3D10_FILTER_ANISOTROPIC = 0x55,
+ D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
+ D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
+ D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
+ D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
+ D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
+ D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
+ D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
+ D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
+ D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
+ D3D10_FILTER_TEXT_1BIT = 0x80000000
+} D3D10_FILTER;
+typedef enum D3D10_TEXTURE_ADDRESS_MODE {
+ D3D10_TEXTURE_ADDRESS_WRAP = 1,
+ D3D10_TEXTURE_ADDRESS_MIRROR = 2,
+ D3D10_TEXTURE_ADDRESS_CLAMP = 3,
+ D3D10_TEXTURE_ADDRESS_BORDER = 4,
+ D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
+} D3D10_TEXTURE_ADDRESS_MODE;
+typedef struct D3D10_SAMPLER_DESC {
+ D3D10_FILTER Filter;
+ D3D10_TEXTURE_ADDRESS_MODE AddressU;
+ D3D10_TEXTURE_ADDRESS_MODE AddressV;
+ D3D10_TEXTURE_ADDRESS_MODE AddressW;
+ FLOAT MipLODBias;
+ UINT MaxAnisotropy;
+ D3D10_COMPARISON_FUNC ComparisonFunc;
+ FLOAT BorderColor[4];
+ FLOAT MinLOD;
+ FLOAT MaxLOD;
+} D3D10_SAMPLER_DESC;
+typedef enum D3D10_COUNTER {
+ D3D10_COUNTER_GPU_IDLE = 0,
+ D3D10_COUNTER_VERTEX_PROCESSING = 1,
+ D3D10_COUNTER_GEOMETRY_PROCESSING = 2,
+ D3D10_COUNTER_PIXEL_PROCESSING = 3,
+ D3D10_COUNTER_OTHER_GPU_PROCESSING = 4,
+ D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = 5,
+ D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = 6,
+ D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = 7,
+ D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = 8,
+ D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = 9,
+ D3D10_COUNTER_VS_MEMORY_LIMITED = 10,
+ D3D10_COUNTER_VS_COMPUTATION_LIMITED = 11,
+ D3D10_COUNTER_GS_MEMORY_LIMITED = 12,
+ D3D10_COUNTER_GS_COMPUTATION_LIMITED = 13,
+ D3D10_COUNTER_PS_MEMORY_LIMITED = 14,
+ D3D10_COUNTER_PS_COMPUTATION_LIMITED = 15,
+ D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = 16,
+ D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = 17,
+ D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
+} D3D10_COUNTER;
+typedef struct D3D10_COUNTER_DESC {
+ D3D10_COUNTER Counter;
+ UINT MiscFlags;
+} D3D10_COUNTER_DESC;
+typedef enum D3D10_COUNTER_TYPE {
+ D3D10_COUNTER_TYPE_FLOAT32 = 0,
+ D3D10_COUNTER_TYPE_UINT16 = 1,
+ D3D10_COUNTER_TYPE_UINT32 = 2,
+ D3D10_COUNTER_TYPE_UINT64 = 3
+} D3D10_COUNTER_TYPE;
+typedef struct D3D10_COUNTER_INFO {
+ D3D10_COUNTER LastDeviceDependentCounter;
+ UINT NumSimultaneousCounters;
+ UINT8 NumDetectableParallelUnits;
+} D3D10_COUNTER_INFO;
+typedef enum D3D10_RESOURCE_DIMENSION {
+ D3D10_RESOURCE_DIMENSION_UNKNOWN = 0,
+ D3D10_RESOURCE_DIMENSION_BUFFER = 1,
+ D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
+ D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
+ D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
+} D3D10_RESOURCE_DIMENSION;
+typedef enum D3D10_USAGE {
+ D3D10_USAGE_DEFAULT = 0,
+ D3D10_USAGE_IMMUTABLE = 1,
+ D3D10_USAGE_DYNAMIC = 2,
+ D3D10_USAGE_STAGING = 3
+} D3D10_USAGE;
+typedef struct D3D10_BUFFER_DESC {
+ UINT ByteWidth;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_BUFFER_DESC;
+typedef enum D3D10_MAP {
+ D3D10_MAP_READ = 1,
+ D3D10_MAP_WRITE = 2,
+ D3D10_MAP_READ_WRITE = 3,
+ D3D10_MAP_WRITE_DISCARD = 4,
+ D3D10_MAP_WRITE_NO_OVERWRITE = 5
+} D3D10_MAP;
+typedef struct D3D10_TEXTURE1D_DESC {
+ UINT Width;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE1D_DESC;
+typedef struct D3D10_TEXTURE2D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ DXGI_SAMPLE_DESC SampleDesc;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE2D_DESC;
+typedef struct D3D10_TEXTURE3D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT Depth;
+ UINT MipLevels;
+ DXGI_FORMAT Format;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE3D_DESC;
+typedef enum D3D10_DSV_DIMENSION {
+ D3D10_DSV_DIMENSION_UNKNOWN = 0,
+ D3D10_DSV_DIMENSION_TEXTURE1D = 1,
+ D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2,
+ D3D10_DSV_DIMENSION_TEXTURE2D = 3,
+ D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4,
+ D3D10_DSV_DIMENSION_TEXTURE2DMS = 5,
+ D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
+} D3D10_DSV_DIMENSION;
+typedef struct D3D10_TEX1D_DSV {
+ UINT MipSlice;
+} D3D10_TEX1D_DSV;
+typedef struct D3D10_TEX1D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_DSV;
+typedef struct D3D10_TEX2D_DSV {
+ UINT MipSlice;
+} D3D10_TEX2D_DSV;
+typedef struct D3D10_TEX2D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_DSV;
+typedef struct D3D10_TEX2DMS_DSV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_DSV;
+typedef struct D3D10_TEX2DMS_ARRAY_DSV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_DSV;
+typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_DSV_DIMENSION ViewDimension;
+ union {
+ D3D10_TEX1D_DSV Texture1D;
+ D3D10_TEX1D_ARRAY_DSV Texture1DArray;
+ D3D10_TEX2D_DSV Texture2D;
+ D3D10_TEX2D_ARRAY_DSV Texture2DArray;
+ D3D10_TEX2DMS_DSV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
+ } DUMMYUNIONNAME;
+} D3D10_DEPTH_STENCIL_VIEW_DESC;
+typedef enum D3D10_RTV_DIMENSION {
+ D3D10_RTV_DIMENSION_UNKNOWN = 0,
+ D3D10_RTV_DIMENSION_BUFFER = 1,
+ D3D10_RTV_DIMENSION_TEXTURE1D = 2,
+ D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3,
+ D3D10_RTV_DIMENSION_TEXTURE2D = 4,
+ D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5,
+ D3D10_RTV_DIMENSION_TEXTURE2DMS = 6,
+ D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
+ D3D10_RTV_DIMENSION_TEXTURE3D = 8
+} D3D10_RTV_DIMENSION;
+typedef struct D3D10_BUFFER_RTV {
+ UINT ElementOffset;
+ UINT ElementWidth;
+} D3D10_BUFFER_RTV;
+typedef struct D3D10_TEX1D_RTV {
+ UINT MipSlice;
+} D3D10_TEX1D_RTV;
+typedef struct D3D10_TEX1D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_RTV;
+typedef struct D3D10_TEX2D_RTV {
+ UINT MipSlice;
+} D3D10_TEX2D_RTV;
+typedef struct D3D10_TEX2D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_RTV;
+typedef struct D3D10_TEX2DMS_RTV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_RTV;
+typedef struct D3D10_TEX2DMS_ARRAY_RTV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_RTV;
+typedef struct D3D10_TEX3D_RTV {
+ UINT MipSlice;
+ UINT FirstWSlice;
+ UINT WSize;
+} D3D10_TEX3D_RTV;
+typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_RTV_DIMENSION ViewDimension;
+ union {
+ D3D10_BUFFER_RTV Buffer;
+ D3D10_TEX1D_RTV Texture1D;
+ D3D10_TEX1D_ARRAY_RTV Texture1DArray;
+ D3D10_TEX2D_RTV Texture2D;
+ D3D10_TEX2D_ARRAY_RTV Texture2DArray;
+ D3D10_TEX2DMS_RTV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
+ D3D10_TEX3D_RTV Texture3D;
+ } DUMMYUNIONNAME;
+} D3D10_RENDER_TARGET_VIEW_DESC;
+typedef enum D3D10_SRV_DIMENSION {
+ D3D10_SRV_DIMENSION_UNKNOWN = 0,
+ D3D10_SRV_DIMENSION_BUFFER = 1,
+ D3D10_SRV_DIMENSION_TEXTURE1D = 2,
+ D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3,
+ D3D10_SRV_DIMENSION_TEXTURE2D = 4,
+ D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5,
+ D3D10_SRV_DIMENSION_TEXTURE2DMS = 6,
+ D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
+ D3D10_SRV_DIMENSION_TEXTURE3D = 8,
+ D3D10_SRV_DIMENSION_TEXTURECUBE = 9
+} D3D10_SRV_DIMENSION;
+typedef struct D3D10_BUFFER_SRV {
+ UINT ElementOffset;
+ UINT ElementWidth;
+} D3D10_BUFFER_SRV;
+typedef struct D3D10_TEX1D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX1D_SRV;
+typedef struct D3D10_TEX1D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_SRV;
+typedef struct D3D10_TEX2D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX2D_SRV;
+typedef struct D3D10_TEX2D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_SRV;
+typedef struct D3D10_TEX2DMS_SRV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_SRV;
+typedef struct D3D10_TEX2DMS_ARRAY_SRV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_SRV;
+typedef struct D3D10_TEX3D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX3D_SRV;
+typedef struct D3D10_TEXCUBE_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEXCUBE_SRV;
+typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_SRV_DIMENSION ViewDimension;
+ union {
+ D3D10_BUFFER_SRV Buffer;
+ D3D10_TEX1D_SRV Texture1D;
+ D3D10_TEX1D_ARRAY_SRV Texture1DArray;
+ D3D10_TEX2D_SRV Texture2D;
+ D3D10_TEX2D_ARRAY_SRV Texture2DArray;
+ D3D10_TEX2DMS_SRV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
+ D3D10_TEX3D_SRV Texture3D;
+ D3D10_TEXCUBE_SRV TextureCube;
+ } DUMMYUNIONNAME;
+} D3D10_SHADER_RESOURCE_VIEW_DESC;
+typedef struct D3D10_BOX {
+ UINT left;
+ UINT top;
+ UINT front;
+ UINT right;
+ UINT bottom;
+ UINT back;
+} D3D10_BOX;
+typedef struct D3D10_SUBRESOURCE_DATA {
+ const void *pSysMem;
+ UINT SysMemPitch;
+ UINT SysMemSlicePitch;
+} D3D10_SUBRESOURCE_DATA;
+typedef struct D3D10_SO_DECLARATION_ENTRY {
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ BYTE StartComponent;
+ BYTE ComponentCount;
+ BYTE OutputSlot;
+} D3D10_SO_DECLARATION_ENTRY;
+typedef enum D3D10_INPUT_CLASSIFICATION {
+ D3D10_INPUT_PER_VERTEX_DATA = 0,
+ D3D10_INPUT_PER_INSTANCE_DATA = 1
+} D3D10_INPUT_CLASSIFICATION;
+typedef struct D3D10_INPUT_ELEMENT_DESC {
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ DXGI_FORMAT Format;
+ UINT InputSlot;
+ UINT AlignedByteOffset;
+ D3D10_INPUT_CLASSIFICATION InputSlotClass;
+ UINT InstanceDataStepRate;
+} D3D10_INPUT_ELEMENT_DESC;
+typedef enum D3D10_QUERY {
+ D3D10_QUERY_EVENT = 0,
+ D3D10_QUERY_OCCLUSION = 1,
+ D3D10_QUERY_TIMESTAMP = 2,
+ D3D10_QUERY_TIMESTAMP_DISJOINT = 3,
+ D3D10_QUERY_PIPELINE_STATISTICS = 4,
+ D3D10_QUERY_OCCLUSION_PREDICATE = 5,
+ D3D10_QUERY_SO_STATISTICS = 6,
+ D3D10_QUERY_SO_OVERFLOW_PREDICATE = 7
+} D3D10_QUERY;
+typedef struct D3D10_QUERY_DESC {
+ D3D10_QUERY Query;
+ UINT MiscFlags;
+} D3D10_QUERY_DESC;
+typedef enum D3D10_PRIMITIVE_TOPOLOGY {
+ D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
+ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
+ D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
+ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
+ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
+ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
+} D3D10_PRIMITIVE_TOPOLOGY;
+typedef RECT D3D10_RECT;
+typedef struct D3D10_VIEWPORT {
+ INT TopLeftX;
+ INT TopLeftY;
+ UINT Width;
+ UINT Height;
+ FLOAT MinDepth;
+ FLOAT MaxDepth;
+} D3D10_VIEWPORT;
+typedef struct D3D10_MAPPED_TEXTURE2D {
+ void *pData;
+ UINT RowPitch;
+} D3D10_MAPPED_TEXTURE2D;
+typedef struct D3D10_MAPPED_TEXTURE3D {
+ void *pData;
+ UINT RowPitch;
+ UINT DepthPitch;
+} D3D10_MAPPED_TEXTURE3D;
+typedef enum D3D10_BIND_FLAG {
+ D3D10_BIND_VERTEX_BUFFER = 0x1,
+ D3D10_BIND_INDEX_BUFFER = 0x2,
+ D3D10_BIND_CONSTANT_BUFFER = 0x4,
+ D3D10_BIND_SHADER_RESOURCE = 0x8,
+ D3D10_BIND_STREAM_OUTPUT = 0x10,
+ D3D10_BIND_RENDER_TARGET = 0x20,
+ D3D10_BIND_DEPTH_STENCIL = 0x40
+} D3D10_BIND_FLAG;
+typedef enum D3D10_CPU_ACCESS_FLAG {
+ D3D10_CPU_ACCESS_WRITE = 0x10000,
+ D3D10_CPU_ACCESS_READ = 0x20000
+} D3D10_CPU_ACCESS_FLAG;
+typedef enum D3D10_RESOURCE_MISC_FLAG {
+ D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
+ D3D10_RESOURCE_MISC_SHARED = 0x2,
+ D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
+} D3D10_RESOURCE_MISC_FLAG;
+typedef enum D3D10_MAP_FLAG {
+ D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000
+} D3D10_MAP_FLAG;
+typedef enum D3D10_CLEAR_FLAG {
+ D3D10_CLEAR_DEPTH = 0x1,
+ D3D10_CLEAR_STENCIL = 0x2
+} D3D10_CLEAR_FLAG;
+typedef enum D3D10_COLOR_WRITE_ENABLE {
+ D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
+ D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
+ D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
+ D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
+ D3D10_COLOR_WRITE_ENABLE_ALL = ((D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN) | D3D10_COLOR_WRITE_ENABLE_BLUE) | D3D10_COLOR_WRITE_ENABLE_ALPHA
+} D3D10_COLOR_WRITE_ENABLE;
+typedef enum D3D10_TEXTURECUBE_FACE {
+ D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1,
+ D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
+ D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
+} D3D10_TEXTURECUBE_FACE;
+typedef enum D3D10_ASYNC_GETDATA_FLAG {
+ D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1
+} D3D10_ASYNC_GETDATA_FLAG;
+typedef enum D3D10_FILTER_TYPE {
+ D3D10_FILTER_TYPE_POINT = 0,
+ D3D10_FILTER_TYPE_LINEAR = 1
+} D3D10_FILTER_TYPE;
+typedef enum D3D10_QUERY_MISC_FLAG {
+ D3D10_QUERY_MISC_PREDICATEHINT = 0x1
+} D3D10_QUERY_MISC_FLAG;
+typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
+ UINT64 Frequency;
+ BOOL Disjoint;
+} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
+typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
+ UINT64 IAVertices;
+ UINT64 IAPrimitives;
+ UINT64 VSInvocations;
+ UINT64 GSInvocations;
+ UINT64 GSPrimitives;
+ UINT64 CInvocations;
+ UINT64 CPrimitives;
+ UINT64 PSInvocations;
+} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
+typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
+ UINT64 NumPrimitivesWritten;
+ UINT64 PrimitivesStorageNeeded;
+} D3D10_QUERY_DATA_SO_STATISTICS;
+typedef enum D3D10_CREATE_DEVICE_FLAG {
+ D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
+ D3D10_CREATE_DEVICE_DEBUG = 0x2,
+ D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
+ D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
+} D3D10_CREATE_DEVICE_FLAG;
+#ifndef __ID3D10Device_FWD_DEFINED__
+#define __ID3D10Device_FWD_DEFINED__
+typedef interface ID3D10Device ID3D10Device;
+#endif
+
+/*****************************************************************************
+ * ID3D10DeviceChild interface
+ */
+#ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
+#define __ID3D10DeviceChild_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10DeviceChild, 0x9b7e4c00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10DeviceChild : public IUnknown
+{
+ virtual void STDMETHODCALLTYPE GetDevice(
+ ID3D10Device **ppDevice) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown *pData) = 0;
+
+};
+#else
+typedef struct ID3D10DeviceChildVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10DeviceChild* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10DeviceChild* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10DeviceChild* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10DeviceChild* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D10DeviceChildVtbl;
+interface ID3D10DeviceChild {
+ CONST_VTBL ID3D10DeviceChildVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10DeviceChild_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10DeviceChild_GetDevice_Proxy(
+ ID3D10DeviceChild* This,
+ ID3D10Device **ppDevice);
+void __RPC_STUB ID3D10DeviceChild_GetDevice_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_GetPrivateData_Proxy(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+void __RPC_STUB ID3D10DeviceChild_GetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateData_Proxy(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+void __RPC_STUB ID3D10DeviceChild_SetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10DeviceChild_SetPrivateDataInterface_Proxy(
+ ID3D10DeviceChild* This,
+ REFGUID guid,
+ const IUnknown *pData);
+void __RPC_STUB ID3D10DeviceChild_SetPrivateDataInterface_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Resource interface
+ */
+#ifndef __ID3D10Resource_INTERFACE_DEFINED__
+#define __ID3D10Resource_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Resource, 0x9b7e4c01, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Resource : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetType(
+ D3D10_RESOURCE_DIMENSION *rType) = 0;
+
+ virtual void STDMETHODCALLTYPE SetEvictionPriority(
+ UINT EvictionPriority) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
+ ) = 0;
+
+};
+#else
+typedef struct ID3D10ResourceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Resource* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Resource* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Resource* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Resource* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Resource* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Resource* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Resource* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D10Resource* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D10Resource* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D10Resource* This);
+
+ END_INTERFACE
+} ID3D10ResourceVtbl;
+interface ID3D10Resource {
+ CONST_VTBL ID3D10ResourceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Resource_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Resource methods ***/
+#define ID3D10Resource_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
+#define ID3D10Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D10Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Resource_GetType_Proxy(
+ ID3D10Resource* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+void __RPC_STUB ID3D10Resource_GetType_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Resource_SetEvictionPriority_Proxy(
+ ID3D10Resource* This,
+ UINT EvictionPriority);
+void __RPC_STUB ID3D10Resource_SetEvictionPriority_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D10Resource_GetEvictionPriority_Proxy(
+ ID3D10Resource* This);
+void __RPC_STUB ID3D10Resource_GetEvictionPriority_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Resource_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Buffer interface
+ */
+#ifndef __ID3D10Buffer_INTERFACE_DEFINED__
+#define __ID3D10Buffer_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Buffer, 0x9b7e4c02, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Buffer : public ID3D10Resource
+{
+ virtual HRESULT STDMETHODCALLTYPE Map(
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData) = 0;
+
+ virtual void STDMETHODCALLTYPE Unmap(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_BUFFER_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10BufferVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Buffer* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Buffer* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Buffer* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Buffer* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Buffer* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Buffer* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Buffer* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D10Buffer* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D10Buffer* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D10Buffer* This);
+
+ /*** ID3D10Buffer methods ***/
+ HRESULT (STDMETHODCALLTYPE *Map)(
+ ID3D10Buffer* This,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData);
+
+ void (STDMETHODCALLTYPE *Unmap)(
+ ID3D10Buffer* This);
+
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Buffer* This,
+ D3D10_BUFFER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10BufferVtbl;
+interface ID3D10Buffer {
+ CONST_VTBL ID3D10BufferVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Buffer_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Resource methods ***/
+#define ID3D10Buffer_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
+#define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D10Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D10Buffer methods ***/
+#define ID3D10Buffer_Map(This,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,MapType,MapFlags,ppData)
+#define ID3D10Buffer_Unmap(This) (This)->lpVtbl->Unmap(This)
+#define ID3D10Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D10Buffer_Map_Proxy(
+ ID3D10Buffer* This,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData);
+void __RPC_STUB ID3D10Buffer_Map_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Buffer_Unmap_Proxy(
+ ID3D10Buffer* This);
+void __RPC_STUB ID3D10Buffer_Unmap_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Buffer_GetDesc_Proxy(
+ ID3D10Buffer* This,
+ D3D10_BUFFER_DESC *pDesc);
+void __RPC_STUB ID3D10Buffer_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Buffer_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Texture1D interface
+ */
+#ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
+#define __ID3D10Texture1D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Texture1D, 0x9b7e4c03, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Texture1D : public ID3D10Resource
+{
+ virtual HRESULT STDMETHODCALLTYPE Map(
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData) = 0;
+
+ virtual void STDMETHODCALLTYPE Unmap(
+ UINT Subresource) = 0;
+
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_TEXTURE1D_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10Texture1DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Texture1D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Texture1D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Texture1D* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Texture1D* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Texture1D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Texture1D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Texture1D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D10Texture1D* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D10Texture1D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D10Texture1D* This);
+
+ /*** ID3D10Texture1D methods ***/
+ HRESULT (STDMETHODCALLTYPE *Map)(
+ ID3D10Texture1D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData);
+
+ void (STDMETHODCALLTYPE *Unmap)(
+ ID3D10Texture1D* This,
+ UINT Subresource);
+
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Texture1D* This,
+ D3D10_TEXTURE1D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10Texture1DVtbl;
+interface ID3D10Texture1D {
+ CONST_VTBL ID3D10Texture1DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Texture1D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Resource methods ***/
+#define ID3D10Texture1D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
+#define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D10Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D10Texture1D methods ***/
+#define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,ppData)
+#define ID3D10Texture1D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
+#define ID3D10Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D10Texture1D_Map_Proxy(
+ ID3D10Texture1D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ void **ppData);
+void __RPC_STUB ID3D10Texture1D_Map_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture1D_Unmap_Proxy(
+ ID3D10Texture1D* This,
+ UINT Subresource);
+void __RPC_STUB ID3D10Texture1D_Unmap_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture1D_GetDesc_Proxy(
+ ID3D10Texture1D* This,
+ D3D10_TEXTURE1D_DESC *pDesc);
+void __RPC_STUB ID3D10Texture1D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Texture2D interface
+ */
+#ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
+#define __ID3D10Texture2D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Texture2D, 0x9b7e4c04, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Texture2D : public ID3D10Resource
+{
+ virtual HRESULT STDMETHODCALLTYPE Map(
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
+
+ virtual void STDMETHODCALLTYPE Unmap(
+ UINT Subresource) = 0;
+
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_TEXTURE2D_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10Texture2DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Texture2D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Texture2D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Texture2D* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Texture2D* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Texture2D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Texture2D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Texture2D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D10Texture2D* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D10Texture2D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D10Texture2D* This);
+
+ /*** ID3D10Texture2D methods ***/
+ HRESULT (STDMETHODCALLTYPE *Map)(
+ ID3D10Texture2D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
+
+ void (STDMETHODCALLTYPE *Unmap)(
+ ID3D10Texture2D* This,
+ UINT Subresource);
+
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Texture2D* This,
+ D3D10_TEXTURE2D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10Texture2DVtbl;
+interface ID3D10Texture2D {
+ CONST_VTBL ID3D10Texture2DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Texture2D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Resource methods ***/
+#define ID3D10Texture2D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
+#define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D10Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D10Texture2D methods ***/
+#define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex2D)
+#define ID3D10Texture2D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
+#define ID3D10Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D10Texture2D_Map_Proxy(
+ ID3D10Texture2D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
+void __RPC_STUB ID3D10Texture2D_Map_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture2D_Unmap_Proxy(
+ ID3D10Texture2D* This,
+ UINT Subresource);
+void __RPC_STUB ID3D10Texture2D_Unmap_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture2D_GetDesc_Proxy(
+ ID3D10Texture2D* This,
+ D3D10_TEXTURE2D_DESC *pDesc);
+void __RPC_STUB ID3D10Texture2D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Texture3D interface
+ */
+#ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
+#define __ID3D10Texture3D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Texture3D, 0x9b7e4c05, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Texture3D : public ID3D10Resource
+{
+ virtual HRESULT STDMETHODCALLTYPE Map(
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
+
+ virtual void STDMETHODCALLTYPE Unmap(
+ UINT Subresource) = 0;
+
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_TEXTURE3D_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10Texture3DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Texture3D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Texture3D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Texture3D* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Texture3D* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Texture3D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Texture3D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Texture3D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D10Texture3D* This,
+ D3D10_RESOURCE_DIMENSION *rType);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D10Texture3D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D10Texture3D* This);
+
+ /*** ID3D10Texture3D methods ***/
+ HRESULT (STDMETHODCALLTYPE *Map)(
+ ID3D10Texture3D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
+
+ void (STDMETHODCALLTYPE *Unmap)(
+ ID3D10Texture3D* This,
+ UINT Subresource);
+
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Texture3D* This,
+ D3D10_TEXTURE3D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10Texture3DVtbl;
+interface ID3D10Texture3D {
+ CONST_VTBL ID3D10Texture3DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Texture3D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Resource methods ***/
+#define ID3D10Texture3D_GetType(This,rType) (This)->lpVtbl->GetType(This,rType)
+#define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D10Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D10Texture3D methods ***/
+#define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D) (This)->lpVtbl->Map(This,Subresource,MapType,MapFlags,pMappedTex3D)
+#define ID3D10Texture3D_Unmap(This,Subresource) (This)->lpVtbl->Unmap(This,Subresource)
+#define ID3D10Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D10Texture3D_Map_Proxy(
+ ID3D10Texture3D* This,
+ UINT Subresource,
+ D3D10_MAP MapType,
+ UINT MapFlags,
+ D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
+void __RPC_STUB ID3D10Texture3D_Map_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture3D_Unmap_Proxy(
+ ID3D10Texture3D* This,
+ UINT Subresource);
+void __RPC_STUB ID3D10Texture3D_Unmap_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Texture3D_GetDesc_Proxy(
+ ID3D10Texture3D* This,
+ D3D10_TEXTURE3D_DESC *pDesc);
+void __RPC_STUB ID3D10Texture3D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10View interface
+ */
+#ifndef __ID3D10View_INTERFACE_DEFINED__
+#define __ID3D10View_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10View, 0xc902b03f, 0x60a7, 0x49ba, 0x99,0x36, 0x2a,0x3a,0xb3,0x7a,0x7e,0x33);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10View : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetResource(
+ ID3D10Resource **ppResource) = 0;
+
+};
+#else
+typedef struct ID3D10ViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10View* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10View* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10View* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10View* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10View* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10View* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10View* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D10View* This,
+ ID3D10Resource **ppResource);
+
+ END_INTERFACE
+} ID3D10ViewVtbl;
+interface ID3D10View {
+ CONST_VTBL ID3D10ViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10View_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10View_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10View methods ***/
+#define ID3D10View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10View_GetResource_Proxy(
+ ID3D10View* This,
+ ID3D10Resource **ppResource);
+void __RPC_STUB ID3D10View_GetResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10View_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10DepthStencilView interface
+ */
+#ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
+#define __ID3D10DepthStencilView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10DepthStencilView, 0x9b7e4c09, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10DepthStencilView : public ID3D10View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10DepthStencilViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10DepthStencilView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10DepthStencilView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10DepthStencilView* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10DepthStencilView* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10DepthStencilView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10DepthStencilView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10DepthStencilView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D10DepthStencilView* This,
+ ID3D10Resource **ppResource);
+
+ /*** ID3D10DepthStencilView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10DepthStencilView* This,
+ D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10DepthStencilViewVtbl;
+interface ID3D10DepthStencilView {
+ CONST_VTBL ID3D10DepthStencilViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10View methods ***/
+#define ID3D10DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D10DepthStencilView methods ***/
+#define ID3D10DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10DepthStencilView_GetDesc_Proxy(
+ ID3D10DepthStencilView* This,
+ D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D10DepthStencilView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10RenderTargetView interface
+ */
+#ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
+#define __ID3D10RenderTargetView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10RenderTargetView, 0x9b7e4c08, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10RenderTargetView : public ID3D10View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10RenderTargetViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10RenderTargetView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10RenderTargetView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10RenderTargetView* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10RenderTargetView* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10RenderTargetView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10RenderTargetView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10RenderTargetView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D10RenderTargetView* This,
+ ID3D10Resource **ppResource);
+
+ /*** ID3D10RenderTargetView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10RenderTargetView* This,
+ D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10RenderTargetViewVtbl;
+interface ID3D10RenderTargetView {
+ CONST_VTBL ID3D10RenderTargetViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10View methods ***/
+#define ID3D10RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D10RenderTargetView methods ***/
+#define ID3D10RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10RenderTargetView_GetDesc_Proxy(
+ ID3D10RenderTargetView* This,
+ D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D10RenderTargetView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10ShaderResourceView interface
+ */
+#ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
+#define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10ShaderResourceView, 0x9b7e4c07, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10ShaderResourceView : public ID3D10View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10ShaderResourceViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10ShaderResourceView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10ShaderResourceView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10ShaderResourceView* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10ShaderResourceView* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10ShaderResourceView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10ShaderResourceView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10ShaderResourceView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D10ShaderResourceView* This,
+ ID3D10Resource **ppResource);
+
+ /*** ID3D10ShaderResourceView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10ShaderResourceView* This,
+ D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10ShaderResourceViewVtbl;
+interface ID3D10ShaderResourceView {
+ CONST_VTBL ID3D10ShaderResourceViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10View methods ***/
+#define ID3D10ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D10ShaderResourceView methods ***/
+#define ID3D10ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10ShaderResourceView_GetDesc_Proxy(
+ ID3D10ShaderResourceView* This,
+ D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D10ShaderResourceView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10BlendState interface
+ */
+#ifndef __ID3D10BlendState_INTERFACE_DEFINED__
+#define __ID3D10BlendState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10BlendState, 0xedad8d19, 0x8a35, 0x4d6d, 0x85,0x66, 0x2e,0xa2,0x76,0xcd,0xe1,0x61);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10BlendState : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_BLEND_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10BlendStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10BlendState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10BlendState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10BlendState* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10BlendState* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10BlendState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10BlendState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10BlendState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10BlendState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10BlendState* This,
+ D3D10_BLEND_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10BlendStateVtbl;
+interface ID3D10BlendState {
+ CONST_VTBL ID3D10BlendStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10BlendState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10BlendState methods ***/
+#define ID3D10BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10BlendState_GetDesc_Proxy(
+ ID3D10BlendState* This,
+ D3D10_BLEND_DESC *pDesc);
+void __RPC_STUB ID3D10BlendState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10BlendState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10DepthStencilState interface
+ */
+#ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
+#define __ID3D10DepthStencilState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10DepthStencilState, 0x2b4b1cc8, 0xa4ad, 0x41f8, 0x83,0x22, 0xca,0x86,0xfc,0x3e,0xc6,0x75);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10DepthStencilState : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10DepthStencilStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10DepthStencilState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10DepthStencilState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10DepthStencilState* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10DepthStencilState* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10DepthStencilState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10DepthStencilState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10DepthStencilState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10DepthStencilState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10DepthStencilState* This,
+ D3D10_DEPTH_STENCIL_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10DepthStencilStateVtbl;
+interface ID3D10DepthStencilState {
+ CONST_VTBL ID3D10DepthStencilStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10DepthStencilState methods ***/
+#define ID3D10DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10DepthStencilState_GetDesc_Proxy(
+ ID3D10DepthStencilState* This,
+ D3D10_DEPTH_STENCIL_DESC *pDesc);
+void __RPC_STUB ID3D10DepthStencilState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10GeometryShader interface
+ */
+#ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
+#define __ID3D10GeometryShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10GeometryShader, 0x6316be88, 0x54cd, 0x4040, 0xab,0x44, 0x20,0x46,0x1b,0xc8,0x1f,0x68);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10GeometryShader : public ID3D10DeviceChild
+{
+};
+#else
+typedef struct ID3D10GeometryShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10GeometryShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10GeometryShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10GeometryShader* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10GeometryShader* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10GeometryShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10GeometryShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10GeometryShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D10GeometryShaderVtbl;
+interface ID3D10GeometryShader {
+ CONST_VTBL ID3D10GeometryShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10GeometryShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#endif
+
+#endif
+
+
+#endif /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10InputLayout interface
+ */
+#ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
+#define __ID3D10InputLayout_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10InputLayout, 0x9b7e4c0b, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10InputLayout : public ID3D10DeviceChild
+{
+};
+#else
+typedef struct ID3D10InputLayoutVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10InputLayout* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10InputLayout* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10InputLayout* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10InputLayout* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10InputLayout* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10InputLayout* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10InputLayout* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D10InputLayoutVtbl;
+interface ID3D10InputLayout {
+ CONST_VTBL ID3D10InputLayoutVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10InputLayout_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#endif
+
+#endif
+
+
+#endif /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10PixelShader interface
+ */
+#ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
+#define __ID3D10PixelShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10PixelShader, 0x4968b601, 0x9d00, 0x4cde, 0x83,0x46, 0x8e,0x7f,0x67,0x58,0x19,0xb6);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10PixelShader : public ID3D10DeviceChild
+{
+};
+#else
+typedef struct ID3D10PixelShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10PixelShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10PixelShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10PixelShader* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10PixelShader* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10PixelShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10PixelShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10PixelShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D10PixelShaderVtbl;
+interface ID3D10PixelShader {
+ CONST_VTBL ID3D10PixelShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10PixelShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#endif
+
+#endif
+
+
+#endif /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10RasterizerState interface
+ */
+#ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
+#define __ID3D10RasterizerState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10RasterizerState, 0xa2a07292, 0x89af, 0x4345, 0xbe,0x2e, 0xc5,0x3d,0x9f,0xbb,0x6e,0x9f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10RasterizerState : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_RASTERIZER_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10RasterizerStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10RasterizerState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10RasterizerState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10RasterizerState* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10RasterizerState* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10RasterizerState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10RasterizerState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10RasterizerState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10RasterizerState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10RasterizerState* This,
+ D3D10_RASTERIZER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10RasterizerStateVtbl;
+interface ID3D10RasterizerState {
+ CONST_VTBL ID3D10RasterizerStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10RasterizerState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10RasterizerState methods ***/
+#define ID3D10RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10RasterizerState_GetDesc_Proxy(
+ ID3D10RasterizerState* This,
+ D3D10_RASTERIZER_DESC *pDesc);
+void __RPC_STUB ID3D10RasterizerState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10SamplerState interface
+ */
+#ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
+#define __ID3D10SamplerState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10SamplerState, 0x9b7e4c0c, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10SamplerState : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_SAMPLER_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10SamplerStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10SamplerState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10SamplerState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10SamplerState* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10SamplerState* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10SamplerState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10SamplerState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10SamplerState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10SamplerState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10SamplerState* This,
+ D3D10_SAMPLER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10SamplerStateVtbl;
+interface ID3D10SamplerState {
+ CONST_VTBL ID3D10SamplerStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10SamplerState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10SamplerState methods ***/
+#define ID3D10SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10SamplerState_GetDesc_Proxy(
+ ID3D10SamplerState* This,
+ D3D10_SAMPLER_DESC *pDesc);
+void __RPC_STUB ID3D10SamplerState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10VertexShader interface
+ */
+#ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
+#define __ID3D10VertexShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10VertexShader, 0x9b7e4c0a, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10VertexShader : public ID3D10DeviceChild
+{
+};
+#else
+typedef struct ID3D10VertexShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10VertexShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10VertexShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10VertexShader* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10VertexShader* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10VertexShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10VertexShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10VertexShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D10VertexShaderVtbl;
+interface ID3D10VertexShader {
+ CONST_VTBL ID3D10VertexShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10VertexShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#endif
+
+#endif
+
+
+#endif /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Asynchronous interface
+ */
+#ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
+#define __ID3D10Asynchronous_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Asynchronous, 0x9b7e4c0d, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Asynchronous : public ID3D10DeviceChild
+{
+ virtual void STDMETHODCALLTYPE Begin(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE End(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetData(
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetDataSize(
+ ) = 0;
+
+};
+#else
+typedef struct ID3D10AsynchronousVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Asynchronous* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Asynchronous* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Asynchronous* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Asynchronous* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Asynchronous* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Asynchronous* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Asynchronous* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Asynchronous methods ***/
+ void (STDMETHODCALLTYPE *Begin)(
+ ID3D10Asynchronous* This);
+
+ void (STDMETHODCALLTYPE *End)(
+ ID3D10Asynchronous* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetData)(
+ ID3D10Asynchronous* This,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D10Asynchronous* This);
+
+ END_INTERFACE
+} ID3D10AsynchronousVtbl;
+interface ID3D10Asynchronous {
+ CONST_VTBL ID3D10AsynchronousVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Asynchronous_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Asynchronous methods ***/
+#define ID3D10Asynchronous_Begin(This) (This)->lpVtbl->Begin(This)
+#define ID3D10Asynchronous_End(This) (This)->lpVtbl->End(This)
+#define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
+#define ID3D10Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Asynchronous_Begin_Proxy(
+ ID3D10Asynchronous* This);
+void __RPC_STUB ID3D10Asynchronous_Begin_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Asynchronous_End_Proxy(
+ ID3D10Asynchronous* This);
+void __RPC_STUB ID3D10Asynchronous_End_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Asynchronous_GetData_Proxy(
+ ID3D10Asynchronous* This,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+void __RPC_STUB ID3D10Asynchronous_GetData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D10Asynchronous_GetDataSize_Proxy(
+ ID3D10Asynchronous* This);
+void __RPC_STUB ID3D10Asynchronous_GetDataSize_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Counter interface
+ */
+#ifndef __ID3D10Counter_INTERFACE_DEFINED__
+#define __ID3D10Counter_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Counter, 0x9b7e4c11, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Counter : public ID3D10Asynchronous
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_COUNTER_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10CounterVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Counter* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Counter* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Counter* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Counter* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Counter* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Counter* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Counter* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Asynchronous methods ***/
+ void (STDMETHODCALLTYPE *Begin)(
+ ID3D10Counter* This);
+
+ void (STDMETHODCALLTYPE *End)(
+ ID3D10Counter* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetData)(
+ ID3D10Counter* This,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D10Counter* This);
+
+ /*** ID3D10Counter methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Counter* This,
+ D3D10_COUNTER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10CounterVtbl;
+interface ID3D10Counter {
+ CONST_VTBL ID3D10CounterVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Counter_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Asynchronous methods ***/
+#define ID3D10Counter_Begin(This) (This)->lpVtbl->Begin(This)
+#define ID3D10Counter_End(This) (This)->lpVtbl->End(This)
+#define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
+#define ID3D10Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D10Counter methods ***/
+#define ID3D10Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Counter_GetDesc_Proxy(
+ ID3D10Counter* This,
+ D3D10_COUNTER_DESC *pDesc);
+void __RPC_STUB ID3D10Counter_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Counter_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Query interface
+ */
+#ifndef __ID3D10Query_INTERFACE_DEFINED__
+#define __ID3D10Query_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Query, 0x9b7e4c0e, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Query : public ID3D10Asynchronous
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D10_QUERY_DESC *pDesc) = 0;
+
+};
+#else
+typedef struct ID3D10QueryVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Query* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Query* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Query* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Query* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Query* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Query* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Query* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Asynchronous methods ***/
+ void (STDMETHODCALLTYPE *Begin)(
+ ID3D10Query* This);
+
+ void (STDMETHODCALLTYPE *End)(
+ ID3D10Query* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetData)(
+ ID3D10Query* This,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D10Query* This);
+
+ /*** ID3D10Query methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Query* This,
+ D3D10_QUERY_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10QueryVtbl;
+interface ID3D10Query {
+ CONST_VTBL ID3D10QueryVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Query_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Query_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Asynchronous methods ***/
+#define ID3D10Query_Begin(This) (This)->lpVtbl->Begin(This)
+#define ID3D10Query_End(This) (This)->lpVtbl->End(This)
+#define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
+#define ID3D10Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D10Query methods ***/
+#define ID3D10Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Query_GetDesc_Proxy(
+ ID3D10Query* This,
+ D3D10_QUERY_DESC *pDesc);
+void __RPC_STUB ID3D10Query_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Query_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Predicate interface
+ */
+#ifndef __ID3D10Predicate_INTERFACE_DEFINED__
+#define __ID3D10Predicate_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Predicate, 0x9b7e4c10, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Predicate : public ID3D10Query
+{
+};
+#else
+typedef struct ID3D10PredicateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Predicate* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Predicate* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Predicate* This);
+
+ /*** ID3D10DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D10Predicate* This,
+ ID3D10Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Predicate* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Predicate* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Predicate* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D10Asynchronous methods ***/
+ void (STDMETHODCALLTYPE *Begin)(
+ ID3D10Predicate* This);
+
+ void (STDMETHODCALLTYPE *End)(
+ ID3D10Predicate* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetData)(
+ ID3D10Predicate* This,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D10Predicate* This);
+
+ /*** ID3D10Query methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D10Predicate* This,
+ D3D10_QUERY_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D10PredicateVtbl;
+interface ID3D10Predicate {
+ CONST_VTBL ID3D10PredicateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Predicate_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10DeviceChild methods ***/
+#define ID3D10Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D10Asynchronous methods ***/
+#define ID3D10Predicate_Begin(This) (This)->lpVtbl->Begin(This)
+#define ID3D10Predicate_End(This) (This)->lpVtbl->End(This)
+#define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pData,DataSize,GetDataFlags)
+#define ID3D10Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D10Query methods ***/
+#define ID3D10Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#endif
+
+#endif
+
+
+#endif /* __ID3D10Predicate_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Device interface
+ */
+#ifndef __ID3D10Device_INTERFACE_DEFINED__
+#define __ID3D10Device_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Device, 0x9b7e4c0f, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Device : public IUnknown
+{
+ virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetShader(
+ ID3D10PixelShader *pPixelShader) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetShader(
+ ID3D10VertexShader *pVertexShader) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawIndexed(
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE Draw(
+ UINT VertexCount,
+ UINT StartVertexLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetInputLayout(
+ ID3D10InputLayout *pInputLayout) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetIndexBuffer(
+ ID3D10Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawInstanced(
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetShader(
+ ID3D10GeometryShader *pShader) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
+ D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE SetPredication(
+ ID3D10Predicate *pPredicate,
+ BOOL PredicateValue) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetRenderTargets(
+ UINT NumViews,
+ ID3D10RenderTargetView *const *ppRenderTargetViews,
+ ID3D10DepthStencilView *pDepthStencilView) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetBlendState(
+ ID3D10BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
+ ID3D10DepthStencilState *pDepthStencilState,
+ UINT StencilRef) = 0;
+
+ virtual void STDMETHODCALLTYPE SOSetTargets(
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppSOTargets,
+ const UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawAuto(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetState(
+ ID3D10RasterizerState *pRasterizerState) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetViewports(
+ UINT NumViewports,
+ const D3D10_VIEWPORT *pViewports) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetScissorRects(
+ UINT NumRects,
+ const D3D10_RECT *pRects) = 0;
+
+ virtual void STDMETHODCALLTYPE CopySubresourceRegion(
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D10_BOX *pSrcBox) = 0;
+
+ virtual void STDMETHODCALLTYPE CopyResource(
+ ID3D10Resource *pDstResource,
+ ID3D10Resource *pSrcResource) = 0;
+
+ virtual void STDMETHODCALLTYPE UpdateSubresource(
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D10_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearRenderTargetView(
+ ID3D10RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearDepthStencilView(
+ ID3D10DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil) = 0;
+
+ virtual void STDMETHODCALLTYPE GenerateMips(
+ ID3D10ShaderResourceView *pShaderResourceView) = 0;
+
+ virtual void STDMETHODCALLTYPE ResolveSubresource(
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetShader(
+ ID3D10PixelShader **ppPixelShader) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetShader(
+ ID3D10VertexShader **ppVertexShader) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetInputLayout(
+ ID3D10InputLayout **ppInputLayout) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
+ ID3D10Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetShader(
+ ID3D10GeometryShader **ppGeometryShader) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
+ D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE GetPredication(
+ ID3D10Predicate **ppPredicate,
+ BOOL *pPredicateValue) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetRenderTargets(
+ UINT NumViews,
+ ID3D10RenderTargetView **ppRenderTargetViews,
+ ID3D10DepthStencilView **ppDepthStencilView) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetBlendState(
+ ID3D10BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
+ ID3D10DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef) = 0;
+
+ virtual void STDMETHODCALLTYPE SOGetTargets(
+ UINT NumBuffers,
+ ID3D10Buffer **ppSOTargets,
+ UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetState(
+ ID3D10RasterizerState **ppRasterizerState) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetViewports(
+ UINT *NumViewports,
+ D3D10_VIEWPORT *pViewports) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetScissorRects(
+ UINT *NumRects,
+ D3D10_RECT *pRects) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
+ UINT RaiseFlags) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetExceptionMode(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown *pData) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearState(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE Flush(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
+ const D3D10_BUFFER_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Buffer **ppBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
+ const D3D10_TEXTURE1D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture1D **ppTexture1D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
+ const D3D10_TEXTURE2D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture2D **ppTexture2D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
+ const D3D10_TEXTURE3D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture3D **ppTexture3D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
+ ID3D10Resource *pResource,
+ const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D10ShaderResourceView **ppSRView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
+ ID3D10Resource *pResource,
+ const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D10RenderTargetView **ppRTView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
+ ID3D10Resource *pResource,
+ const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D10DepthStencilView **ppDepthStencilView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
+ const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D10InputLayout **ppInputLayout) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10VertexShader **ppVertexShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10GeometryShader **ppGeometryShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ UINT OutputStreamStride,
+ ID3D10GeometryShader **ppGeometryShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10PixelShader **ppPixelShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
+ const D3D10_BLEND_DESC *pBlendStateDesc,
+ ID3D10BlendState **ppBlendState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
+ const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D10DepthStencilState **ppDepthStencilState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
+ const D3D10_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D10RasterizerState **ppRasterizerState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
+ const D3D10_SAMPLER_DESC *pSamplerDesc,
+ ID3D10SamplerState **ppSamplerState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateQuery(
+ const D3D10_QUERY_DESC *pQueryDesc,
+ ID3D10Query **ppQuery) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
+ const D3D10_QUERY_DESC *pPredicateDesc,
+ ID3D10Predicate **ppPredicate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateCounter(
+ const D3D10_COUNTER_DESC *pCounterDesc,
+ ID3D10Counter **ppCounter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels) = 0;
+
+ virtual void STDMETHODCALLTYPE CheckCounterInfo(
+ D3D10_COUNTER_INFO *pCounterInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckCounter(
+ const D3D10_COUNTER_DESC *pDesc,
+ D3D10_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetCreationFlags(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource) = 0;
+
+ virtual void STDMETHODCALLTYPE SetTextFilterSize(
+ UINT Width,
+ UINT Height) = 0;
+
+ virtual void STDMETHODCALLTYPE GetTextFilterSize(
+ UINT *pWidth,
+ UINT *pHeight) = 0;
+
+};
+#else
+typedef struct ID3D10DeviceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Device* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Device* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Device* This);
+
+ /*** ID3D10Device methods ***/
+ void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *PSSetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *PSSetShader)(
+ ID3D10Device* This,
+ ID3D10PixelShader *pPixelShader);
+
+ void (STDMETHODCALLTYPE *PSSetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *VSSetShader)(
+ ID3D10Device* This,
+ ID3D10VertexShader *pVertexShader);
+
+ void (STDMETHODCALLTYPE *DrawIndexed)(
+ ID3D10Device* This,
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation);
+
+ void (STDMETHODCALLTYPE *Draw)(
+ ID3D10Device* This,
+ UINT VertexCount,
+ UINT StartVertexLocation);
+
+ void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *IASetInputLayout)(
+ ID3D10Device* This,
+ ID3D10InputLayout *pInputLayout);
+
+ void (STDMETHODCALLTYPE *IASetVertexBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *IASetIndexBuffer)(
+ ID3D10Device* This,
+ ID3D10Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset);
+
+ void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
+ ID3D10Device* This,
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation);
+
+ void (STDMETHODCALLTYPE *DrawInstanced)(
+ ID3D10Device* This,
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation);
+
+ void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *GSSetShader)(
+ ID3D10Device* This,
+ ID3D10GeometryShader *pShader);
+
+ void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
+ ID3D10Device* This,
+ D3D10_PRIMITIVE_TOPOLOGY Topology);
+
+ void (STDMETHODCALLTYPE *VSSetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *VSSetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *SetPredication)(
+ ID3D10Device* This,
+ ID3D10Predicate *pPredicate,
+ BOOL PredicateValue);
+
+ void (STDMETHODCALLTYPE *GSSetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *GSSetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *OMSetRenderTargets)(
+ ID3D10Device* This,
+ UINT NumViews,
+ ID3D10RenderTargetView *const *ppRenderTargetViews,
+ ID3D10DepthStencilView *pDepthStencilView);
+
+ void (STDMETHODCALLTYPE *OMSetBlendState)(
+ ID3D10Device* This,
+ ID3D10BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask);
+
+ void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
+ ID3D10Device* This,
+ ID3D10DepthStencilState *pDepthStencilState,
+ UINT StencilRef);
+
+ void (STDMETHODCALLTYPE *SOSetTargets)(
+ ID3D10Device* This,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppSOTargets,
+ const UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *DrawAuto)(
+ ID3D10Device* This);
+
+ void (STDMETHODCALLTYPE *RSSetState)(
+ ID3D10Device* This,
+ ID3D10RasterizerState *pRasterizerState);
+
+ void (STDMETHODCALLTYPE *RSSetViewports)(
+ ID3D10Device* This,
+ UINT NumViewports,
+ const D3D10_VIEWPORT *pViewports);
+
+ void (STDMETHODCALLTYPE *RSSetScissorRects)(
+ ID3D10Device* This,
+ UINT NumRects,
+ const D3D10_RECT *pRects);
+
+ void (STDMETHODCALLTYPE *CopySubresourceRegion)(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D10_BOX *pSrcBox);
+
+ void (STDMETHODCALLTYPE *CopyResource)(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ ID3D10Resource *pSrcResource);
+
+ void (STDMETHODCALLTYPE *UpdateSubresource)(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D10_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch);
+
+ void (STDMETHODCALLTYPE *ClearRenderTargetView)(
+ ID3D10Device* This,
+ ID3D10RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]);
+
+ void (STDMETHODCALLTYPE *ClearDepthStencilView)(
+ ID3D10Device* This,
+ ID3D10DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil);
+
+ void (STDMETHODCALLTYPE *GenerateMips)(
+ ID3D10Device* This,
+ ID3D10ShaderResourceView *pShaderResourceView);
+
+ void (STDMETHODCALLTYPE *ResolveSubresource)(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format);
+
+ void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *PSGetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *PSGetShader)(
+ ID3D10Device* This,
+ ID3D10PixelShader **ppPixelShader);
+
+ void (STDMETHODCALLTYPE *PSGetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *VSGetShader)(
+ ID3D10Device* This,
+ ID3D10VertexShader **ppVertexShader);
+
+ void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *IAGetInputLayout)(
+ ID3D10Device* This,
+ ID3D10InputLayout **ppInputLayout);
+
+ void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
+ ID3D10Device* This,
+ ID3D10Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset);
+
+ void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *GSGetShader)(
+ ID3D10Device* This,
+ ID3D10GeometryShader **ppGeometryShader);
+
+ void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
+ ID3D10Device* This,
+ D3D10_PRIMITIVE_TOPOLOGY *pTopology);
+
+ void (STDMETHODCALLTYPE *VSGetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *VSGetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *GetPredication)(
+ ID3D10Device* This,
+ ID3D10Predicate **ppPredicate,
+ BOOL *pPredicateValue);
+
+ void (STDMETHODCALLTYPE *GSGetShaderResources)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *GSGetSamplers)(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *OMGetRenderTargets)(
+ ID3D10Device* This,
+ UINT NumViews,
+ ID3D10RenderTargetView **ppRenderTargetViews,
+ ID3D10DepthStencilView **ppDepthStencilView);
+
+ void (STDMETHODCALLTYPE *OMGetBlendState)(
+ ID3D10Device* This,
+ ID3D10BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask);
+
+ void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
+ ID3D10Device* This,
+ ID3D10DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef);
+
+ void (STDMETHODCALLTYPE *SOGetTargets)(
+ ID3D10Device* This,
+ UINT NumBuffers,
+ ID3D10Buffer **ppSOTargets,
+ UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *RSGetState)(
+ ID3D10Device* This,
+ ID3D10RasterizerState **ppRasterizerState);
+
+ void (STDMETHODCALLTYPE *RSGetViewports)(
+ ID3D10Device* This,
+ UINT *NumViewports,
+ D3D10_VIEWPORT *pViewports);
+
+ void (STDMETHODCALLTYPE *RSGetScissorRects)(
+ ID3D10Device* This,
+ UINT *NumRects,
+ D3D10_RECT *pRects);
+
+ HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
+ ID3D10Device* This);
+
+ HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
+ ID3D10Device* This,
+ UINT RaiseFlags);
+
+ UINT (STDMETHODCALLTYPE *GetExceptionMode)(
+ ID3D10Device* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D10Device* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D10Device* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D10Device* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ void (STDMETHODCALLTYPE *ClearState)(
+ ID3D10Device* This);
+
+ void (STDMETHODCALLTYPE *Flush)(
+ ID3D10Device* This);
+
+ HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
+ ID3D10Device* This,
+ const D3D10_BUFFER_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Buffer **ppBuffer);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
+ ID3D10Device* This,
+ const D3D10_TEXTURE1D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture1D **ppTexture1D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
+ ID3D10Device* This,
+ const D3D10_TEXTURE2D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture2D **ppTexture2D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
+ ID3D10Device* This,
+ const D3D10_TEXTURE3D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture3D **ppTexture3D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D10ShaderResourceView **ppSRView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D10RenderTargetView **ppRTView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D10DepthStencilView **ppDepthStencilView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
+ ID3D10Device* This,
+ const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D10InputLayout **ppInputLayout);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10VertexShader **ppVertexShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10GeometryShader **ppGeometryShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ UINT OutputStreamStride,
+ ID3D10GeometryShader **ppGeometryShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10PixelShader **ppPixelShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
+ ID3D10Device* This,
+ const D3D10_BLEND_DESC *pBlendStateDesc,
+ ID3D10BlendState **ppBlendState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
+ ID3D10Device* This,
+ const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D10DepthStencilState **ppDepthStencilState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
+ ID3D10Device* This,
+ const D3D10_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D10RasterizerState **ppRasterizerState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
+ ID3D10Device* This,
+ const D3D10_SAMPLER_DESC *pSamplerDesc,
+ ID3D10SamplerState **ppSamplerState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateQuery)(
+ ID3D10Device* This,
+ const D3D10_QUERY_DESC *pQueryDesc,
+ ID3D10Query **ppQuery);
+
+ HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
+ ID3D10Device* This,
+ const D3D10_QUERY_DESC *pPredicateDesc,
+ ID3D10Predicate **ppPredicate);
+
+ HRESULT (STDMETHODCALLTYPE *CreateCounter)(
+ ID3D10Device* This,
+ const D3D10_COUNTER_DESC *pCounterDesc,
+ ID3D10Counter **ppCounter);
+
+ HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
+ ID3D10Device* This,
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport);
+
+ HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
+ ID3D10Device* This,
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels);
+
+ void (STDMETHODCALLTYPE *CheckCounterInfo)(
+ ID3D10Device* This,
+ D3D10_COUNTER_INFO *pCounterInfo);
+
+ HRESULT (STDMETHODCALLTYPE *CheckCounter)(
+ ID3D10Device* This,
+ const D3D10_COUNTER_DESC *pDesc,
+ D3D10_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength);
+
+ UINT (STDMETHODCALLTYPE *GetCreationFlags)(
+ ID3D10Device* This);
+
+ HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
+ ID3D10Device* This,
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource);
+
+ void (STDMETHODCALLTYPE *SetTextFilterSize)(
+ ID3D10Device* This,
+ UINT Width,
+ UINT Height);
+
+ void (STDMETHODCALLTYPE *GetTextFilterSize)(
+ ID3D10Device* This,
+ UINT *pWidth,
+ UINT *pHeight);
+
+ END_INTERFACE
+} ID3D10DeviceVtbl;
+interface ID3D10Device {
+ CONST_VTBL ID3D10DeviceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Device_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Device_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10Device methods ***/
+#define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_PSSetShader(This,pPixelShader) (This)->lpVtbl->PSSetShader(This,pPixelShader)
+#define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_VSSetShader(This,pVertexShader) (This)->lpVtbl->VSSetShader(This,pVertexShader)
+#define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
+#define ID3D10Device_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
+#define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
+#define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
+#define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
+#define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
+#define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
+#define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_GSSetShader(This,pShader) (This)->lpVtbl->GSSetShader(This,pShader)
+#define ID3D10Device_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
+#define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
+#define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
+#define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
+#define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
+#define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
+#define ID3D10Device_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
+#define ID3D10Device_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
+#define ID3D10Device_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
+#define ID3D10Device_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
+#define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
+#define ID3D10Device_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
+#define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
+#define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
+#define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
+#define ID3D10Device_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
+#define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
+#define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_PSGetShader(This,ppPixelShader) (This)->lpVtbl->PSGetShader(This,ppPixelShader)
+#define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_VSGetShader(This,ppVertexShader) (This)->lpVtbl->VSGetShader(This,ppVertexShader)
+#define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
+#define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
+#define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
+#define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D10Device_GSGetShader(This,ppGeometryShader) (This)->lpVtbl->GSGetShader(This,ppGeometryShader)
+#define ID3D10Device_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
+#define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
+#define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
+#define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
+#define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
+#define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets)
+#define ID3D10Device_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
+#define ID3D10Device_RSGetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,NumViewports,pViewports)
+#define ID3D10Device_RSGetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,NumRects,pRects)
+#define ID3D10Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
+#define ID3D10Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
+#define ID3D10Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
+#define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D10Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D10Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#define ID3D10Device_ClearState(This) (This)->lpVtbl->ClearState(This)
+#define ID3D10Device_Flush(This) (This)->lpVtbl->Flush(This)
+#define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
+#define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
+#define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
+#define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
+#define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
+#define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
+#define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
+#define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
+#define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader)
+#define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader)
+#define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader)
+#define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader)
+#define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
+#define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
+#define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
+#define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
+#define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
+#define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
+#define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
+#define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
+#define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
+#define ID3D10Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
+#define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
+#define ID3D10Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
+#define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
+#define ID3D10Device_SetTextFilterSize(This,Width,Height) (This)->lpVtbl->SetTextFilterSize(This,Width,Height)
+#define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight) (This)->lpVtbl->GetTextFilterSize(This,pWidth,pHeight)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Device_VSSetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D10Device_VSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSSetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_PSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSSetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10PixelShader *pPixelShader);
+void __RPC_STUB ID3D10Device_PSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSSetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D10Device_PSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSSetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10VertexShader *pVertexShader);
+void __RPC_STUB ID3D10Device_VSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_DrawIndexed_Proxy(
+ ID3D10Device* This,
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation);
+void __RPC_STUB ID3D10Device_DrawIndexed_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_Draw_Proxy(
+ ID3D10Device* This,
+ UINT VertexCount,
+ UINT StartVertexLocation);
+void __RPC_STUB ID3D10Device_Draw_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSSetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D10Device_PSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IASetInputLayout_Proxy(
+ ID3D10Device* This,
+ ID3D10InputLayout *pInputLayout);
+void __RPC_STUB ID3D10Device_IASetInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IASetVertexBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets);
+void __RPC_STUB ID3D10Device_IASetVertexBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IASetIndexBuffer_Proxy(
+ ID3D10Device* This,
+ ID3D10Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset);
+void __RPC_STUB ID3D10Device_IASetIndexBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_DrawIndexedInstanced_Proxy(
+ ID3D10Device* This,
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation);
+void __RPC_STUB ID3D10Device_DrawIndexedInstanced_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_DrawInstanced_Proxy(
+ ID3D10Device* This,
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation);
+void __RPC_STUB ID3D10Device_DrawInstanced_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSSetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D10Device_GSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSSetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10GeometryShader *pShader);
+void __RPC_STUB ID3D10Device_GSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IASetPrimitiveTopology_Proxy(
+ ID3D10Device* This,
+ D3D10_PRIMITIVE_TOPOLOGY Topology);
+void __RPC_STUB ID3D10Device_IASetPrimitiveTopology_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSSetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_VSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSSetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D10Device_VSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_SetPredication_Proxy(
+ ID3D10Device* This,
+ ID3D10Predicate *pPredicate,
+ BOOL PredicateValue);
+void __RPC_STUB ID3D10Device_SetPredication_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSSetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_GSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSSetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D10Device_GSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMSetRenderTargets_Proxy(
+ ID3D10Device* This,
+ UINT NumViews,
+ ID3D10RenderTargetView *const *ppRenderTargetViews,
+ ID3D10DepthStencilView *pDepthStencilView);
+void __RPC_STUB ID3D10Device_OMSetRenderTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMSetBlendState_Proxy(
+ ID3D10Device* This,
+ ID3D10BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask);
+void __RPC_STUB ID3D10Device_OMSetBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMSetDepthStencilState_Proxy(
+ ID3D10Device* This,
+ ID3D10DepthStencilState *pDepthStencilState,
+ UINT StencilRef);
+void __RPC_STUB ID3D10Device_OMSetDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_SOSetTargets_Proxy(
+ ID3D10Device* This,
+ UINT NumBuffers,
+ ID3D10Buffer *const *ppSOTargets,
+ const UINT *pOffsets);
+void __RPC_STUB ID3D10Device_SOSetTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_DrawAuto_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_DrawAuto_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSSetState_Proxy(
+ ID3D10Device* This,
+ ID3D10RasterizerState *pRasterizerState);
+void __RPC_STUB ID3D10Device_RSSetState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSSetViewports_Proxy(
+ ID3D10Device* This,
+ UINT NumViewports,
+ const D3D10_VIEWPORT *pViewports);
+void __RPC_STUB ID3D10Device_RSSetViewports_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSSetScissorRects_Proxy(
+ ID3D10Device* This,
+ UINT NumRects,
+ const D3D10_RECT *pRects);
+void __RPC_STUB ID3D10Device_RSSetScissorRects_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_CopySubresourceRegion_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D10_BOX *pSrcBox);
+void __RPC_STUB ID3D10Device_CopySubresourceRegion_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_CopyResource_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ ID3D10Resource *pSrcResource);
+void __RPC_STUB ID3D10Device_CopyResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_UpdateSubresource_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D10_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch);
+void __RPC_STUB ID3D10Device_UpdateSubresource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_ClearRenderTargetView_Proxy(
+ ID3D10Device* This,
+ ID3D10RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]);
+void __RPC_STUB ID3D10Device_ClearRenderTargetView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_ClearDepthStencilView_Proxy(
+ ID3D10Device* This,
+ ID3D10DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil);
+void __RPC_STUB ID3D10Device_ClearDepthStencilView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GenerateMips_Proxy(
+ ID3D10Device* This,
+ ID3D10ShaderResourceView *pShaderResourceView);
+void __RPC_STUB ID3D10Device_GenerateMips_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_ResolveSubresource_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D10Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format);
+void __RPC_STUB ID3D10Device_ResolveSubresource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSGetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D10Device_VSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSGetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_PSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSGetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10PixelShader **ppPixelShader);
+void __RPC_STUB ID3D10Device_PSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSGetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+void __RPC_STUB ID3D10Device_PSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSGetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10VertexShader **ppVertexShader);
+void __RPC_STUB ID3D10Device_VSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_PSGetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D10Device_PSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IAGetInputLayout_Proxy(
+ ID3D10Device* This,
+ ID3D10InputLayout **ppInputLayout);
+void __RPC_STUB ID3D10Device_IAGetInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IAGetVertexBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets);
+void __RPC_STUB ID3D10Device_IAGetVertexBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IAGetIndexBuffer_Proxy(
+ ID3D10Device* This,
+ ID3D10Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset);
+void __RPC_STUB ID3D10Device_IAGetIndexBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSGetConstantBuffers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D10Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D10Device_GSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSGetShader_Proxy(
+ ID3D10Device* This,
+ ID3D10GeometryShader **ppGeometryShader);
+void __RPC_STUB ID3D10Device_GSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_IAGetPrimitiveTopology_Proxy(
+ ID3D10Device* This,
+ D3D10_PRIMITIVE_TOPOLOGY *pTopology);
+void __RPC_STUB ID3D10Device_IAGetPrimitiveTopology_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSGetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_VSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_VSGetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+void __RPC_STUB ID3D10Device_VSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GetPredication_Proxy(
+ ID3D10Device* This,
+ ID3D10Predicate **ppPredicate,
+ BOOL *pPredicateValue);
+void __RPC_STUB ID3D10Device_GetPredication_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSGetShaderResources_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D10ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D10Device_GSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GSGetSamplers_Proxy(
+ ID3D10Device* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D10SamplerState **ppSamplers);
+void __RPC_STUB ID3D10Device_GSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMGetRenderTargets_Proxy(
+ ID3D10Device* This,
+ UINT NumViews,
+ ID3D10RenderTargetView **ppRenderTargetViews,
+ ID3D10DepthStencilView **ppDepthStencilView);
+void __RPC_STUB ID3D10Device_OMGetRenderTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMGetBlendState_Proxy(
+ ID3D10Device* This,
+ ID3D10BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask);
+void __RPC_STUB ID3D10Device_OMGetBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_OMGetDepthStencilState_Proxy(
+ ID3D10Device* This,
+ ID3D10DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef);
+void __RPC_STUB ID3D10Device_OMGetDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_SOGetTargets_Proxy(
+ ID3D10Device* This,
+ UINT NumBuffers,
+ ID3D10Buffer **ppSOTargets,
+ UINT *pOffsets);
+void __RPC_STUB ID3D10Device_SOGetTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSGetState_Proxy(
+ ID3D10Device* This,
+ ID3D10RasterizerState **ppRasterizerState);
+void __RPC_STUB ID3D10Device_RSGetState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSGetViewports_Proxy(
+ ID3D10Device* This,
+ UINT *NumViewports,
+ D3D10_VIEWPORT *pViewports);
+void __RPC_STUB ID3D10Device_RSGetViewports_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_RSGetScissorRects_Proxy(
+ ID3D10Device* This,
+ UINT *NumRects,
+ D3D10_RECT *pRects);
+void __RPC_STUB ID3D10Device_RSGetScissorRects_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_GetDeviceRemovedReason_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_GetDeviceRemovedReason_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_SetExceptionMode_Proxy(
+ ID3D10Device* This,
+ UINT RaiseFlags);
+void __RPC_STUB ID3D10Device_SetExceptionMode_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D10Device_GetExceptionMode_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_GetExceptionMode_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_GetPrivateData_Proxy(
+ ID3D10Device* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+void __RPC_STUB ID3D10Device_GetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateData_Proxy(
+ ID3D10Device* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+void __RPC_STUB ID3D10Device_SetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_SetPrivateDataInterface_Proxy(
+ ID3D10Device* This,
+ REFGUID guid,
+ const IUnknown *pData);
+void __RPC_STUB ID3D10Device_SetPrivateDataInterface_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_ClearState_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_ClearState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_Flush_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_Flush_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBuffer_Proxy(
+ ID3D10Device* This,
+ const D3D10_BUFFER_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Buffer **ppBuffer);
+void __RPC_STUB ID3D10Device_CreateBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture1D_Proxy(
+ ID3D10Device* This,
+ const D3D10_TEXTURE1D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture1D **ppTexture1D);
+void __RPC_STUB ID3D10Device_CreateTexture1D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture2D_Proxy(
+ ID3D10Device* This,
+ const D3D10_TEXTURE2D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture2D **ppTexture2D);
+void __RPC_STUB ID3D10Device_CreateTexture2D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateTexture3D_Proxy(
+ ID3D10Device* This,
+ const D3D10_TEXTURE3D_DESC *pDesc,
+ const D3D10_SUBRESOURCE_DATA *pInitialData,
+ ID3D10Texture3D **ppTexture3D);
+void __RPC_STUB ID3D10Device_CreateTexture3D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateShaderResourceView_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D10ShaderResourceView **ppSRView);
+void __RPC_STUB ID3D10Device_CreateShaderResourceView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRenderTargetView_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D10RenderTargetView **ppRTView);
+void __RPC_STUB ID3D10Device_CreateRenderTargetView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilView_Proxy(
+ ID3D10Device* This,
+ ID3D10Resource *pResource,
+ const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D10DepthStencilView **ppDepthStencilView);
+void __RPC_STUB ID3D10Device_CreateDepthStencilView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateInputLayout_Proxy(
+ ID3D10Device* This,
+ const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D10InputLayout **ppInputLayout);
+void __RPC_STUB ID3D10Device_CreateInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateVertexShader_Proxy(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10VertexShader **ppVertexShader);
+void __RPC_STUB ID3D10Device_CreateVertexShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShader_Proxy(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10GeometryShader **ppGeometryShader);
+void __RPC_STUB ID3D10Device_CreateGeometryShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateGeometryShaderWithStreamOutput_Proxy(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ UINT OutputStreamStride,
+ ID3D10GeometryShader **ppGeometryShader);
+void __RPC_STUB ID3D10Device_CreateGeometryShaderWithStreamOutput_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePixelShader_Proxy(
+ ID3D10Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D10PixelShader **ppPixelShader);
+void __RPC_STUB ID3D10Device_CreatePixelShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateBlendState_Proxy(
+ ID3D10Device* This,
+ const D3D10_BLEND_DESC *pBlendStateDesc,
+ ID3D10BlendState **ppBlendState);
+void __RPC_STUB ID3D10Device_CreateBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateDepthStencilState_Proxy(
+ ID3D10Device* This,
+ const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D10DepthStencilState **ppDepthStencilState);
+void __RPC_STUB ID3D10Device_CreateDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateRasterizerState_Proxy(
+ ID3D10Device* This,
+ const D3D10_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D10RasterizerState **ppRasterizerState);
+void __RPC_STUB ID3D10Device_CreateRasterizerState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateSamplerState_Proxy(
+ ID3D10Device* This,
+ const D3D10_SAMPLER_DESC *pSamplerDesc,
+ ID3D10SamplerState **ppSamplerState);
+void __RPC_STUB ID3D10Device_CreateSamplerState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateQuery_Proxy(
+ ID3D10Device* This,
+ const D3D10_QUERY_DESC *pQueryDesc,
+ ID3D10Query **ppQuery);
+void __RPC_STUB ID3D10Device_CreateQuery_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreatePredicate_Proxy(
+ ID3D10Device* This,
+ const D3D10_QUERY_DESC *pPredicateDesc,
+ ID3D10Predicate **ppPredicate);
+void __RPC_STUB ID3D10Device_CreatePredicate_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CreateCounter_Proxy(
+ ID3D10Device* This,
+ const D3D10_COUNTER_DESC *pCounterDesc,
+ ID3D10Counter **ppCounter);
+void __RPC_STUB ID3D10Device_CreateCounter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CheckFormatSupport_Proxy(
+ ID3D10Device* This,
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport);
+void __RPC_STUB ID3D10Device_CheckFormatSupport_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CheckMultisampleQualityLevels_Proxy(
+ ID3D10Device* This,
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels);
+void __RPC_STUB ID3D10Device_CheckMultisampleQualityLevels_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_CheckCounterInfo_Proxy(
+ ID3D10Device* This,
+ D3D10_COUNTER_INFO *pCounterInfo);
+void __RPC_STUB ID3D10Device_CheckCounterInfo_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_CheckCounter_Proxy(
+ ID3D10Device* This,
+ const D3D10_COUNTER_DESC *pDesc,
+ D3D10_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength);
+void __RPC_STUB ID3D10Device_CheckCounter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D10Device_GetCreationFlags_Proxy(
+ ID3D10Device* This);
+void __RPC_STUB ID3D10Device_GetCreationFlags_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D10Device_OpenSharedResource_Proxy(
+ ID3D10Device* This,
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource);
+void __RPC_STUB ID3D10Device_OpenSharedResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_SetTextFilterSize_Proxy(
+ ID3D10Device* This,
+ UINT Width,
+ UINT Height);
+void __RPC_STUB ID3D10Device_SetTextFilterSize_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Device_GetTextFilterSize_Proxy(
+ ID3D10Device* This,
+ UINT *pWidth,
+ UINT *pHeight);
+void __RPC_STUB ID3D10Device_GetTextFilterSize_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Device_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D10Multithread interface
+ */
+#ifndef __ID3D10Multithread_INTERFACE_DEFINED__
+#define __ID3D10Multithread_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D10Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1,0x9f, 0x4f,0x27,0x04,0xf6,0x89,0xf0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface ID3D10Multithread : public IUnknown
+{
+ virtual void STDMETHODCALLTYPE Enter(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE Leave(
+ ) = 0;
+
+ virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
+ BOOL bMTProtect) = 0;
+
+ virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected(
+ ) = 0;
+
+};
+#else
+typedef struct ID3D10MultithreadVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D10Multithread* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D10Multithread* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D10Multithread* This);
+
+ /*** ID3D10Multithread methods ***/
+ void (STDMETHODCALLTYPE *Enter)(
+ ID3D10Multithread* This);
+
+ void (STDMETHODCALLTYPE *Leave)(
+ ID3D10Multithread* This);
+
+ BOOL (STDMETHODCALLTYPE *SetMultithreadProtected)(
+ ID3D10Multithread* This,
+ BOOL bMTProtect);
+
+ BOOL (STDMETHODCALLTYPE *GetMultithreadProtected)(
+ ID3D10Multithread* This);
+
+ END_INTERFACE
+} ID3D10MultithreadVtbl;
+interface ID3D10Multithread {
+ CONST_VTBL ID3D10MultithreadVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ID3D10Multithread_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D10Multithread_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D10Multithread_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D10Multithread methods ***/
+#define ID3D10Multithread_Enter(This) (This)->lpVtbl->Enter(This)
+#define ID3D10Multithread_Leave(This) (This)->lpVtbl->Leave(This)
+#define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect) (This)->lpVtbl->SetMultithreadProtected(This,bMTProtect)
+#define ID3D10Multithread_GetMultithreadProtected(This) (This)->lpVtbl->GetMultithreadProtected(This)
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D10Multithread_Enter_Proxy(
+ ID3D10Multithread* This);
+void __RPC_STUB ID3D10Multithread_Enter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D10Multithread_Leave_Proxy(
+ ID3D10Multithread* This);
+void __RPC_STUB ID3D10Multithread_Leave_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+BOOL STDMETHODCALLTYPE ID3D10Multithread_SetMultithreadProtected_Proxy(
+ ID3D10Multithread* This,
+ BOOL bMTProtect);
+void __RPC_STUB ID3D10Multithread_SetMultithreadProtected_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+BOOL STDMETHODCALLTYPE ID3D10Multithread_GetMultithreadProtected_Proxy(
+ ID3D10Multithread* This);
+void __RPC_STUB ID3D10Multithread_GetMultithreadProtected_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D10Multithread_INTERFACE_DEFINED__ */
+
+#include "d3d10misc.h"
+#include "d3d10shader.h"
+#include "d3d10effect.h"
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WIDL_D3D10_H */
--- /dev/null
+/*
+ * Copyright 2007 Andras Kovacs
+ *
+ * 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 "oaidl.idl";
+import "ocidl.idl";
+import "dxgi.idl";
+
+cpp_quote("#ifndef _D3D10_CONSTANTS")
+cpp_quote("#define _D3D10_CONSTANTS")
+const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
+const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
+const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
+const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
+const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
+const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
+const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
+const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
+const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
+const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
+const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
+const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
+const float D3D10_FLOAT32_MAX = 3.402823466e+38;
+const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
+const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
+const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
+const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
+const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
+const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
+const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
+const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
+const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
+const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
+const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
+const float D3D10_LINEAR_GAMMA = 1.0;
+const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
+const float D3D10_MAX_DEPTH = 1.0;
+const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
+const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
+const float D3D10_MIN_DEPTH = 0.0;
+const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
+const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
+const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
+const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
+const float D3D10_SRGB_GAMMA = 2.2;
+const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
+const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
+const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
+const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
+const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
+const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
+const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
+const float D3D_SPEC_VERSION = 1.050005;
+const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
+const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
+const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
+const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
+const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
+const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
+const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
+const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
+const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
+const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
+const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
+const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
+const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
+const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
+const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
+const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
+const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
+const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
+const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
+const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
+const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
+const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
+const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
+const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
+const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
+const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
+const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
+const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
+const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
+const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
+const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
+const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
+const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
+const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
+const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
+const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
+const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
+const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
+const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
+const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
+const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
+const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
+const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
+const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
+const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
+const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
+const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
+const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
+const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
+const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
+const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
+const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
+const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
+const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
+const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
+const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
+const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
+const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
+const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
+const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
+const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
+const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
+const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
+const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
+const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
+const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
+const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
+const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
+const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
+const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
+const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
+const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
+const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
+const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
+const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
+const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
+const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
+const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
+const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
+const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
+const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
+const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
+const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
+const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
+const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
+const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
+const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
+const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
+const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
+const unsigned int D3D10_REQ_MIP_LEVELS = 14;
+const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
+const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
+const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
+const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
+const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
+const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
+const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
+const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
+const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
+const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
+const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
+const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
+const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
+const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
+const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
+const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
+const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
+const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
+const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
+const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
+const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
+const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
+const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
+const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
+const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
+const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
+const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
+const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
+const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
+const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
+const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
+const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
+const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
+const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
+const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
+const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
+const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
+const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
+const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
+const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
+const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
+const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
+const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
+const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
+const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
+const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
+const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
+const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
+const unsigned int D3D_MAJOR_VERSION = 10;
+const unsigned int D3D_MINOR_VERSION = 0;
+const unsigned int D3D_SPEC_DATE_DAY = 8;
+const unsigned int D3D_SPEC_DATE_MONTH = 8;
+const unsigned int D3D_SPEC_DATE_YEAR = 2006;
+cpp_quote("#endif")
+
+const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
+const unsigned int _FACD3D10 = 0x87;
+const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
+const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
+const unsigned int D3D10_SDK_VERSION = 29;
+
+cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
+cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
+cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
+cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
+
+typedef enum D3D10_BLEND {
+ D3D10_BLEND_ZERO = 1,
+ D3D10_BLEND_ONE = 2,
+ D3D10_BLEND_SRC_COLOR = 3,
+ D3D10_BLEND_INV_SRC_COLOR = 4,
+ D3D10_BLEND_SRC_ALPHA = 5,
+ D3D10_BLEND_INV_SRC_ALPHA = 6,
+ D3D10_BLEND_DEST_ALPHA = 7,
+ D3D10_BLEND_INV_DEST_ALPHA = 8,
+ D3D10_BLEND_DEST_COLOR = 9,
+ D3D10_BLEND_INV_DEST_COLOR = 10,
+ D3D10_BLEND_SRC_ALPHA_SAT = 11,
+ D3D10_BLEND_BLEND_FACTOR = 14,
+ D3D10_BLEND_INV_BLEND_FACTOR = 15,
+ D3D10_BLEND_SRC1_COLOR = 16,
+ D3D10_BLEND_INV_SRC1_COLOR = 17,
+ D3D10_BLEND_SRC1_ALPHA = 18,
+ D3D10_BLEND_INV_SRC1_ALPHA = 19
+} D3D10_BLEND;
+
+typedef enum D3D10_BLEND_OP {
+ D3D10_BLEND_OP_ADD = 1,
+ D3D10_BLEND_OP_SUBTRACT,
+ D3D10_BLEND_OP_REV_SUBTRACT,
+ D3D10_BLEND_OP_MIN,
+ D3D10_BLEND_OP_MAX,
+} D3D10_BLEND_OP;
+
+typedef struct D3D10_BLEND_DESC {
+ BOOL AlphaToCoverageEnable;
+ BOOL BlendEnable[8];
+ D3D10_BLEND SrcBlend;
+ D3D10_BLEND DestBlend;
+ D3D10_BLEND_OP BlendOp;
+ D3D10_BLEND SrcBlendAlpha;
+ D3D10_BLEND DestBlendAlpha;
+ D3D10_BLEND_OP BlendOpAlpha;
+ UINT8 RenderTargetWriteMask[8];
+} D3D10_BLEND_DESC;
+
+typedef enum D3D10_DEPTH_WRITE_MASK {
+ D3D10_DEPTH_WRITE_MASK_ZERO,
+ D3D10_DEPTH_WRITE_MASK_ALL,
+} D3D10_DEPTH_WRITE_MASK;
+
+typedef enum D3D10_COMPARISON_FUNC {
+ D3D10_COMPARISON_NEVER = 1,
+ D3D10_COMPARISON_LESS,
+ D3D10_COMPARISON_EQUAL,
+ D3D10_COMPARISON_LESS_EQUAL,
+ D3D10_COMPARISON_GREATER,
+ D3D10_COMPARISON_NOT_EQUAL,
+ D3D10_COMPARISON_GREATER_EQUAL,
+ D3D10_COMPARISON_ALWAYS,
+} D3D10_COMPARISON_FUNC;
+
+typedef enum D3D10_STENCIL_OP {
+ D3D10_STENCIL_OP_KEEP = 1,
+ D3D10_STENCIL_OP_ZERO,
+ D3D10_STENCIL_OP_REPLACE,
+ D3D10_STENCIL_OP_INCR_SAT,
+ D3D10_STENCIL_OP_DECR_SAT,
+ D3D10_STENCIL_OP_INVERT,
+ D3D10_STENCIL_OP_INCR,
+ D3D10_STENCIL_OP_DECR,
+} D3D10_STENCIL_OP;
+
+typedef struct D3D10_DEPTH_STENCILOP_DESC {
+ D3D10_STENCIL_OP StencilFailOp;
+ D3D10_STENCIL_OP StencilDepthFailOp;
+ D3D10_STENCIL_OP StencilPassOp;
+ D3D10_COMPARISON_FUNC StencilFunc;
+} D3D10_DEPTH_STENCILOP_DESC;
+
+typedef struct D3D10_DEPTH_STENCIL_DESC {
+ BOOL DepthEnable;
+ D3D10_DEPTH_WRITE_MASK DepthWriteMask;
+ D3D10_COMPARISON_FUNC DepthFunc;
+ BOOL StencilEnable;
+ UINT8 StencilReadMask;
+ UINT8 StencilWriteMask;
+ D3D10_DEPTH_STENCILOP_DESC FrontFace;
+ D3D10_DEPTH_STENCILOP_DESC BackFace;
+} D3D10_DEPTH_STENCIL_DESC;
+
+typedef enum D3D10_FILL_MODE {
+ D3D10_FILL_WIREFRAME = 2,
+ D3D10_FILL_SOLID,
+} D3D10_FILL_MODE;
+
+typedef enum D3D10_CULL_MODE {
+ D3D10_CULL_NONE = 1,
+ D3D10_CULL_FRONT,
+ D3D10_CULL_BACK,
+} D3D10_CULL_MODE;
+
+typedef struct D3D10_RASTERIZER_DESC {
+ D3D10_FILL_MODE FillMode;
+ D3D10_CULL_MODE CullMode;
+ BOOL FrontCounterClockwise;
+ INT DepthBias;
+ FLOAT DepthBiasClamp;
+ FLOAT SlopeScaledDepthBias;
+ BOOL DepthClipEnable;
+ BOOL ScissorEnable;
+ BOOL MultisampleEnable;
+ BOOL AntialiasedLineEnable;
+} D3D10_RASTERIZER_DESC;
+
+typedef enum D3D10_FILTER {
+ D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
+ D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
+ D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
+ D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
+ D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
+ D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
+ D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
+ D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
+ D3D10_FILTER_ANISOTROPIC = 0x55,
+ D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
+ D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
+ D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
+ D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
+ D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
+ D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
+ D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
+ D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
+ D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
+ D3D10_FILTER_TEXT_1BIT = 0x80000000
+} D3D10_FILTER;
+
+typedef enum D3D10_TEXTURE_ADDRESS_MODE {
+ D3D10_TEXTURE_ADDRESS_WRAP = 1,
+ D3D10_TEXTURE_ADDRESS_MIRROR,
+ D3D10_TEXTURE_ADDRESS_CLAMP,
+ D3D10_TEXTURE_ADDRESS_BORDER,
+ D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
+} D3D10_TEXTURE_ADDRESS_MODE;
+
+typedef struct D3D10_SAMPLER_DESC {
+ D3D10_FILTER Filter;
+ D3D10_TEXTURE_ADDRESS_MODE AddressU;
+ D3D10_TEXTURE_ADDRESS_MODE AddressV;
+ D3D10_TEXTURE_ADDRESS_MODE AddressW;
+ FLOAT MipLODBias;
+ UINT MaxAnisotropy;
+ D3D10_COMPARISON_FUNC ComparisonFunc;
+ FLOAT BorderColor[4];
+ FLOAT MinLOD;
+ FLOAT MaxLOD;
+} D3D10_SAMPLER_DESC;
+
+typedef enum D3D10_COUNTER {
+ D3D10_COUNTER_GPU_IDLE,
+ D3D10_COUNTER_VERTEX_PROCESSING,
+ D3D10_COUNTER_GEOMETRY_PROCESSING,
+ D3D10_COUNTER_PIXEL_PROCESSING,
+ D3D10_COUNTER_OTHER_GPU_PROCESSING,
+ D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
+ D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
+ D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
+ D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
+ D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
+ D3D10_COUNTER_VS_MEMORY_LIMITED,
+ D3D10_COUNTER_VS_COMPUTATION_LIMITED,
+ D3D10_COUNTER_GS_MEMORY_LIMITED,
+ D3D10_COUNTER_GS_COMPUTATION_LIMITED,
+ D3D10_COUNTER_PS_MEMORY_LIMITED,
+ D3D10_COUNTER_PS_COMPUTATION_LIMITED,
+ D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
+ D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
+ D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
+} D3D10_COUNTER;
+
+typedef struct D3D10_COUNTER_DESC {
+ D3D10_COUNTER Counter;
+ UINT MiscFlags;
+} D3D10_COUNTER_DESC;
+
+typedef enum D3D10_COUNTER_TYPE {
+ D3D10_COUNTER_TYPE_FLOAT32,
+ D3D10_COUNTER_TYPE_UINT16,
+ D3D10_COUNTER_TYPE_UINT32,
+ D3D10_COUNTER_TYPE_UINT64,
+} D3D10_COUNTER_TYPE;
+
+typedef struct D3D10_COUNTER_INFO {
+ D3D10_COUNTER LastDeviceDependentCounter;
+ UINT NumSimultaneousCounters;
+ UINT8 NumDetectableParallelUnits;
+} D3D10_COUNTER_INFO;
+
+typedef enum D3D10_RESOURCE_DIMENSION {
+ D3D10_RESOURCE_DIMENSION_UNKNOWN,
+ D3D10_RESOURCE_DIMENSION_BUFFER,
+ D3D10_RESOURCE_DIMENSION_TEXTURE1D,
+ D3D10_RESOURCE_DIMENSION_TEXTURE2D,
+ D3D10_RESOURCE_DIMENSION_TEXTURE3D,
+} D3D10_RESOURCE_DIMENSION;
+
+typedef enum D3D10_USAGE {
+ D3D10_USAGE_DEFAULT,
+ D3D10_USAGE_IMMUTABLE,
+ D3D10_USAGE_DYNAMIC,
+ D3D10_USAGE_STAGING,
+} D3D10_USAGE;
+
+typedef struct D3D10_BUFFER_DESC {
+ UINT ByteWidth;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_BUFFER_DESC;
+
+typedef enum D3D10_MAP {
+ D3D10_MAP_READ = 1,
+ D3D10_MAP_WRITE,
+ D3D10_MAP_READ_WRITE,
+ D3D10_MAP_WRITE_DISCARD,
+ D3D10_MAP_WRITE_NO_OVERWRITE,
+} D3D10_MAP;
+
+typedef struct D3D10_TEXTURE1D_DESC {
+ UINT Width;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE1D_DESC;
+
+typedef struct D3D10_TEXTURE2D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ DXGI_SAMPLE_DESC SampleDesc;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE2D_DESC;
+
+typedef struct D3D10_TEXTURE3D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT Depth;
+ UINT MipLevels;
+ DXGI_FORMAT Format;
+ D3D10_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D10_TEXTURE3D_DESC;
+
+typedef enum D3D10_DSV_DIMENSION
+{
+ D3D10_DSV_DIMENSION_UNKNOWN,
+ D3D10_DSV_DIMENSION_TEXTURE1D,
+ D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
+ D3D10_DSV_DIMENSION_TEXTURE2D,
+ D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
+ D3D10_DSV_DIMENSION_TEXTURE2DMS,
+ D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
+} D3D10_DSV_DIMENSION;
+
+typedef struct D3D10_TEX1D_DSV {
+ UINT MipSlice;
+} D3D10_TEX1D_DSV;
+
+typedef struct D3D10_TEX1D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_DSV;
+
+typedef struct D3D10_TEX2D_DSV {
+ UINT MipSlice;
+} D3D10_TEX2D_DSV;
+
+typedef struct D3D10_TEX2D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_DSV;
+
+typedef struct D3D10_TEX2DMS_DSV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_DSV;
+
+typedef struct D3D10_TEX2DMS_ARRAY_DSV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_DSV;
+
+typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_DSV_DIMENSION ViewDimension;
+ union {
+ D3D10_TEX1D_DSV Texture1D;
+ D3D10_TEX1D_ARRAY_DSV Texture1DArray;
+ D3D10_TEX2D_DSV Texture2D;
+ D3D10_TEX2D_ARRAY_DSV Texture2DArray;
+ D3D10_TEX2DMS_DSV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
+ } DUMMYUNIONNAME;
+} D3D10_DEPTH_STENCIL_VIEW_DESC;
+
+typedef enum D3D10_RTV_DIMENSION {
+ D3D10_RTV_DIMENSION_UNKNOWN,
+ D3D10_RTV_DIMENSION_BUFFER,
+ D3D10_RTV_DIMENSION_TEXTURE1D,
+ D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
+ D3D10_RTV_DIMENSION_TEXTURE2D,
+ D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
+ D3D10_RTV_DIMENSION_TEXTURE2DMS,
+ D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
+ D3D10_RTV_DIMENSION_TEXTURE3D,
+} D3D10_RTV_DIMENSION;
+
+typedef struct D3D10_BUFFER_RTV {
+ UINT ElementOffset;
+ UINT ElementWidth;
+} D3D10_BUFFER_RTV;
+
+typedef struct D3D10_TEX1D_RTV {
+ UINT MipSlice;
+} D3D10_TEX1D_RTV;
+
+typedef struct D3D10_TEX1D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_RTV;
+
+typedef struct D3D10_TEX2D_RTV {
+ UINT MipSlice;
+} D3D10_TEX2D_RTV;
+
+typedef struct D3D10_TEX2D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_RTV;
+
+typedef struct D3D10_TEX2DMS_RTV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_RTV;
+
+typedef struct D3D10_TEX2DMS_ARRAY_RTV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_RTV;
+
+typedef struct D3D10_TEX3D_RTV {
+ UINT MipSlice;
+ UINT FirstWSlice;
+ UINT WSize;
+} D3D10_TEX3D_RTV;
+
+typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_RTV_DIMENSION ViewDimension;
+ union {
+ D3D10_BUFFER_RTV Buffer;
+ D3D10_TEX1D_RTV Texture1D;
+ D3D10_TEX1D_ARRAY_RTV Texture1DArray;
+ D3D10_TEX2D_RTV Texture2D;
+ D3D10_TEX2D_ARRAY_RTV Texture2DArray;
+ D3D10_TEX2DMS_RTV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
+ D3D10_TEX3D_RTV Texture3D;
+ } DUMMYUNIONNAME;
+} D3D10_RENDER_TARGET_VIEW_DESC;
+
+typedef enum D3D10_SRV_DIMENSION {
+ D3D10_SRV_DIMENSION_UNKNOWN,
+ D3D10_SRV_DIMENSION_BUFFER,
+ D3D10_SRV_DIMENSION_TEXTURE1D,
+ D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
+ D3D10_SRV_DIMENSION_TEXTURE2D,
+ D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
+ D3D10_SRV_DIMENSION_TEXTURE2DMS,
+ D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
+ D3D10_SRV_DIMENSION_TEXTURE3D,
+ D3D10_SRV_DIMENSION_TEXTURECUBE,
+} D3D10_SRV_DIMENSION;
+
+typedef struct D3D10_BUFFER_SRV {
+ UINT ElementOffset;
+ UINT ElementWidth;
+} D3D10_BUFFER_SRV;
+
+typedef struct D3D10_TEX1D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX1D_SRV;
+
+typedef struct D3D10_TEX1D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX1D_ARRAY_SRV;
+
+typedef struct D3D10_TEX2D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX2D_SRV;
+
+typedef struct D3D10_TEX2D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2D_ARRAY_SRV;
+
+typedef struct D3D10_TEX2DMS_SRV {
+ UINT UnusedField_NothingToDefine;
+} D3D10_TEX2DMS_SRV;
+
+typedef struct D3D10_TEX2DMS_ARRAY_SRV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D10_TEX2DMS_ARRAY_SRV;
+
+typedef struct D3D10_TEX3D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEX3D_SRV;
+
+typedef struct D3D10_TEXCUBE_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D10_TEXCUBE_SRV;
+
+typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D10_SRV_DIMENSION ViewDimension;
+ union {
+ D3D10_BUFFER_SRV Buffer;
+ D3D10_TEX1D_SRV Texture1D;
+ D3D10_TEX1D_ARRAY_SRV Texture1DArray;
+ D3D10_TEX2D_SRV Texture2D;
+ D3D10_TEX2D_ARRAY_SRV Texture2DArray;
+ D3D10_TEX2DMS_SRV Texture2DMS;
+ D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
+ D3D10_TEX3D_SRV Texture3D;
+ D3D10_TEXCUBE_SRV TextureCube;
+ } DUMMYUNIONNAME;
+} D3D10_SHADER_RESOURCE_VIEW_DESC;
+
+typedef struct D3D10_BOX {
+ UINT left;
+ UINT top;
+ UINT front;
+ UINT right;
+ UINT bottom;
+ UINT back;
+} D3D10_BOX;
+
+typedef struct D3D10_SUBRESOURCE_DATA {
+ const void *pSysMem;
+ UINT SysMemPitch;
+ UINT SysMemSlicePitch;
+} D3D10_SUBRESOURCE_DATA;
+
+typedef struct D3D10_SO_DECLARATION_ENTRY {
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ BYTE StartComponent;
+ BYTE ComponentCount;
+ BYTE OutputSlot;
+} D3D10_SO_DECLARATION_ENTRY;
+
+typedef enum D3D10_INPUT_CLASSIFICATION {
+ D3D10_INPUT_PER_VERTEX_DATA,
+ D3D10_INPUT_PER_INSTANCE_DATA,
+} D3D10_INPUT_CLASSIFICATION;
+
+typedef struct D3D10_INPUT_ELEMENT_DESC {
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ DXGI_FORMAT Format;
+ UINT InputSlot;
+ UINT AlignedByteOffset;
+ D3D10_INPUT_CLASSIFICATION InputSlotClass;
+ UINT InstanceDataStepRate;
+} D3D10_INPUT_ELEMENT_DESC;
+
+typedef enum D3D10_QUERY {
+ D3D10_QUERY_EVENT,
+ D3D10_QUERY_OCCLUSION,
+ D3D10_QUERY_TIMESTAMP,
+ D3D10_QUERY_TIMESTAMP_DISJOINT,
+ D3D10_QUERY_PIPELINE_STATISTICS,
+ D3D10_QUERY_OCCLUSION_PREDICATE,
+ D3D10_QUERY_SO_STATISTICS,
+ D3D10_QUERY_SO_OVERFLOW_PREDICATE,
+} D3D10_QUERY;
+
+typedef struct D3D10_QUERY_DESC {
+ D3D10_QUERY Query;
+ UINT MiscFlags;
+} D3D10_QUERY_DESC;
+
+typedef enum D3D10_PRIMITIVE_TOPOLOGY {
+ D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
+ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
+ D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2,
+ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
+ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
+ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
+ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
+} D3D10_PRIMITIVE_TOPOLOGY;
+
+typedef RECT D3D10_RECT;
+
+typedef struct D3D10_VIEWPORT {
+ INT TopLeftX;
+ INT TopLeftY;
+ UINT Width;
+ UINT Height;
+ FLOAT MinDepth;
+ FLOAT MaxDepth;
+} D3D10_VIEWPORT;
+
+typedef struct D3D10_MAPPED_TEXTURE2D {
+ void *pData;
+ UINT RowPitch;
+} D3D10_MAPPED_TEXTURE2D;
+
+typedef struct D3D10_MAPPED_TEXTURE3D {
+ void *pData;
+ UINT RowPitch;
+ UINT DepthPitch;
+} D3D10_MAPPED_TEXTURE3D;
+
+typedef enum D3D10_BIND_FLAG {
+ D3D10_BIND_VERTEX_BUFFER = 0x1,
+ D3D10_BIND_INDEX_BUFFER = 0x2,
+ D3D10_BIND_CONSTANT_BUFFER = 0x4,
+ D3D10_BIND_SHADER_RESOURCE = 0x8,
+ D3D10_BIND_STREAM_OUTPUT = 0x10,
+ D3D10_BIND_RENDER_TARGET = 0x20,
+ D3D10_BIND_DEPTH_STENCIL = 0x40
+} D3D10_BIND_FLAG;
+
+typedef enum D3D10_CPU_ACCESS_FLAG {
+ D3D10_CPU_ACCESS_WRITE = 0x10000,
+ D3D10_CPU_ACCESS_READ = 0x20000
+} D3D10_CPU_ACCESS_FLAG;
+
+typedef enum D3D10_RESOURCE_MISC_FLAG {
+ D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1,
+ D3D10_RESOURCE_MISC_SHARED = 0x2,
+ D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4
+} D3D10_RESOURCE_MISC_FLAG;
+
+typedef enum D3D10_MAP_FLAG {
+ D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
+} D3D10_MAP_FLAG;
+
+typedef enum D3D10_CLEAR_FLAG {
+ D3D10_CLEAR_DEPTH = 0x1,
+ D3D10_CLEAR_STENCIL = 0x2
+} D3D10_CLEAR_FLAG;
+
+typedef enum D3D10_COLOR_WRITE_ENABLE {
+ D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
+ D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
+ D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
+ D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
+ D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
+ D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
+} D3D10_COLOR_WRITE_ENABLE;
+
+typedef enum D3D10_TEXTURECUBE_FACE {
+ D3D10_TEXTURECUBE_FACE_POSITIVE_X,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
+ D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
+ D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
+ D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
+} D3D10_TEXTURECUBE_FACE;
+
+typedef enum D3D10_ASYNC_GETDATA_FLAG {
+ D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
+} D3D10_ASYNC_GETDATA_FLAG;
+
+typedef enum D3D10_FILTER_TYPE {
+ D3D10_FILTER_TYPE_POINT,
+ D3D10_FILTER_TYPE_LINEAR
+} D3D10_FILTER_TYPE;
+
+typedef enum D3D10_QUERY_MISC_FLAG {
+ D3D10_QUERY_MISC_PREDICATEHINT = 0x1
+} D3D10_QUERY_MISC_FLAG;
+
+typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
+ UINT64 Frequency;
+ BOOL Disjoint;
+} D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
+
+typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
+ UINT64 IAVertices;
+ UINT64 IAPrimitives;
+ UINT64 VSInvocations;
+ UINT64 GSInvocations;
+ UINT64 GSPrimitives;
+ UINT64 CInvocations;
+ UINT64 CPrimitives;
+ UINT64 PSInvocations;
+} D3D10_QUERY_DATA_PIPELINE_STATISTICS;
+
+typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
+ UINT64 NumPrimitivesWritten;
+ UINT64 PrimitivesStorageNeeded;
+} D3D10_QUERY_DATA_SO_STATISTICS;
+
+typedef enum D3D10_CREATE_DEVICE_FLAG {
+ D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
+ D3D10_CREATE_DEVICE_DEBUG = 0x2,
+ D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
+ D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8
+} D3D10_CREATE_DEVICE_FLAG;
+
+/* Core */
+
+interface ID3D10Device;
+
+[
+ object,
+ local,
+ uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10DeviceChild : IUnknown
+{
+ void GetDevice(
+ [out] ID3D10Device **ppDevice);
+ HRESULT GetPrivateData(
+ [in] REFGUID guid,
+ [in, out] UINT *pDataSize,
+ [out] void *pData);
+ HRESULT SetPrivateData(
+ [in] REFGUID guid,
+ [in] UINT DataSize,
+ [in] const void *pData);
+ HRESULT SetPrivateDataInterface(
+ [in] REFGUID guid,
+ [in] const IUnknown *pData);
+}
+
+/* Resource */
+
+[
+ object,
+ local,
+ uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Resource : ID3D10DeviceChild
+{
+ void GetType(
+ [out] D3D10_RESOURCE_DIMENSION *rType);
+ void SetEvictionPriority(
+ [in] UINT EvictionPriority);
+ UINT GetEvictionPriority();
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Buffer : ID3D10Resource
+{
+ HRESULT Map(
+ [in] D3D10_MAP MapType,
+ [in] UINT MapFlags,
+ [out] void **ppData);
+ void Unmap();
+ void GetDesc(
+ [out] D3D10_BUFFER_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
+]
+interface ID3D10Texture1D : ID3D10Resource
+{
+ HRESULT Map(
+ [in] UINT Subresource,
+ [in] D3D10_MAP MapType,
+ [in] UINT MapFlags,
+ [out] void **ppData);
+ void Unmap(
+ [in] UINT Subresource);
+ void GetDesc(
+ [out] D3D10_TEXTURE1D_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
+]
+interface ID3D10Texture2D : ID3D10Resource
+{
+ HRESULT Map(
+ [in] UINT Subresource,
+ [in] D3D10_MAP MapType,
+ [in] UINT MapFlags,
+ [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
+ void Unmap(
+ [in] UINT Subresource);
+ void GetDesc(
+ [out] D3D10_TEXTURE2D_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
+]
+interface ID3D10Texture3D : ID3D10Resource
+{
+ HRESULT Map(
+ [in] UINT Subresource,
+ [in] D3D10_MAP MapType,
+ [in] UINT MapFlags,
+ [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
+ void Unmap(
+ [in] UINT Subresource);
+ void GetDesc(
+ [out] D3D10_TEXTURE3D_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
+]
+interface ID3D10View : ID3D10DeviceChild
+{
+ void GetResource(
+ [out] ID3D10Resource **ppResource);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10DepthStencilView : ID3D10View
+{
+ void GetDesc(
+ [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
+}
+
+
+[
+ object,
+ local,
+ uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10RenderTargetView : ID3D10View
+{
+ void GetDesc(
+ [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10ShaderResourceView : ID3D10View
+{
+ void GetDesc(
+ [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
+}
+
+/* Resource End */
+
+[
+ object,
+ local,
+ uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
+]
+interface ID3D10BlendState : ID3D10DeviceChild
+{
+ void GetDesc(
+ [out] D3D10_BLEND_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
+]
+interface ID3D10DepthStencilState : ID3D10DeviceChild
+{
+ void GetDesc(
+ [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(6316be88-54cd-4040-ab44-20461bc81f68)
+]
+interface ID3D10GeometryShader : ID3D10DeviceChild
+{
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10InputLayout : ID3D10DeviceChild
+{
+}
+
+[
+ object,
+ local,
+ uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
+]
+interface ID3D10PixelShader : ID3D10DeviceChild
+{
+}
+
+[
+ object,
+ local,
+ uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
+]
+interface ID3D10RasterizerState : ID3D10DeviceChild
+{
+ void GetDesc(
+ [out] D3D10_RASTERIZER_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10SamplerState : ID3D10DeviceChild
+{
+ void GetDesc(
+ [out] D3D10_SAMPLER_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10VertexShader : ID3D10DeviceChild
+{
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Asynchronous : ID3D10DeviceChild
+{
+ void Begin();
+ void End();
+ HRESULT GetData(
+ [out] void *pData,
+ [in] UINT DataSize,
+ [in] UINT GetDataFlags);
+ UINT GetDataSize();
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Counter : ID3D10Asynchronous
+{
+ void GetDesc(
+ [out] D3D10_COUNTER_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Query : ID3D10Asynchronous
+{
+ void GetDesc(
+ [out] D3D10_QUERY_DESC *pDesc);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Predicate : ID3D10Query
+{
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Device : IUnknown
+{
+ void VSSetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [in] ID3D10Buffer *const *ppConstantBuffers);
+ void PSSetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
+ void PSSetShader(
+ [in] ID3D10PixelShader *pPixelShader);
+ void PSSetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [in]ID3D10SamplerState *const *ppSamplers);
+ void VSSetShader(
+ [in] ID3D10VertexShader *pVertexShader);
+ void DrawIndexed(
+ [in] UINT IndexCount,
+ [in] UINT StartIndexLocation,
+ [in] INT BaseVertexLocation);
+ void Draw(
+ [in] UINT VertexCount,
+ [in] UINT StartVertexLocation);
+ void PSSetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [in] ID3D10Buffer *const *ppConstantBuffers);
+ void IASetInputLayout(
+ [in] ID3D10InputLayout *pInputLayout);
+ void IASetVertexBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [in] ID3D10Buffer *const *ppVertexBuffers,
+ [in] const UINT *pStrides,
+ [in] const UINT *pOffsets);
+ void IASetIndexBuffer(
+ [in] ID3D10Buffer *pIndexBuffer,
+ [in] DXGI_FORMAT Format,
+ [in] UINT Offset);
+ void DrawIndexedInstanced(
+ [in] UINT IndexCountPerInstance,
+ [in] UINT InstanceCount,
+ [in] UINT StartIndexLocation,
+ [in] INT BaseVertexLocation,
+ [in] UINT StartInstanceLocation);
+ void DrawInstanced(
+ [in] UINT VertexCountPerInstance,
+ [in] UINT InstanceCount,
+ [in] UINT StartVertexLocation,
+ [in] UINT StartInstanceLocation);
+ void GSSetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [in] ID3D10Buffer *const *ppConstantBuffers);
+ void GSSetShader(
+ [in] ID3D10GeometryShader *pShader);
+ void IASetPrimitiveTopology(
+ [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
+ void VSSetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
+ void VSSetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [in] ID3D10SamplerState *const *ppSamplers);
+ void SetPredication(
+ [in] ID3D10Predicate *pPredicate,
+ [in] BOOL PredicateValue);
+ void GSSetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
+ void GSSetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [in] ID3D10SamplerState *const *ppSamplers);
+ void OMSetRenderTargets(
+ [in] UINT NumViews,
+ [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
+ [in] ID3D10DepthStencilView *pDepthStencilView);
+ void OMSetBlendState(
+ [in] ID3D10BlendState *pBlendState,
+ [in] const FLOAT BlendFactor[4],
+ [in] UINT SampleMask);
+ void OMSetDepthStencilState(
+ [in] ID3D10DepthStencilState *pDepthStencilState,
+ [in] UINT StencilRef);
+ void SOSetTargets(
+ [in] UINT NumBuffers,
+ [in] ID3D10Buffer *const *ppSOTargets,
+ [in] const UINT *pOffsets);
+ void DrawAuto();
+ void RSSetState(
+ [in] ID3D10RasterizerState *pRasterizerState);
+ void RSSetViewports(
+ [in] UINT NumViewports,
+ [in] const D3D10_VIEWPORT *pViewports);
+ void RSSetScissorRects(
+ [in] UINT NumRects,
+ [in] const D3D10_RECT *pRects);
+ void CopySubresourceRegion(
+ [in] ID3D10Resource *pDstResource,
+ [in] UINT DstSubresource,
+ [in] UINT DstX,
+ [in] UINT DstY,
+ [in] UINT DstZ,
+ [in] ID3D10Resource *pSrcResource,
+ [in] UINT SrcSubresource,
+ [in] const D3D10_BOX *pSrcBox);
+ void CopyResource(
+ [in] ID3D10Resource *pDstResource,
+ [in] ID3D10Resource *pSrcResource);
+ void UpdateSubresource(
+ [in] ID3D10Resource *pDstResource,
+ [in] UINT DstSubresource,
+ [in] const D3D10_BOX *pDstBox,
+ [in] const void *pSrcData,
+ [in] UINT SrcRowPitch,
+ [in] UINT SrcDepthPitch);
+ void ClearRenderTargetView(
+ [in] ID3D10RenderTargetView *pRenderTargetView,
+ [in] const FLOAT ColorRGBA[4]);
+ void ClearDepthStencilView(
+ [in] ID3D10DepthStencilView *pDepthStencilView,
+ [in] UINT ClearFlags,
+ [in] FLOAT Depth,
+ [in] UINT8 Stencil);
+ void GenerateMips(
+ [in] ID3D10ShaderResourceView *pShaderResourceView);
+ void ResolveSubresource(
+ [in] ID3D10Resource *pDstResource,
+ [in] UINT DstSubresource,
+ [in] ID3D10Resource *pSrcResource,
+ [in] UINT SrcSubresource,
+ [in] DXGI_FORMAT Format);
+ void VSGetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [out] ID3D10Buffer **ppConstantBuffers);
+ void PSGetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [out] ID3D10ShaderResourceView **ppShaderResourceViews);
+ void PSGetShader(
+ [out] ID3D10PixelShader **ppPixelShader);
+ void PSGetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [out] ID3D10SamplerState **ppSamplers);
+ void VSGetShader(
+ [out] ID3D10VertexShader **ppVertexShader);
+ void PSGetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [out] ID3D10Buffer **ppConstantBuffers);
+ void IAGetInputLayout(
+ [out] ID3D10InputLayout **ppInputLayout);
+ void IAGetVertexBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [out] ID3D10Buffer **ppVertexBuffers,
+ [out] UINT *pStrides,
+ [out] UINT *pOffsets);
+ void IAGetIndexBuffer(
+ [out] ID3D10Buffer **pIndexBuffer,
+ [out] DXGI_FORMAT *Format,
+ [out] UINT *Offset);
+ void GSGetConstantBuffers(
+ [in] UINT StartSlot,
+ [in] UINT NumBuffers,
+ [out] ID3D10Buffer **ppConstantBuffers);
+ void GSGetShader(
+ [out] ID3D10GeometryShader **ppGeometryShader);
+ void IAGetPrimitiveTopology(
+ [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
+ void VSGetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [out] ID3D10ShaderResourceView **ppShaderResourceViews);
+ void VSGetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [out] ID3D10SamplerState **ppSamplers);
+ void GetPredication(
+ [out] ID3D10Predicate **ppPredicate,
+ [out] BOOL *pPredicateValue);
+ void GSGetShaderResources(
+ [in] UINT StartSlot,
+ [in] UINT NumViews,
+ [out] ID3D10ShaderResourceView **ppShaderResourceViews);
+ void GSGetSamplers(
+ [in] UINT StartSlot,
+ [in] UINT NumSamplers,
+ [out] ID3D10SamplerState **ppSamplers);
+ void OMGetRenderTargets(
+ [in] UINT NumViews,
+ [out] ID3D10RenderTargetView **ppRenderTargetViews,
+ [out] ID3D10DepthStencilView **ppDepthStencilView);
+ void OMGetBlendState(
+ [out] ID3D10BlendState **ppBlendState,
+ [out] FLOAT BlendFactor[4],
+ [out] UINT *pSampleMask);
+ void OMGetDepthStencilState(
+ [out] ID3D10DepthStencilState **ppDepthStencilState,
+ [out] UINT *pStencilRef);
+ void SOGetTargets(
+ [in] UINT NumBuffers,
+ [out] ID3D10Buffer **ppSOTargets,
+ [out] UINT *pOffsets);
+ void RSGetState(
+ [out] ID3D10RasterizerState **ppRasterizerState);
+ void RSGetViewports(
+ [in, out] UINT *NumViewports,
+ [out] D3D10_VIEWPORT *pViewports);
+ void RSGetScissorRects(
+ [in, out] UINT *NumRects,
+ [out] D3D10_RECT *pRects);
+ HRESULT GetDeviceRemovedReason();
+ HRESULT SetExceptionMode(
+ [in] UINT RaiseFlags);
+ UINT GetExceptionMode();
+ HRESULT GetPrivateData(
+ [in] REFGUID guid,
+ [in, out] UINT *pDataSize,
+ [out] void *pData);
+ HRESULT SetPrivateData(
+ [in] REFGUID guid,
+ [in] UINT DataSize,
+ [in] const void *pData);
+ HRESULT SetPrivateDataInterface(
+ [in] REFGUID guid,
+ [in] const IUnknown *pData);
+ void ClearState();
+ void Flush();
+ HRESULT CreateBuffer(
+ [in] const D3D10_BUFFER_DESC *pDesc,
+ [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
+ [out] ID3D10Buffer **ppBuffer);
+ HRESULT CreateTexture1D(
+ [in] const D3D10_TEXTURE1D_DESC *pDesc,
+ [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
+ [out] ID3D10Texture1D **ppTexture1D);
+ HRESULT CreateTexture2D(
+ [in] const D3D10_TEXTURE2D_DESC *pDesc,
+ [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
+ [out] ID3D10Texture2D **ppTexture2D);
+ HRESULT CreateTexture3D(
+ [in] const D3D10_TEXTURE3D_DESC *pDesc,
+ [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
+ [out] ID3D10Texture3D **ppTexture3D);
+ HRESULT CreateShaderResourceView(
+ [in] ID3D10Resource *pResource,
+ [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ [out] ID3D10ShaderResourceView **ppSRView);
+ HRESULT CreateRenderTargetView(
+ [in] ID3D10Resource *pResource,
+ [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
+ [out] ID3D10RenderTargetView **ppRTView);
+ HRESULT CreateDepthStencilView(
+ [in] ID3D10Resource *pResource,
+ [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ [out] ID3D10DepthStencilView **ppDepthStencilView);
+ HRESULT CreateInputLayout(
+ [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
+ [in] UINT NumElements,
+ [in] const void *pShaderBytecodeWithInputSignature,
+ [in] SIZE_T BytecodeLength,
+ [out] ID3D10InputLayout **ppInputLayout);
+ HRESULT CreateVertexShader(
+ [in] const void *pShaderBytecode,
+ [in] SIZE_T BytecodeLength,
+ [out] ID3D10VertexShader **ppVertexShader);
+ HRESULT CreateGeometryShader(
+ [in] const void *pShaderBytecode,
+ [in] SIZE_T BytecodeLength,
+ [out] ID3D10GeometryShader **ppGeometryShader);
+ HRESULT CreateGeometryShaderWithStreamOutput(
+ [in] const void *pShaderBytecode,
+ [in] SIZE_T BytecodeLength,
+ [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
+ [in] UINT NumEntries,
+ [in] UINT OutputStreamStride,
+ [out] ID3D10GeometryShader **ppGeometryShader);
+ HRESULT CreatePixelShader(
+ [in] const void *pShaderBytecode,
+ [in] SIZE_T BytecodeLength,
+ [out] ID3D10PixelShader **ppPixelShader);
+ HRESULT CreateBlendState(
+ [in] const D3D10_BLEND_DESC *pBlendStateDesc,
+ [out] ID3D10BlendState **ppBlendState);
+ HRESULT CreateDepthStencilState(
+ [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ [out] ID3D10DepthStencilState **ppDepthStencilState);
+ HRESULT CreateRasterizerState(
+ [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
+ [out] ID3D10RasterizerState **ppRasterizerState);
+ HRESULT CreateSamplerState(
+ [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
+ [out] ID3D10SamplerState **ppSamplerState);
+ HRESULT CreateQuery(
+ [in] const D3D10_QUERY_DESC *pQueryDesc,
+ [out] ID3D10Query **ppQuery);
+ HRESULT CreatePredicate(
+ [in] const D3D10_QUERY_DESC *pPredicateDesc,
+ [out] ID3D10Predicate **ppPredicate);
+ HRESULT CreateCounter(
+ [in] const D3D10_COUNTER_DESC *pCounterDesc,
+ [out] ID3D10Counter **ppCounter);
+ HRESULT CheckFormatSupport(
+ [in] DXGI_FORMAT Format,
+ [out] UINT *pFormatSupport);
+ HRESULT CheckMultisampleQualityLevels(
+ [in] DXGI_FORMAT Format,
+ [in] UINT SampleCount,
+ [out] UINT *pNumQualityLevels);
+ void CheckCounterInfo(
+ [out] D3D10_COUNTER_INFO *pCounterInfo);
+ HRESULT CheckCounter(
+ [in] const D3D10_COUNTER_DESC *pDesc,
+ [out] D3D10_COUNTER_TYPE *pType,
+ [out] UINT *pActiveCounters,
+ [out] LPSTR szName,
+ [in, out] UINT *pNameLength,
+ [out] LPSTR szUnits,
+ [in, out] UINT *pUnitsLength,
+ [out] LPSTR szDescription,
+ [in, out] UINT *pDescriptionLength);
+ UINT GetCreationFlags();
+ HRESULT OpenSharedResource(
+ [in] HANDLE hResource,
+ [in] REFIID ReturnedInterface,
+ [out] void **ppResource);
+ void SetTextFilterSize(
+ [in] UINT Width,
+ [in] UINT Height);
+ void GetTextFilterSize(
+ [out] UINT *pWidth,
+ [out] UINT *pHeight);
+}
+
+[
+ object,
+ local,
+ uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
+]
+interface ID3D10Multithread : IUnknown
+{
+ void Enter();
+ void Leave();
+ BOOL SetMultithreadProtected(
+ [in] BOOL bMTProtect);
+ BOOL GetMultithreadProtected();
+}
+
+cpp_quote("#include \"d3d10misc.h\"")
+cpp_quote("#include \"d3d10shader.h\"")
+cpp_quote("#include \"d3d10effect.h\"")
+/* TODO: Include "d310sdklayers.h" as soon as it exists */
--- /dev/null
+/*
+ * Copyright 2009 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
+ *
+ */
+
+#ifndef __WINE_D3D10EFFECT_H
+#define __WINE_D3D10EFFECT_H
+
+#include "d3d10.h"
+
+#define D3D10_EFFECT_VARIABLE_POOLED 0x1
+#define D3D10_EFFECT_VARIABLE_ANNOTATION 0x2
+#define D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT 0x4
+
+#ifndef D3D10_BYTES_FROM_BITS
+#define D3D10_BYTES_FROM_BITS(x) (((x) + 7) >> 3)
+#endif
+
+typedef struct _D3D10_EFFECT_TYPE_DESC
+{
+ LPCSTR TypeName;
+ D3D10_SHADER_VARIABLE_CLASS Class;
+ D3D10_SHADER_VARIABLE_TYPE Type;
+ UINT Elements;
+ UINT Members;
+ UINT Rows;
+ UINT Columns;
+ UINT PackedSize;
+ UINT UnpackedSize;
+ UINT Stride;
+} D3D10_EFFECT_TYPE_DESC;
+
+typedef struct _D3D10_EFFECT_VARIABLE_DESC
+{
+ LPCSTR Name;
+ LPCSTR Semantic;
+ UINT Flags;
+ UINT Annotations;
+ UINT BufferOffset;
+ UINT ExplicitBindPoint;
+} D3D10_EFFECT_VARIABLE_DESC;
+
+typedef struct _D3D10_TECHNIQUE_DESC
+{
+ LPCSTR Name;
+ UINT Passes;
+ UINT Annotations;
+} D3D10_TECHNIQUE_DESC;
+
+typedef struct _D3D10_STATE_BLOCK_MASK
+{
+ BYTE VS;
+ BYTE VSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+ BYTE VSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+ BYTE VSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+ BYTE GS;
+ BYTE GSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+ BYTE GSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+ BYTE GSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+ BYTE PS;
+ BYTE PSSamplers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT)];
+ BYTE PSShaderResources[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT)];
+ BYTE PSConstantBuffers[D3D10_BYTES_FROM_BITS(D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT)];
+ BYTE IAVertexBuffers[D3D10_BYTES_FROM_BITS(D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT)];
+ BYTE IAIndexBuffer;
+ BYTE IAInputLayout;
+ BYTE IAPrimitiveTopology;
+ BYTE OMRenderTargets;
+ BYTE OMDepthStencilState;
+ BYTE OMBlendState;
+ BYTE RSViewports;
+ BYTE RSScissorRects;
+ BYTE RSRasterizerState;
+ BYTE SOBuffers;
+ BYTE Predication;
+} D3D10_STATE_BLOCK_MASK;
+
+typedef struct _D3D10_EFFECT_DESC
+{
+ BOOL IsChildEffect;
+ UINT ConstantBuffers;
+ UINT SharedConstantBuffers;
+ UINT GlobalVariables;
+ UINT SharedGlobalVariables;
+ UINT Techniques;
+} D3D10_EFFECT_DESC;
+
+typedef struct _D3D10_EFFECT_SHADER_DESC
+{
+ const BYTE *pInputSignature;
+ BOOL IsInline;
+ const BYTE *pBytecode;
+ UINT BytecodeLength;
+ LPCSTR SODecl;
+ UINT NumInputSignatureEntries;
+ UINT NumOutputSignatureEntries;
+} D3D10_EFFECT_SHADER_DESC;
+
+typedef struct _D3D10_PASS_DESC
+{
+ LPCSTR Name;
+ UINT Annotations;
+ BYTE *pIAInputSignature;
+ SIZE_T IAInputSignatureSize;
+ UINT StencilRef;
+ UINT SampleMask;
+ FLOAT BlendFactor[4];
+} D3D10_PASS_DESC;
+
+typedef struct _D3D10_PASS_SHADER_DESC
+{
+ struct ID3D10EffectShaderVariable *pShaderVariable;
+ UINT ShaderIndex;
+} D3D10_PASS_SHADER_DESC;
+
+DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
+
+#define INTERFACE ID3D10EffectType
+DECLARE_INTERFACE(ID3D10EffectType)
+{
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT index) PURE;
+ STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT index) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectVariable, 0xae897105, 0x00e6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b);
+
+#define INTERFACE ID3D10EffectVariable
+DECLARE_INTERFACE(ID3D10EffectVariable)
+{
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectConstantBuffer, 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3);
+
+#define INTERFACE ID3D10EffectConstantBuffer
+DECLARE_INTERFACE_(ID3D10EffectConstantBuffer, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectConstantBuffer methods */
+ STDMETHOD(SetConstantBuffer)(THIS_ ID3D10Buffer *buffer) PURE;
+ STDMETHOD(GetConstantBuffer)(THIS_ ID3D10Buffer **buffer) PURE;
+ STDMETHOD(SetTextureBuffer)(THIS_ ID3D10ShaderResourceView *view) PURE;
+ STDMETHOD(GetTextureBuffer)(THIS_ ID3D10ShaderResourceView **view) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectScalarVariable, 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x02, 0x2d, 0xee, 0x53, 0x43, 0x1f);
+
+#define INTERFACE ID3D10EffectScalarVariable
+DECLARE_INTERFACE_(ID3D10EffectScalarVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectScalarVariable methods */
+ STDMETHOD(SetFloat)(THIS_ float value) PURE;
+ STDMETHOD(GetFloat)(THIS_ float *value) PURE;
+ STDMETHOD(SetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetFloatArray)(THIS_ float *values, UINT offset, UINT count) PURE;
+ STDMETHOD(SetInt)(THIS_ int value) PURE;
+ STDMETHOD(GetInt)(THIS_ int *value) PURE;
+ STDMETHOD(SetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetIntArray)(THIS_ int *values, UINT offset, UINT count) PURE;
+ STDMETHOD(SetBool)(THIS_ BOOL value) PURE;
+ STDMETHOD(GetBool)(THIS_ BOOL *value) PURE;
+ STDMETHOD(SetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetBoolArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectVectorVariable, 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81);
+
+#define INTERFACE ID3D10EffectVectorVariable
+DECLARE_INTERFACE_(ID3D10EffectVectorVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectVectorVariable methods */
+ STDMETHOD(SetBoolVector)(THIS_ BOOL *value) PURE;
+ STDMETHOD(SetIntVector)(THIS_ int *value) PURE;
+ STDMETHOD(SetFloatVector)(THIS_ float *value) PURE;
+ STDMETHOD(GetBoolVector)(THIS_ BOOL *value) PURE;
+ STDMETHOD(GetIntVector)(THIS_ int *value) PURE;
+ STDMETHOD(GetFloatVector)(THIS_ float *value) PURE;
+ STDMETHOD(SetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
+ STDMETHOD(SetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
+ STDMETHOD(SetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetBoolVectorArray)(THIS_ BOOL *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetIntVectorArray)(THIS_ int *values, UINT offset, UINT count) PURE;
+ STDMETHOD(GetFloatVectorArray)(THIS_ float *values, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectMatrixVariable, 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0);
+
+#define INTERFACE ID3D10EffectMatrixVariable
+DECLARE_INTERFACE_(ID3D10EffectMatrixVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectMatrixVariable methods */
+ STDMETHOD(SetMatrix)(THIS_ float *data) PURE;
+ STDMETHOD(GetMatrix)(THIS_ float *data) PURE;
+ STDMETHOD(SetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetMatrixArray)(THIS_ float *data, UINT offset, UINT count) PURE;
+ STDMETHOD(SetMatrixTranspose)(THIS_ float *data) PURE;
+ STDMETHOD(GetMatrixTranspose)(THIS_ float *data) PURE;
+ STDMETHOD(SetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetMatrixTransposeArray)(THIS_ float *data, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectStringVariable, 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff);
+
+#define INTERFACE ID3D10EffectStringVariable
+DECLARE_INTERFACE_(ID3D10EffectStringVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectStringVariable methods */
+ STDMETHOD(GetString)(THIS_ LPCSTR *str) PURE;
+ STDMETHOD(GetStringArray)(THIS_ LPCSTR *strs, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectShaderResourceVariable,
+ 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc);
+
+#define INTERFACE ID3D10EffectShaderResourceVariable
+DECLARE_INTERFACE_(ID3D10EffectShaderResourceVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectShaderResourceVariable methods */
+ STDMETHOD(SetResource)(THIS_ ID3D10ShaderResourceView *resource) PURE;
+ STDMETHOD(GetResource)(THIS_ ID3D10ShaderResourceView **resource) PURE;
+ STDMETHOD(SetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
+ STDMETHOD(GetResourceArray)(THIS_ ID3D10ShaderResourceView **resources, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectRenderTargetViewVariable,
+ 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17);
+
+#define INTERFACE ID3D10EffectRenderTargetViewVariable
+DECLARE_INTERFACE_(ID3D10EffectRenderTargetViewVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectRenderTargetViewVariable methods */
+ STDMETHOD(SetRenderTarget)(THIS_ ID3D10RenderTargetView *view) PURE;
+ STDMETHOD(GetRenderTarget)(THIS_ ID3D10RenderTargetView **view) PURE;
+ STDMETHOD(SetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRenderTargetArray)(THIS_ ID3D10RenderTargetView **views, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilViewVariable,
+ 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23);
+
+#define INTERFACE ID3D10EffectDepthStencilViewVariable
+DECLARE_INTERFACE_(ID3D10EffectDepthStencilViewVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectDepthStencilViewVariable methods */
+ STDMETHOD(SetDepthStencil)(THIS_ ID3D10DepthStencilView *view) PURE;
+ STDMETHOD(GetDepthStencil)(THIS_ ID3D10DepthStencilView **view) PURE;
+ STDMETHOD(SetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
+ STDMETHOD(GetDepthStencilArray)(THIS_ ID3D10DepthStencilView **views, UINT offset, UINT count) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectShaderVariable, 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06);
+
+#define INTERFACE ID3D10EffectShaderVariable
+DECLARE_INTERFACE_(ID3D10EffectShaderVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectShaderVariable methods */
+ STDMETHOD(GetShaderDesc)(THIS_ UINT index, D3D10_EFFECT_SHADER_DESC *desc) PURE;
+ STDMETHOD(GetVertexShader)(THIS_ UINT index, ID3D10VertexShader **shader) PURE;
+ STDMETHOD(GetGeometryShader)(THIS_ UINT index, ID3D10GeometryShader **shader) PURE;
+ STDMETHOD(GetPixelShader)(THIS_ UINT index, ID3D10PixelShader **shader) PURE;
+ STDMETHOD(GetInputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
+ D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
+ STDMETHOD(GetOutputSignatureElementDesc)(THIS_ UINT shader_index, UINT element_index,
+ D3D10_SIGNATURE_PARAMETER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectBlendVariable, 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b);
+
+#define INTERFACE ID3D10EffectBlendVariable
+DECLARE_INTERFACE_(ID3D10EffectBlendVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectBlendVariable methods */
+ STDMETHOD(GetBlendState)(THIS_ UINT index, ID3D10BlendState **blend_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_BLEND_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectDepthStencilVariable,
+ 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d);
+
+#define INTERFACE ID3D10EffectDepthStencilVariable
+DECLARE_INTERFACE_(ID3D10EffectDepthStencilVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectDepthStencilVariable methods */
+ STDMETHOD(GetDepthStencilState)(THIS_ UINT index, ID3D10DepthStencilState **depth_stencil_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_DEPTH_STENCIL_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectRasterizerVariable,
+ 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34);
+
+#define INTERFACE ID3D10EffectRasterizerVariable
+DECLARE_INTERFACE_(ID3D10EffectRasterizerVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectRasterizerVariable methods */
+ STDMETHOD(GetRasterizerState)(THIS_ UINT index, ID3D10RasterizerState **rasterizer_state) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_RASTERIZER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectSamplerVariable,
+ 0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80);
+
+#define INTERFACE ID3D10EffectSamplerVariable
+DECLARE_INTERFACE_(ID3D10EffectSamplerVariable, ID3D10EffectVariable)
+{
+ /* ID3D10EffectVariable methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectType *, GetType)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_VARIABLE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetMemberBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetElement)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetParentConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectScalarVariable *, AsScalar)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectVectorVariable *, AsVector)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectMatrixVariable *, AsMatrix)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectStringVariable *, AsString)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderResourceVariable *, AsShaderResource)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRenderTargetViewVariable *, AsRenderTargetView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilViewVariable *, AsDepthStencilView)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, AsConstantBuffer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectShaderVariable *, AsShader)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectBlendVariable *, AsBlend)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectDepthStencilVariable *, AsDepthStencil)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectRasterizerVariable *, AsRasterizer)(THIS) PURE;
+ STDMETHOD_(struct ID3D10EffectSamplerVariable *, AsSampler)(THIS) PURE;
+ STDMETHOD(SetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ STDMETHOD(GetRawValue)(THIS_ void *data, UINT offset, UINT count) PURE;
+ /* ID3D10EffectSamplerVariable methods */
+ STDMETHOD(GetSampler)(THIS_ UINT index, ID3D10SamplerState **sampler) PURE;
+ STDMETHOD(GetBackingStore)(THIS_ UINT index, D3D10_SAMPLER_DESC *desc) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectTechnique, 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75);
+
+#define INTERFACE ID3D10EffectTechnique
+DECLARE_INTERFACE(ID3D10EffectTechnique)
+{
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_TECHNIQUE_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectPass *, GetPassByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectPass *, GetPassByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10Effect, 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0x0d, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7);
+
+#define INTERFACE ID3D10Effect
+DECLARE_INTERFACE_(ID3D10Effect, IUnknown)
+{
+ /* IUnknown methods */
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
+ /* ID3D10Effect methods */
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD_(BOOL, IsPool)(THIS) PURE;
+ STDMETHOD(GetDevice)(THIS_ ID3D10Device **device) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectConstantBuffer *, GetConstantBufferByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetVariableByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetVariableBySemantic)(THIS_ LPCSTR semantic) PURE;
+ STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectTechnique *, GetTechniqueByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD(Optimize)(THIS) PURE;
+ STDMETHOD_(BOOL, IsOptimized)(THIS) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
+
+#define INTERFACE ID3D10EffectPool
+DECLARE_INTERFACE_(ID3D10EffectPool, IUnknown)
+{
+ /* IUnknown methods */
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
+ /* ID3D10EffectPool methods */
+ STDMETHOD_(struct ID3D10Effect *, AsEffect)(THIS) PURE;
+};
+#undef INTERFACE
+
+DEFINE_GUID(IID_ID3D10EffectPass, 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54);
+
+#define INTERFACE ID3D10EffectPass
+DECLARE_INTERFACE(ID3D10EffectPass)
+{
+ STDMETHOD_(BOOL, IsValid)(THIS) PURE;
+ STDMETHOD(GetDesc)(THIS_ D3D10_PASS_DESC *desc) PURE;
+ STDMETHOD(GetVertexShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
+ STDMETHOD(GetGeometryShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
+ STDMETHOD(GetPixelShaderDesc)(THIS_ D3D10_PASS_SHADER_DESC *desc) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByIndex)(THIS_ UINT index) PURE;
+ STDMETHOD_(struct ID3D10EffectVariable *, GetAnnotationByName)(THIS_ LPCSTR name) PURE;
+ STDMETHOD(Apply)(THIS_ UINT flags) PURE;
+ STDMETHOD(ComputeStateBlockMask)(THIS_ D3D10_STATE_BLOCK_MASK *mask) PURE;
+};
+#undef INTERFACE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags,
+ ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WINE_D3D10EFFECT_H */
--- /dev/null
+/*
+ * 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
+ */
+
+#ifndef __D3D10MISC_H__
+#define __D3D10MISC_H__
+
+#include "d3d10.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum D3D10_DRIVER_TYPE {
+ D3D10_DRIVER_TYPE_HARDWARE = 0,
+ D3D10_DRIVER_TYPE_REFERENCE = 1,
+ D3D10_DRIVER_TYPE_NULL = 2,
+ D3D10_DRIVER_TYPE_SOFTWARE = 3,
+} D3D10_DRIVER_TYPE;
+
+HRESULT WINAPI D3D10CreateDevice(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
+ HMODULE swrast, UINT flags, UINT sdk_version, ID3D10Device **device);
+
+HRESULT WINAPI D3D10CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
+ HMODULE swrast, UINT flags, UINT sdk_version, DXGI_SWAP_CHAIN_DESC *swapchain_desc,
+ IDXGISwapChain **swapchain, ID3D10Device **device);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __D3D10MISC_H__ */
--- /dev/null
+/*
+ * Copyright 2009 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
+ *
+ */
+
+#ifndef __WINE_D3D10SHADER_H
+#define __WINE_D3D10SHADER_H
+
+#include "d3d10.h"
+
+#define D3D10_SHADER_DEBUG 0x0001
+#define D3D10_SHADER_SKIP_VALIDATION 0x0002
+#define D3D10_SHADER_SKIP_OPTIMIZATION 0x0004
+#define D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 0x0008
+#define D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 0x0010
+#define D3D10_SHADER_PARTIAL_PRECISION 0x0020
+#define D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 0x0040
+#define D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 0x0080
+#define D3D10_SHADER_NO_PRESHADER 0x0100
+#define D3D10_SHADER_AVOID_FLOW_CONTROL 0x0200
+#define D3D10_SHADER_PREFER_FLOW_CONTROL 0x0400
+#define D3D10_SHADER_ENABLE_STRICTNESS 0x0800
+#define D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 0x1000
+#define D3D10_SHADER_IEEE_STRICTNESS 0x2000
+
+typedef enum _D3D10_SHADER_VARIABLE_CLASS
+{
+ D3D10_SVC_SCALAR,
+ D3D10_SVC_VECTOR,
+ D3D10_SVC_MATRIX_ROWS,
+ D3D10_SVC_MATRIX_COLUMNS,
+ D3D10_SVC_OBJECT,
+ D3D10_SVC_STRUCT,
+ D3D10_SVC_FORCE_DWORD = 0x7fffffff
+} D3D10_SHADER_VARIABLE_CLASS, *LPD3D10_SHADER_VARIABLE_CLASS;
+
+typedef enum _D3D10_SHADER_VARIABLE_TYPE
+{
+ D3D10_SVT_VOID = 0,
+ D3D10_SVT_BOOL = 1,
+ D3D10_SVT_INT = 2,
+ D3D10_SVT_FLOAT = 3,
+ D3D10_SVT_STRING = 4,
+ D3D10_SVT_TEXTURE = 5,
+ D3D10_SVT_TEXTURE1D = 6,
+ D3D10_SVT_TEXTURE2D = 7,
+ D3D10_SVT_TEXTURE3D = 8,
+ D3D10_SVT_TEXTURECUBE = 9,
+ D3D10_SVT_SAMPLER = 10,
+ D3D10_SVT_PIXELSHADER = 15,
+ D3D10_SVT_VERTEXSHADER = 16,
+ D3D10_SVT_UINT = 19,
+ D3D10_SVT_UINT8 = 20,
+ D3D10_SVT_GEOMETRYSHADER = 21,
+ D3D10_SVT_RASTERIZER = 22,
+ D3D10_SVT_DEPTHSTENCIL = 23,
+ D3D10_SVT_BLEND = 24,
+ D3D10_SVT_BUFFER = 25,
+ D3D10_SVT_CBUFFER = 26,
+ D3D10_SVT_TBUFFER = 27,
+ D3D10_SVT_TEXTURE1DARRAY = 28,
+ D3D10_SVT_TEXTURE2DARRAY = 29,
+ D3D10_SVT_RENDERTARGETVIEW = 30,
+ D3D10_SVT_DEPTHSTENCILVIEW = 31,
+ D3D10_SVT_TEXTURE2DMS = 32,
+ D3D10_SVT_TEXTURE2DMSARRAY = 33,
+ D3D10_SVT_TEXTURECUBEARRAY = 34,
+ D3D10_SVT_FORCE_DWORD = 0x7fffffff
+} D3D10_SHADER_VARIABLE_TYPE, *LPD3D10_SHADER_VARIABLE_TYPE;
+
+typedef enum D3D10_CBUFFER_TYPE
+{
+ D3D10_CT_CBUFFER = 0,
+ D3D10_CT_TBUFFER = 1
+} D3D10_CBUFFER_TYPE, *LPD3D10_CBUFFER_TYPE;
+
+typedef enum D3D10_NAME
+{
+ D3D10_NAME_UNDEFINED = 0,
+ D3D10_NAME_POSITION = 1,
+ D3D10_NAME_CLIP_DISTANCE = 2,
+ D3D10_NAME_CULL_DISTANCE = 3,
+ D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
+ D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5,
+ D3D10_NAME_VERTEX_ID = 6,
+ D3D10_NAME_PRIMITIVE_ID = 7,
+ D3D10_NAME_INSTANCE_ID = 8,
+ D3D10_NAME_IS_FRONT_FACE = 9,
+ D3D10_NAME_SAMPLE_INDEX = 10,
+ D3D10_NAME_TARGET = 64,
+ D3D10_NAME_DE