ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wined3d.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2002-2003 The wine-d3d team
00003  * Copyright 2002-2003 Jason Edmeades
00004  * Copyright 2002-2003 Raphael Junqueira
00005  * Copyright 2005 Oliver Stieber
00006  * Copyright 2006 Stefan Dösinger
00007  * Copyright 2006 Stefan Dösinger for CodeWeavers
00008  * Copyright 2007 Henri Verbeet
00009  * Copyright 2008 Henri Verbeet for CodeWeavers
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Lesser General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2.1 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public
00022  * License along with this library; if not, write to the Free Software
00023  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00024  */
00025 
00026 #ifndef __WINE_WINED3D_H
00027 #define __WINE_WINED3D_H
00028 
00029 #define WINED3D_OK                                              S_OK
00030 
00031 #define _FACWINED3D                                             0x876
00032 #define MAKE_WINED3DSTATUS(code)                                MAKE_HRESULT(0, _FACWINED3D, code)
00033 #define WINED3DOK_NOAUTOGEN                                     MAKE_WINED3DSTATUS(2159)
00034 
00035 #define MAKE_WINED3DHRESULT(code)                               MAKE_HRESULT(1, _FACWINED3D, code)
00036 #define WINED3DERR_WRONGTEXTUREFORMAT                           MAKE_WINED3DHRESULT(2072)
00037 #define WINED3DERR_UNSUPPORTEDCOLOROPERATION                    MAKE_WINED3DHRESULT(2073)
00038 #define WINED3DERR_UNSUPPORTEDCOLORARG                          MAKE_WINED3DHRESULT(2074)
00039 #define WINED3DERR_UNSUPPORTEDALPHAOPERATION                    MAKE_WINED3DHRESULT(2075)
00040 #define WINED3DERR_UNSUPPORTEDALPHAARG                          MAKE_WINED3DHRESULT(2076)
00041 #define WINED3DERR_TOOMANYOPERATIONS                            MAKE_WINED3DHRESULT(2077)
00042 #define WINED3DERR_CONFLICTINGTEXTUREFILTER                     MAKE_WINED3DHRESULT(2078)
00043 #define WINED3DERR_UNSUPPORTEDFACTORVALUE                       MAKE_WINED3DHRESULT(2079)
00044 #define WINED3DERR_CONFLICTINGRENDERSTATE                       MAKE_WINED3DHRESULT(2081)
00045 #define WINED3DERR_UNSUPPORTEDTEXTUREFILTER                     MAKE_WINED3DHRESULT(2082)
00046 #define WINED3DERR_CONFLICTINGTEXTUREPALETTE                    MAKE_WINED3DHRESULT(2086)
00047 #define WINED3DERR_DRIVERINTERNALERROR                          MAKE_WINED3DHRESULT(2087)
00048 #define WINED3DERR_NOTFOUND                                     MAKE_WINED3DHRESULT(2150)
00049 #define WINED3DERR_MOREDATA                                     MAKE_WINED3DHRESULT(2151)
00050 #define WINED3DERR_DEVICELOST                                   MAKE_WINED3DHRESULT(2152)
00051 #define WINED3DERR_DEVICENOTRESET                               MAKE_WINED3DHRESULT(2153)
00052 #define WINED3DERR_NOTAVAILABLE                                 MAKE_WINED3DHRESULT(2154)
00053 #define WINED3DERR_OUTOFVIDEOMEMORY                             MAKE_WINED3DHRESULT(380)
00054 #define WINED3DERR_INVALIDDEVICE                                MAKE_WINED3DHRESULT(2155)
00055 #define WINED3DERR_INVALIDCALL                                  MAKE_WINED3DHRESULT(2156)
00056 #define WINED3DERR_DRIVERINVALIDCALL                            MAKE_WINED3DHRESULT(2157)
00057 #define WINED3DERR_WASSTILLDRAWING                              MAKE_WINED3DHRESULT(540)
00058 #define WINEDDERR_NOTAOVERLAYSURFACE                            MAKE_WINED3DHRESULT(580)
00059 #define WINEDDERR_NOTLOCKED                                     MAKE_WINED3DHRESULT(584)
00060 #define WINEDDERR_NODC                                          MAKE_WINED3DHRESULT(586)
00061 #define WINEDDERR_DCALREADYCREATED                              MAKE_WINED3DHRESULT(620)
00062 #define WINEDDERR_NOTFLIPPABLE                                  MAKE_WINED3DHRESULT(582)
00063 #define WINEDDERR_SURFACEBUSY                                   MAKE_WINED3DHRESULT(430)
00064 #define WINEDDERR_INVALIDRECT                                   MAKE_WINED3DHRESULT(150)
00065 #define WINEDDERR_NOCLIPLIST                                    MAKE_WINED3DHRESULT(205)
00066 #define WINEDDERR_OVERLAYNOTVISIBLE                             MAKE_WINED3DHRESULT(577)
00067 
00068 enum wined3d_light_type
00069 {
00070     WINED3D_LIGHT_POINT                     = 1,
00071     WINED3D_LIGHT_SPOT                      = 2,
00072     WINED3D_LIGHT_DIRECTIONAL               = 3,
00073     WINED3D_LIGHT_PARALLELPOINT             = 4, /* D3D7 */
00074     WINED3D_LIGHT_GLSPOT                    = 5, /* D3D7 */
00075 };
00076 
00077 enum wined3d_primitive_type
00078 {
00079     WINED3D_PT_UNDEFINED                    = 0,
00080     WINED3D_PT_POINTLIST                    = 1,
00081     WINED3D_PT_LINELIST                     = 2,
00082     WINED3D_PT_LINESTRIP                    = 3,
00083     WINED3D_PT_TRIANGLELIST                 = 4,
00084     WINED3D_PT_TRIANGLESTRIP                = 5,
00085     WINED3D_PT_TRIANGLEFAN                  = 6,
00086     WINED3D_PT_LINELIST_ADJ                 = 10,
00087     WINED3D_PT_LINESTRIP_ADJ                = 11,
00088     WINED3D_PT_TRIANGLELIST_ADJ             = 12,
00089     WINED3D_PT_TRIANGLESTRIP_ADJ            = 13,
00090 };
00091 
00092 enum wined3d_device_type
00093 {
00094     WINED3D_DEVICE_TYPE_HAL                 = 1,
00095     WINED3D_DEVICE_TYPE_REF                 = 2,
00096     WINED3D_DEVICE_TYPE_SW                  = 3,
00097     WINED3D_DEVICE_TYPE_NULLREF             = 4,
00098 };
00099 
00100 enum wined3d_degree_type
00101 {
00102     WINED3D_DEGREE_LINEAR                   = 1,
00103     WINED3D_DEGREE_QUADRATIC                = 2,
00104     WINED3D_DEGREE_CUBIC                    = 3,
00105     WINED3D_DEGREE_QUINTIC                  = 5,
00106 };
00107 
00108 #define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \
00109         ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
00110         ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))
00111 
00112 enum wined3d_format_id
00113 {
00114     WINED3DFMT_UNKNOWN,
00115     WINED3DFMT_B8G8R8_UNORM,
00116     WINED3DFMT_B5G5R5X1_UNORM,
00117     WINED3DFMT_B4G4R4A4_UNORM,
00118     WINED3DFMT_B2G3R3_UNORM,
00119     WINED3DFMT_B2G3R3A8_UNORM,
00120     WINED3DFMT_B4G4R4X4_UNORM,
00121     WINED3DFMT_R8G8B8X8_UNORM,
00122     WINED3DFMT_B10G10R10A2_UNORM,
00123     WINED3DFMT_P8_UINT_A8_UNORM,
00124     WINED3DFMT_P8_UINT,
00125     WINED3DFMT_L8_UNORM,
00126     WINED3DFMT_L8A8_UNORM,
00127     WINED3DFMT_L4A4_UNORM,
00128     WINED3DFMT_R5G5_SNORM_L6_UNORM,
00129     WINED3DFMT_R8G8_SNORM_L8X8_UNORM,
00130     WINED3DFMT_R10G11B11_SNORM,
00131     WINED3DFMT_R10G10B10_SNORM_A2_UNORM,
00132     WINED3DFMT_D16_LOCKABLE,
00133     WINED3DFMT_D32_UNORM,
00134     WINED3DFMT_S1_UINT_D15_UNORM,
00135     WINED3DFMT_X8D24_UNORM,
00136     WINED3DFMT_S4X4_UINT_D24_UNORM,
00137     WINED3DFMT_L16_UNORM,
00138     WINED3DFMT_S8_UINT_D24_FLOAT,
00139     WINED3DFMT_VERTEXDATA,
00140     WINED3DFMT_R8G8_SNORM_Cx,
00141     WINED3DFMT_R32G32B32A32_TYPELESS,
00142     WINED3DFMT_R32G32B32A32_FLOAT,
00143     WINED3DFMT_R32G32B32A32_UINT,
00144     WINED3DFMT_R32G32B32A32_SINT,
00145     WINED3DFMT_R32G32B32_TYPELESS,
00146     WINED3DFMT_R32G32B32_FLOAT,
00147     WINED3DFMT_R32G32B32_UINT,
00148     WINED3DFMT_R32G32B32_SINT,
00149     WINED3DFMT_R16G16B16A16_TYPELESS,
00150     WINED3DFMT_R16G16B16A16_FLOAT,
00151     WINED3DFMT_R16G16B16A16_UNORM,
00152     WINED3DFMT_R16G16B16A16_UINT,
00153     WINED3DFMT_R16G16B16A16_SNORM,
00154     WINED3DFMT_R16G16B16A16_SINT,
00155     WINED3DFMT_R32G32_TYPELESS,
00156     WINED3DFMT_R32G32_FLOAT,
00157     WINED3DFMT_R32G32_UINT,
00158     WINED3DFMT_R32G32_SINT,
00159     WINED3DFMT_R32G8X24_TYPELESS,
00160     WINED3DFMT_D32_FLOAT_S8X24_UINT,
00161     WINED3DFMT_R32_FLOAT_X8X24_TYPELESS,
00162     WINED3DFMT_X32_TYPELESS_G8X24_UINT,
00163     WINED3DFMT_R10G10B10A2_TYPELESS,
00164     WINED3DFMT_R10G10B10A2_UNORM,
00165     WINED3DFMT_R10G10B10A2_UINT,
00166     WINED3DFMT_R10G10B10A2_SNORM,
00167     WINED3DFMT_R11G11B10_FLOAT,
00168     WINED3DFMT_R8G8B8A8_TYPELESS,
00169     WINED3DFMT_R8G8B8A8_UNORM,
00170     WINED3DFMT_R8G8B8A8_UNORM_SRGB,
00171     WINED3DFMT_R8G8B8A8_UINT,
00172     WINED3DFMT_R8G8B8A8_SNORM,
00173     WINED3DFMT_R8G8B8A8_SINT,
00174     WINED3DFMT_R16G16_TYPELESS,
00175     WINED3DFMT_R16G16_FLOAT,
00176     WINED3DFMT_R16G16_UNORM,
00177     WINED3DFMT_R16G16_UINT,
00178     WINED3DFMT_R16G16_SNORM,
00179     WINED3DFMT_R16G16_SINT,
00180     WINED3DFMT_R32_TYPELESS,
00181     WINED3DFMT_D32_FLOAT,
00182     WINED3DFMT_R32_FLOAT,
00183     WINED3DFMT_R32_UINT,
00184     WINED3DFMT_R32_SINT,
00185     WINED3DFMT_R24G8_TYPELESS,
00186     WINED3DFMT_D24_UNORM_S8_UINT,
00187     WINED3DFMT_R24_UNORM_X8_TYPELESS,
00188     WINED3DFMT_X24_TYPELESS_G8_UINT,
00189     WINED3DFMT_R8G8_TYPELESS,
00190     WINED3DFMT_R8G8_UNORM,
00191     WINED3DFMT_R8G8_UINT,
00192     WINED3DFMT_R8G8_SNORM,
00193     WINED3DFMT_R8G8_SINT,
00194     WINED3DFMT_R16_TYPELESS,
00195     WINED3DFMT_R16_FLOAT,
00196     WINED3DFMT_D16_UNORM,
00197     WINED3DFMT_R16_UNORM,
00198     WINED3DFMT_R16_UINT,
00199     WINED3DFMT_R16_SNORM,
00200     WINED3DFMT_R16_SINT,
00201     WINED3DFMT_R8_TYPELESS,
00202     WINED3DFMT_R8_UNORM,
00203     WINED3DFMT_R8_UINT,
00204     WINED3DFMT_R8_SNORM,
00205     WINED3DFMT_R8_SINT,
00206     WINED3DFMT_A8_UNORM,
00207     WINED3DFMT_R1_UNORM,
00208     WINED3DFMT_R9G9B9E5_SHAREDEXP,
00209     WINED3DFMT_R8G8_B8G8_UNORM,
00210     WINED3DFMT_G8R8_G8B8_UNORM,
00211     WINED3DFMT_BC1_TYPELESS,
00212     WINED3DFMT_BC1_UNORM,
00213     WINED3DFMT_BC1_UNORM_SRGB,
00214     WINED3DFMT_BC2_TYPELESS,
00215     WINED3DFMT_BC2_UNORM,
00216     WINED3DFMT_BC2_UNORM_SRGB,
00217     WINED3DFMT_BC3_TYPELESS,
00218     WINED3DFMT_BC3_UNORM,
00219     WINED3DFMT_BC3_UNORM_SRGB,
00220     WINED3DFMT_BC4_TYPELESS,
00221     WINED3DFMT_BC4_UNORM,
00222     WINED3DFMT_BC4_SNORM,
00223     WINED3DFMT_BC5_TYPELESS,
00224     WINED3DFMT_BC5_UNORM,
00225     WINED3DFMT_BC5_SNORM,
00226     WINED3DFMT_B5G6R5_UNORM,
00227     WINED3DFMT_B5G5R5A1_UNORM,
00228     WINED3DFMT_B8G8R8A8_UNORM,
00229     WINED3DFMT_B8G8R8X8_UNORM,
00230     /* FOURCC formats. */
00231     WINED3DFMT_UYVY                         = WINEMAKEFOURCC('U','Y','V','Y'),
00232     WINED3DFMT_YUY2                         = WINEMAKEFOURCC('Y','U','Y','2'),
00233     WINED3DFMT_YV12                         = WINEMAKEFOURCC('Y','V','1','2'),
00234     WINED3DFMT_DXT1                         = WINEMAKEFOURCC('D','X','T','1'),
00235     WINED3DFMT_DXT2                         = WINEMAKEFOURCC('D','X','T','2'),
00236     WINED3DFMT_DXT3                         = WINEMAKEFOURCC('D','X','T','3'),
00237     WINED3DFMT_DXT4                         = WINEMAKEFOURCC('D','X','T','4'),
00238     WINED3DFMT_DXT5                         = WINEMAKEFOURCC('D','X','T','5'),
00239     WINED3DFMT_MULTI2_ARGB8                 = WINEMAKEFOURCC('M','E','T','1'),
00240     WINED3DFMT_G8R8_G8B8                    = WINEMAKEFOURCC('G','R','G','B'),
00241     WINED3DFMT_R8G8_B8G8                    = WINEMAKEFOURCC('R','G','B','G'),
00242     WINED3DFMT_ATI2N                        = WINEMAKEFOURCC('A','T','I','2'),
00243     WINED3DFMT_INST                         = WINEMAKEFOURCC('I','N','S','T'),
00244     WINED3DFMT_NVDB                         = WINEMAKEFOURCC('N','V','D','B'),
00245     WINED3DFMT_NVHU                         = WINEMAKEFOURCC('N','V','H','U'),
00246     WINED3DFMT_NVHS                         = WINEMAKEFOURCC('N','V','H','S'),
00247     WINED3DFMT_INTZ                         = WINEMAKEFOURCC('I','N','T','Z'),
00248     WINED3DFMT_NULL                         = WINEMAKEFOURCC('N','U','L','L'),
00249     WINED3DFMT_R16                          = WINEMAKEFOURCC(' ','R','1','6'),
00250     WINED3DFMT_AL16                         = WINEMAKEFOURCC('A','L','1','6'),
00251 
00252     WINED3DFMT_FORCE_DWORD = 0xffffffff
00253 };
00254 
00255 enum wined3d_render_state
00256 {
00257     WINED3D_RS_ANTIALIAS                    = 2, /* d3d7 */
00258     WINED3D_RS_TEXTUREPERSPECTIVE           = 4, /* d3d7 */
00259     WINED3D_RS_WRAPU                        = 5, /* d3d7 */
00260     WINED3D_RS_WRAPV                        = 6, /* d3d7 */
00261     WINED3D_RS_ZENABLE                      = 7,
00262     WINED3D_RS_FILLMODE                     = 8,
00263     WINED3D_RS_SHADEMODE                    = 9,
00264     WINED3D_RS_LINEPATTERN                  = 10, /* d3d7, d3d8 */
00265     WINED3D_RS_MONOENABLE                   = 11, /* d3d7 */
00266     WINED3D_RS_ROP2                         = 12, /* d3d7 */
00267     WINED3D_RS_PLANEMASK                    = 13, /* d3d7 */
00268     WINED3D_RS_ZWRITEENABLE                 = 14,
00269     WINED3D_RS_ALPHATESTENABLE              = 15,
00270     WINED3D_RS_LASTPIXEL                    = 16,
00271     WINED3D_RS_SRCBLEND                     = 19,
00272     WINED3D_RS_DESTBLEND                    = 20,
00273     WINED3D_RS_CULLMODE                     = 22,
00274     WINED3D_RS_ZFUNC                        = 23,
00275     WINED3D_RS_ALPHAREF                     = 24,
00276     WINED3D_RS_ALPHAFUNC                    = 25,
00277     WINED3D_RS_DITHERENABLE                 = 26,
00278     WINED3D_RS_ALPHABLENDENABLE             = 27,
00279     WINED3D_RS_FOGENABLE                    = 28,
00280     WINED3D_RS_SPECULARENABLE               = 29,
00281     WINED3D_RS_ZVISIBLE                     = 30, /* d3d7, d3d8 */
00282     WINED3D_RS_SUBPIXEL                     = 31, /* d3d7 */
00283     WINED3D_RS_SUBPIXELX                    = 32, /* d3d7 */
00284     WINED3D_RS_STIPPLEDALPHA                = 33, /* d3d7 */
00285     WINED3D_RS_FOGCOLOR                     = 34,
00286     WINED3D_RS_FOGTABLEMODE                 = 35,
00287     WINED3D_RS_FOGSTART                     = 36,
00288     WINED3D_RS_FOGEND                       = 37,
00289     WINED3D_RS_FOGDENSITY                   = 38,
00290     WINED3D_RS_STIPPLEENABLE                = 39, /* d3d7 */
00291     WINED3D_RS_EDGEANTIALIAS                = 40, /* d3d7, d3d8 */
00292     WINED3D_RS_COLORKEYENABLE               = 41, /* d3d7 */
00293     WINED3D_RS_MIPMAPLODBIAS                = 46, /* d3d7 */
00294     WINED3D_RS_RANGEFOGENABLE               = 48,
00295     WINED3D_RS_ANISOTROPY                   = 49, /* d3d7 */
00296     WINED3D_RS_FLUSHBATCH                   = 50, /* d3d7 */
00297     WINED3D_RS_TRANSLUCENTSORTINDEPENDENT   = 51, /* d3d7 */
00298     WINED3D_RS_STENCILENABLE                = 52,
00299     WINED3D_RS_STENCILFAIL                  = 53,
00300     WINED3D_RS_STENCILZFAIL                 = 54,
00301     WINED3D_RS_STENCILPASS                  = 55,
00302     WINED3D_RS_STENCILFUNC                  = 56,
00303     WINED3D_RS_STENCILREF                   = 57,
00304     WINED3D_RS_STENCILMASK                  = 58,
00305     WINED3D_RS_STENCILWRITEMASK             = 59,
00306     WINED3D_RS_TEXTUREFACTOR                = 60,
00307     WINED3D_RS_WRAP0                        = 128,
00308     WINED3D_RS_WRAP1                        = 129,
00309     WINED3D_RS_WRAP2                        = 130,
00310     WINED3D_RS_WRAP3                        = 131,
00311     WINED3D_RS_WRAP4                        = 132,
00312     WINED3D_RS_WRAP5                        = 133,
00313     WINED3D_RS_WRAP6                        = 134,
00314     WINED3D_RS_WRAP7                        = 135,
00315     WINED3D_RS_CLIPPING                     = 136,
00316     WINED3D_RS_LIGHTING                     = 137,
00317     WINED3D_RS_EXTENTS                      = 138, /* d3d7 */
00318     WINED3D_RS_AMBIENT                      = 139,
00319     WINED3D_RS_FOGVERTEXMODE                = 140,
00320     WINED3D_RS_COLORVERTEX                  = 141,
00321     WINED3D_RS_LOCALVIEWER                  = 142,
00322     WINED3D_RS_NORMALIZENORMALS             = 143,
00323     WINED3D_RS_COLORKEYBLENDENABLE          = 144, /* d3d7 */
00324     WINED3D_RS_DIFFUSEMATERIALSOURCE        = 145,
00325     WINED3D_RS_SPECULARMATERIALSOURCE       = 146,
00326     WINED3D_RS_AMBIENTMATERIALSOURCE        = 147,
00327     WINED3D_RS_EMISSIVEMATERIALSOURCE       = 148,
00328     WINED3D_RS_VERTEXBLEND                  = 151,
00329     WINED3D_RS_CLIPPLANEENABLE              = 152,
00330     WINED3D_RS_SOFTWAREVERTEXPROCESSING     = 153, /* d3d8 */
00331     WINED3D_RS_POINTSIZE                    = 154,
00332     WINED3D_RS_POINTSIZE_MIN                = 155,
00333     WINED3D_RS_POINTSPRITEENABLE            = 156,
00334     WINED3D_RS_POINTSCALEENABLE             = 157,
00335     WINED3D_RS_POINTSCALE_A                 = 158,
00336     WINED3D_RS_POINTSCALE_B                 = 159,
00337     WINED3D_RS_POINTSCALE_C                 = 160,
00338     WINED3D_RS_MULTISAMPLEANTIALIAS         = 161,
00339     WINED3D_RS_MULTISAMPLEMASK              = 162,
00340     WINED3D_RS_PATCHEDGESTYLE               = 163,
00341     WINED3D_RS_PATCHSEGMENTS                = 164, /* d3d8 */
00342     WINED3D_RS_DEBUGMONITORTOKEN            = 165,
00343     WINED3D_RS_POINTSIZE_MAX                = 166,
00344     WINED3D_RS_INDEXEDVERTEXBLENDENABLE     = 167,
00345     WINED3D_RS_COLORWRITEENABLE             = 168,
00346     WINED3D_RS_TWEENFACTOR                  = 170,
00347     WINED3D_RS_BLENDOP                      = 171,
00348     WINED3D_RS_POSITIONDEGREE               = 172,
00349     WINED3D_RS_NORMALDEGREE                 = 173,
00350     WINED3D_RS_SCISSORTESTENABLE            = 174,
00351     WINED3D_RS_SLOPESCALEDEPTHBIAS          = 175,
00352     WINED3D_RS_ANTIALIASEDLINEENABLE        = 176,
00353     WINED3D_RS_MINTESSELLATIONLEVEL         = 178,
00354     WINED3D_RS_MAXTESSELLATIONLEVEL         = 179,
00355     WINED3D_RS_ADAPTIVETESS_X               = 180,
00356     WINED3D_RS_ADAPTIVETESS_Y               = 181,
00357     WINED3D_RS_ADAPTIVETESS_Z               = 182,
00358     WINED3D_RS_ADAPTIVETESS_W               = 183,
00359     WINED3D_RS_ENABLEADAPTIVETESSELLATION   = 184,
00360     WINED3D_RS_TWOSIDEDSTENCILMODE          = 185,
00361     WINED3D_RS_CCW_STENCILFAIL              = 186,
00362     WINED3D_RS_CCW_STENCILZFAIL             = 187,
00363     WINED3D_RS_CCW_STENCILPASS              = 188,
00364     WINED3D_RS_CCW_STENCILFUNC              = 189,
00365     WINED3D_RS_COLORWRITEENABLE1            = 190,
00366     WINED3D_RS_COLORWRITEENABLE2            = 191,
00367     WINED3D_RS_COLORWRITEENABLE3            = 192,
00368     WINED3D_RS_BLENDFACTOR                  = 193,
00369     WINED3D_RS_SRGBWRITEENABLE              = 194,
00370     WINED3D_RS_DEPTHBIAS                    = 195,
00371     WINED3D_RS_WRAP8                        = 198,
00372     WINED3D_RS_WRAP9                        = 199,
00373     WINED3D_RS_WRAP10                       = 200,
00374     WINED3D_RS_WRAP11                       = 201,
00375     WINED3D_RS_WRAP12                       = 202,
00376     WINED3D_RS_WRAP13                       = 203,
00377     WINED3D_RS_WRAP14                       = 204,
00378     WINED3D_RS_WRAP15                       = 205,
00379     WINED3D_RS_SEPARATEALPHABLENDENABLE     = 206,
00380     WINED3D_RS_SRCBLENDALPHA                = 207,
00381     WINED3D_RS_DESTBLENDALPHA               = 208,
00382     WINED3D_RS_BLENDOPALPHA                 = 209,
00383 };
00384 #define WINEHIGHEST_RENDER_STATE                                WINED3D_RS_BLENDOPALPHA
00385 
00386 enum wined3d_blend
00387 {
00388     WINED3D_BLEND_ZERO                      =  1,
00389     WINED3D_BLEND_ONE                       =  2,
00390     WINED3D_BLEND_SRCCOLOR                  =  3,
00391     WINED3D_BLEND_INVSRCCOLOR               =  4,
00392     WINED3D_BLEND_SRCALPHA                  =  5,
00393     WINED3D_BLEND_INVSRCALPHA               =  6,
00394     WINED3D_BLEND_DESTALPHA                 =  7,
00395     WINED3D_BLEND_INVDESTALPHA              =  8,
00396     WINED3D_BLEND_DESTCOLOR                 =  9,
00397     WINED3D_BLEND_INVDESTCOLOR              = 10,
00398     WINED3D_BLEND_SRCALPHASAT               = 11,
00399     WINED3D_BLEND_BOTHSRCALPHA              = 12,
00400     WINED3D_BLEND_BOTHINVSRCALPHA           = 13,
00401     WINED3D_BLEND_BLENDFACTOR               = 14,
00402     WINED3D_BLEND_INVBLENDFACTOR            = 15,
00403 };
00404 
00405 enum wined3d_blend_op
00406 {
00407     WINED3D_BLEND_OP_ADD                    = 1,
00408     WINED3D_BLEND_OP_SUBTRACT               = 2,
00409     WINED3D_BLEND_OP_REVSUBTRACT            = 3,
00410     WINED3D_BLEND_OP_MIN                    = 4,
00411     WINED3D_BLEND_OP_MAX                    = 5,
00412 };
00413 
00414 enum wined3d_vertex_blend_flags
00415 {
00416     WINED3D_VBF_DISABLE                     = 0,
00417     WINED3D_VBF_1WEIGHTS                    = 1,
00418     WINED3D_VBF_2WEIGHTS                    = 2,
00419     WINED3D_VBF_3WEIGHTS                    = 3,
00420     WINED3D_VBF_TWEENING                    = 255,
00421     WINED3D_VBF_0WEIGHTS                    = 256,
00422 };
00423 
00424 enum wined3d_cmp_func
00425 {
00426     WINED3D_CMP_NEVER                       = 1,
00427     WINED3D_CMP_LESS                        = 2,
00428     WINED3D_CMP_EQUAL                       = 3,
00429     WINED3D_CMP_LESSEQUAL                   = 4,
00430     WINED3D_CMP_GREATER                     = 5,
00431     WINED3D_CMP_NOTEQUAL                    = 6,
00432     WINED3D_CMP_GREATEREQUAL                = 7,
00433     WINED3D_CMP_ALWAYS                      = 8,
00434 };
00435 
00436 enum wined3d_depth_buffer_type
00437 {
00438     WINED3D_ZB_FALSE                        = 0,
00439     WINED3D_ZB_TRUE                         = 1,
00440     WINED3D_ZB_USEW                         = 2,
00441 };
00442 
00443 enum wined3d_fog_mode
00444 {
00445     WINED3D_FOG_NONE                        = 0,
00446     WINED3D_FOG_EXP                         = 1,
00447     WINED3D_FOG_EXP2                        = 2,
00448     WINED3D_FOG_LINEAR                      = 3,
00449 };
00450 
00451 enum wined3d_shade_mode
00452 {
00453     WINED3D_SHADE_FLAT                      = 1,
00454     WINED3D_SHADE_GOURAUD                   = 2,
00455     WINED3D_SHADE_PHONG                     = 3,
00456 };
00457 
00458 enum wined3d_fill_mode
00459 {
00460     WINED3D_FILL_POINT                      = 1,
00461     WINED3D_FILL_WIREFRAME                  = 2,
00462     WINED3D_FILL_SOLID                      = 3,
00463 };
00464 
00465 enum wined3d_cull
00466 {
00467     WINED3D_CULL_NONE                       = 1,
00468     WINED3D_CULL_CW                         = 2,
00469     WINED3D_CULL_CCW                        = 3,
00470 };
00471 
00472 enum wined3d_stencil_op
00473 {
00474     WINED3D_STENCIL_OP_KEEP                 = 1,
00475     WINED3D_STENCIL_OP_ZERO                 = 2,
00476     WINED3D_STENCIL_OP_REPLACE              = 3,
00477     WINED3D_STENCIL_OP_INCR_SAT             = 4,
00478     WINED3D_STENCIL_OP_DECR_SAT             = 5,
00479     WINED3D_STENCIL_OP_INVERT               = 6,
00480     WINED3D_STENCIL_OP_INCR                 = 7,
00481     WINED3D_STENCIL_OP_DECR                 = 8,
00482 };
00483 
00484 enum wined3d_material_color_source
00485 {
00486     WINED3D_MCS_MATERIAL                    = 0,
00487     WINED3D_MCS_COLOR1                      = 1,
00488     WINED3D_MCS_COLOR2                      = 2,
00489 };
00490 
00491 enum wined3d_patch_edge_style
00492 {
00493     WINED3D_PATCH_EDGE_DISCRETE             = 0,
00494     WINED3D_PATCH_EDGE_CONTINUOUS           = 1,
00495 };
00496 
00497 enum wined3d_backbuffer_type
00498 {
00499     WINED3D_BACKBUFFER_TYPE_MONO            = 0,
00500     WINED3D_BACKBUFFER_TYPE_LEFT            = 1,
00501     WINED3D_BACKBUFFER_TYPE_RIGHT           = 2,
00502 };
00503 
00504 enum wined3d_swap_effect
00505 {
00506     WINED3D_SWAP_EFFECT_DISCARD             = 1,
00507     WINED3D_SWAP_EFFECT_FLIP                = 2,
00508     WINED3D_SWAP_EFFECT_COPY                = 3,
00509     WINED3D_SWAP_EFFECT_COPY_VSYNC          = 4,
00510 };
00511 
00512 enum wined3d_sampler_state
00513 {
00514     WINED3D_SAMP_ADDRESS_U                  = 1,
00515     WINED3D_SAMP_ADDRESS_V                  = 2,
00516     WINED3D_SAMP_ADDRESS_W                  = 3,
00517     WINED3D_SAMP_BORDER_COLOR               = 4,
00518     WINED3D_SAMP_MAG_FILTER                 = 5,
00519     WINED3D_SAMP_MIN_FILTER                 = 6,
00520     WINED3D_SAMP_MIP_FILTER                 = 7,
00521     WINED3D_SAMP_MIPMAP_LOD_BIAS            = 8,
00522     WINED3D_SAMP_MAX_MIP_LEVEL              = 9,
00523     WINED3D_SAMP_MAX_ANISOTROPY             = 10,
00524     WINED3D_SAMP_SRGB_TEXTURE               = 11,
00525     WINED3D_SAMP_ELEMENT_INDEX              = 12,
00526     WINED3D_SAMP_DMAP_OFFSET                = 13,
00527 };
00528 #define WINED3D_HIGHEST_SAMPLER_STATE                           WINED3D_SAMP_DMAP_OFFSET
00529 
00530 enum wined3d_multisample_type
00531 {
00532     WINED3D_MULTISAMPLE_NONE                = 0,
00533     WINED3D_MULTISAMPLE_NON_MASKABLE        = 1,
00534     WINED3D_MULTISAMPLE_2_SAMPLES           = 2,
00535     WINED3D_MULTISAMPLE_3_SAMPLES           = 3,
00536     WINED3D_MULTISAMPLE_4_SAMPLES           = 4,
00537     WINED3D_MULTISAMPLE_5_SAMPLES           = 5,
00538     WINED3D_MULTISAMPLE_6_SAMPLES           = 6,
00539     WINED3D_MULTISAMPLE_7_SAMPLES           = 7,
00540     WINED3D_MULTISAMPLE_8_SAMPLES           = 8,
00541     WINED3D_MULTISAMPLE_9_SAMPLES           = 9,
00542     WINED3D_MULTISAMPLE_10_SAMPLES          = 10,
00543     WINED3D_MULTISAMPLE_11_SAMPLES          = 11,
00544     WINED3D_MULTISAMPLE_12_SAMPLES          = 12,
00545     WINED3D_MULTISAMPLE_13_SAMPLES          = 13,
00546     WINED3D_MULTISAMPLE_14_SAMPLES          = 14,
00547     WINED3D_MULTISAMPLE_15_SAMPLES          = 15,
00548     WINED3D_MULTISAMPLE_16_SAMPLES          = 16,
00549 };
00550 
00551 enum wined3d_texture_stage_state
00552 {
00553     WINED3D_TSS_COLOR_OP                    = 0,
00554     WINED3D_TSS_COLOR_ARG1                  = 1,
00555     WINED3D_TSS_COLOR_ARG2                  = 2,
00556     WINED3D_TSS_ALPHA_OP                    = 3,
00557     WINED3D_TSS_ALPHA_ARG1                  = 4,
00558     WINED3D_TSS_ALPHA_ARG2                  = 5,
00559     WINED3D_TSS_BUMPENV_MAT00               = 6,
00560     WINED3D_TSS_BUMPENV_MAT01               = 7,
00561     WINED3D_TSS_BUMPENV_MAT10               = 8,
00562     WINED3D_TSS_BUMPENV_MAT11               = 9,
00563     WINED3D_TSS_TEXCOORD_INDEX              = 10,
00564     WINED3D_TSS_BUMPENV_LSCALE              = 11,
00565     WINED3D_TSS_BUMPENV_LOFFSET             = 12,
00566     WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS     = 13,
00567     WINED3D_TSS_COLOR_ARG0                  = 14,
00568     WINED3D_TSS_ALPHA_ARG0                  = 15,
00569     WINED3D_TSS_RESULT_ARG                  = 16,
00570     WINED3D_TSS_CONSTANT                    = 17,
00571     WINED3D_TSS_INVALID                     = ~0U,
00572 };
00573 #define WINED3D_HIGHEST_TEXTURE_STATE                           WINED3D_TSS_CONSTANT
00574 
00575 enum wined3d_texture_transform_flags
00576 {
00577     WINED3D_TTFF_DISABLE                    = 0,
00578     WINED3D_TTFF_COUNT1                     = 1,
00579     WINED3D_TTFF_COUNT2                     = 2,
00580     WINED3D_TTFF_COUNT3                     = 3,
00581     WINED3D_TTFF_COUNT4                     = 4,
00582     WINED3D_TTFF_PROJECTED                  = 256,
00583 };
00584 
00585 enum wined3d_texture_op
00586 {
00587     WINED3D_TOP_DISABLE                     = 1,
00588     WINED3D_TOP_SELECT_ARG1                 = 2,
00589     WINED3D_TOP_SELECT_ARG2                 = 3,
00590     WINED3D_TOP_MODULATE                    = 4,
00591     WINED3D_TOP_MODULATE_2X                 = 5,
00592     WINED3D_TOP_MODULATE_4X                 = 6,
00593     WINED3D_TOP_ADD                         = 7,
00594     WINED3D_TOP_ADD_SIGNED                  = 8,
00595     WINED3D_TOP_ADD_SIGNED_2X               = 9,
00596     WINED3D_TOP_SUBTRACT                    = 10,
00597     WINED3D_TOP_ADD_SMOOTH                  = 11,
00598     WINED3D_TOP_BLEND_DIFFUSE_ALPHA         = 12,
00599     WINED3D_TOP_BLEND_TEXTURE_ALPHA         = 13,
00600     WINED3D_TOP_BLEND_FACTOR_ALPHA          = 14,
00601     WINED3D_TOP_BLEND_TEXTURE_ALPHA_PM      = 15,
00602     WINED3D_TOP_BLEND_CURRENT_ALPHA         = 16,
00603     WINED3D_TOP_PREMODULATE                 = 17,
00604     WINED3D_TOP_MODULATE_ALPHA_ADD_COLOR    = 18,
00605     WINED3D_TOP_MODULATE_COLOR_ADD_ALPHA    = 19,
00606     WINED3D_TOP_MODULATE_INVALPHA_ADD_COLOR = 20,
00607     WINED3D_TOP_MODULATE_INVCOLOR_ADD_ALPHA = 21,
00608     WINED3D_TOP_BUMPENVMAP                  = 22,
00609     WINED3D_TOP_BUMPENVMAP_LUMINANCE        = 23,
00610     WINED3D_TOP_DOTPRODUCT3                 = 24,
00611     WINED3D_TOP_MULTIPLY_ADD                = 25,
00612     WINED3D_TOP_LERP                        = 26,
00613 };
00614 
00615 enum wined3d_texture_address
00616 {
00617     WINED3D_TADDRESS_WRAP                   = 1,
00618     WINED3D_TADDRESS_MIRROR                 = 2,
00619     WINED3D_TADDRESS_CLAMP                  = 3,
00620     WINED3D_TADDRESS_BORDER                 = 4,
00621     WINED3D_TADDRESS_MIRROR_ONCE            = 5,
00622 };
00623 
00624 enum wined3d_transform_state
00625 {
00626     WINED3D_TS_VIEW                         = 2,
00627     WINED3D_TS_PROJECTION                   = 3,
00628     WINED3D_TS_TEXTURE0                     = 16,
00629     WINED3D_TS_TEXTURE1                     = 17,
00630     WINED3D_TS_TEXTURE2                     = 18,
00631     WINED3D_TS_TEXTURE3                     = 19,
00632     WINED3D_TS_TEXTURE4                     = 20,
00633     WINED3D_TS_TEXTURE5                     = 21,
00634     WINED3D_TS_TEXTURE6                     = 22,
00635     WINED3D_TS_TEXTURE7                     = 23,
00636     WINED3D_TS_WORLD                        = 256, /* WINED3D_TS_WORLD_MATRIX(0) */
00637     WINED3D_TS_WORLD1                       = 257,
00638     WINED3D_TS_WORLD2                       = 258,
00639     WINED3D_TS_WORLD3                       = 259,
00640 };
00641 
00642 #define WINED3D_TS_WORLD_MATRIX(index)                          (enum wined3d_transform_state)(index + 256)
00643 
00644 enum wined3d_basis_type
00645 {
00646     WINED3D_BASIS_BEZIER                    = 0,
00647     WINED3D_BASIS_BSPLINE                   = 1,
00648     WINED3D_BASIS_INTERPOLATE               = 2,
00649 };
00650 
00651 enum wined3d_cubemap_face
00652 {
00653     WINED3D_CUBEMAP_FACE_POSITIVE_X         = 0,
00654     WINED3D_CUBEMAP_FACE_NEGATIVE_X         = 1,
00655     WINED3D_CUBEMAP_FACE_POSITIVE_Y         = 2,
00656     WINED3D_CUBEMAP_FACE_NEGATIVE_Y         = 3,
00657     WINED3D_CUBEMAP_FACE_POSITIVE_Z         = 4,
00658     WINED3D_CUBEMAP_FACE_NEGATIVE_Z         = 5,
00659 };
00660 
00661 enum wined3d_texture_filter_type
00662 {
00663     WINED3D_TEXF_NONE                       = 0,
00664     WINED3D_TEXF_POINT                      = 1,
00665     WINED3D_TEXF_LINEAR                     = 2,
00666     WINED3D_TEXF_ANISOTROPIC                = 3,
00667     WINED3D_TEXF_FLAT_CUBIC                 = 4,
00668     WINED3D_TEXF_GAUSSIAN_CUBIC             = 5,
00669     WINED3D_TEXF_PYRAMIDAL_QUAD             = 6,
00670     WINED3D_TEXF_GAUSSIAN_QUAD              = 7,
00671 };
00672 
00673 enum wined3d_resource_type
00674 {
00675     WINED3D_RTYPE_SURFACE                   = 1,
00676     WINED3D_RTYPE_VOLUME                    = 2,
00677     WINED3D_RTYPE_TEXTURE                   = 3,
00678     WINED3D_RTYPE_VOLUME_TEXTURE            = 4,
00679     WINED3D_RTYPE_CUBE_TEXTURE              = 5,
00680     WINED3D_RTYPE_BUFFER                    = 6,
00681 };
00682 
00683 enum wined3d_pool
00684 {
00685     WINED3D_POOL_DEFAULT                    = 0,
00686     WINED3D_POOL_MANAGED                    = 1,
00687     WINED3D_POOL_SYSTEM_MEM                 = 2,
00688     WINED3D_POOL_SCRATCH                    = 3,
00689 };
00690 
00691 enum wined3d_query_type
00692 {
00693     WINED3D_QUERY_TYPE_VCACHE               = 4,
00694     WINED3D_QUERY_TYPE_RESOURCE_MANAGER     = 5,
00695     WINED3D_QUERY_TYPE_VERTEX_STATS         = 6,
00696     WINED3D_QUERY_TYPE_EVENT                = 8,
00697     WINED3D_QUERY_TYPE_OCCLUSION            = 9,
00698     WINED3D_QUERY_TYPE_TIMESTAMP            = 10,
00699     WINED3D_QUERY_TYPE_TIMESTAMP_DISJOINT   = 11,
00700     WINED3D_QUERY_TYPE_TIMESTAMP_FREQ       = 12,
00701     WINED3D_QUERY_TYPE_PIPELINE_TIMINGS     = 13,
00702     WINED3D_QUERY_TYPE_INTERFACE_TIMINGS    = 14,
00703     WINED3D_QUERY_TYPE_VERTEX_TIMINGS       = 15,
00704     WINED3D_QUERY_TYPE_PIXEL_TIMINGS        = 16,
00705     WINED3D_QUERY_TYPE_BANDWIDTH_TIMINGS    = 17,
00706     WINED3D_QUERY_TYPE_CACHE_UTILIZATION    = 18
00707 };
00708 
00709 #define WINED3DISSUE_BEGIN                                      (1 << 1)
00710 #define WINED3DISSUE_END                                        (1 << 0)
00711 #define WINED3DGETDATA_FLUSH                                    (1 << 0)
00712 
00713 enum wined3d_stateblock_type
00714 {
00715     WINED3D_SBT_INIT                        = 0,
00716     WINED3D_SBT_ALL                         = 1,
00717     WINED3D_SBT_PIXEL_STATE                 = 2,
00718     WINED3D_SBT_VERTEX_STATE                = 3,
00719     WINED3D_SBT_RECORDED                    = 4, /* WineD3D private */
00720 };
00721 
00722 typedef enum _WINED3DDECLMETHOD
00723 {
00724     WINED3DDECLMETHOD_DEFAULT               = 0,
00725     WINED3DDECLMETHOD_PARTIALU              = 1,
00726     WINED3DDECLMETHOD_PARTIALV              = 2,
00727     WINED3DDECLMETHOD_CROSSUV               = 3,
00728     WINED3DDECLMETHOD_UV                    = 4,
00729     WINED3DDECLMETHOD_LOOKUP                = 5,
00730     WINED3DDECLMETHOD_LOOKUPPRESAMPLED      = 6
00731 } WINED3DDECLMETHOD;
00732 
00733 typedef enum _WINED3DDECLUSAGE
00734 {
00735     WINED3DDECLUSAGE_POSITION               = 0,
00736     WINED3DDECLUSAGE_BLENDWEIGHT            = 1,
00737     WINED3DDECLUSAGE_BLENDINDICES           = 2,
00738     WINED3DDECLUSAGE_NORMAL                 = 3,
00739     WINED3DDECLUSAGE_PSIZE                  = 4,
00740     WINED3DDECLUSAGE_TEXCOORD               = 5,
00741     WINED3DDECLUSAGE_TANGENT                = 6,
00742     WINED3DDECLUSAGE_BINORMAL               = 7,
00743     WINED3DDECLUSAGE_TESSFACTOR             = 8,
00744     WINED3DDECLUSAGE_POSITIONT              = 9,
00745     WINED3DDECLUSAGE_COLOR                  = 10,
00746     WINED3DDECLUSAGE_FOG                    = 11,
00747     WINED3DDECLUSAGE_DEPTH                  = 12,
00748     WINED3DDECLUSAGE_SAMPLE                 = 13
00749 } WINED3DDECLUSAGE;
00750 
00751 typedef enum _WINED3DSURFTYPE
00752 {
00753     SURFACE_OPENGL,                                 /* OpenGL surface: Renders using libGL, needed for 3D */
00754     SURFACE_GDI,                                    /* User surface. No 3D, DirectDraw rendering with GDI */
00755 } WINED3DSURFTYPE;
00756 
00757 enum wined3d_sysval_semantic
00758 {
00759     WINED3D_SV_DEPTH = 0xffffffff,
00760     WINED3D_SV_TARGET0 = 0,
00761     WINED3D_SV_TARGET1 = 1,
00762     WINED3D_SV_TARGET2 = 2,
00763     WINED3D_SV_TARGET3 = 3,
00764     WINED3D_SV_TARGET4 = 4,
00765     WINED3D_SV_TARGET5 = 5,
00766     WINED3D_SV_TARGET6 = 6,
00767     WINED3D_SV_TARGET7 = 7,
00768 };
00769 
00770 #define WINED3DCOLORWRITEENABLE_RED                             (1 << 0)
00771 #define WINED3DCOLORWRITEENABLE_GREEN                           (1 << 1)
00772 #define WINED3DCOLORWRITEENABLE_BLUE                            (1 << 2)
00773 #define WINED3DCOLORWRITEENABLE_ALPHA                           (1 << 3)
00774 
00775 #define WINED3DADAPTER_DEFAULT                                  0
00776 #define WINED3DENUM_NO_WHQL_LEVEL                               2
00777 #define WINED3DPRESENT_BACK_BUFFER_MAX                          3
00778 
00779 #define WINED3DTSS_TCI_PASSTHRU                                 0x00000
00780 #define WINED3DTSS_TCI_CAMERASPACENORMAL                        0x10000
00781 #define WINED3DTSS_TCI_CAMERASPACEPOSITION                      0x20000
00782 #define WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR              0x30000
00783 #define WINED3DTSS_TCI_SPHEREMAP                                0x40000
00784 
00785 #define WINED3DTA_SELECTMASK                                    0x0000000f
00786 #define WINED3DTA_DIFFUSE                                       0x00000000
00787 #define WINED3DTA_CURRENT                                       0x00000001
00788 #define WINED3DTA_TEXTURE                                       0x00000002
00789 #define WINED3DTA_TFACTOR                                       0x00000003
00790 #define WINED3DTA_SPECULAR                                      0x00000004
00791 #define WINED3DTA_TEMP                                          0x00000005
00792 #define WINED3DTA_CONSTANT                                      0x00000006
00793 #define WINED3DTA_COMPLEMENT                                    0x00000010
00794 #define WINED3DTA_ALPHAREPLICATE                                0x00000020
00795 
00796 #define WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER                  0x00000001
00797 #define WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL                 0x00000002
00798 #define WINED3DPRESENTFLAG_DEVICECLIP                           0x00000004
00799 #define WINED3DPRESENTFLAG_VIDEO                                0x00000010
00800 #define WINED3DPRESENTFLAG_NOAUTOROTATE                         0x00000020
00801 #define WINED3DPRESENTFLAG_UNPRUNEDMODE                         0x00000040
00802 
00803 #define WINED3DDP_MAXTEXCOORD                                   8
00804 
00805 #define WINED3DUSAGE_RENDERTARGET                               0x00000001
00806 #define WINED3DUSAGE_DEPTHSTENCIL                               0x00000002
00807 #define WINED3DUSAGE_WRITEONLY                                  0x00000008
00808 #define WINED3DUSAGE_SOFTWAREPROCESSING                         0x00000010
00809 #define WINED3DUSAGE_DONOTCLIP                                  0x00000020
00810 #define WINED3DUSAGE_POINTS                                     0x00000040
00811 #define WINED3DUSAGE_RTPATCHES                                  0x00000080
00812 #define WINED3DUSAGE_NPATCHES                                   0x00000100
00813 #define WINED3DUSAGE_DYNAMIC                                    0x00000200
00814 #define WINED3DUSAGE_AUTOGENMIPMAP                              0x00000400
00815 #define WINED3DUSAGE_DMAP                                       0x00004000
00816 #define WINED3DUSAGE_MASK                                       0x00004fff
00817 #define WINED3DUSAGE_OWNDC                                      0x20000000
00818 #define WINED3DUSAGE_STATICDECL                                 0x40000000
00819 #define WINED3DUSAGE_OVERLAY                                    0x80000000
00820 
00821 #define WINED3DUSAGE_QUERY_LEGACYBUMPMAP                        0x00008000
00822 #define WINED3DUSAGE_QUERY_FILTER                               0x00020000
00823 #define WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING             0x00080000
00824 #define WINED3DUSAGE_QUERY_SRGBREAD                             0x00010000
00825 #define WINED3DUSAGE_QUERY_SRGBWRITE                            0x00040000
00826 #define WINED3DUSAGE_QUERY_VERTEXTEXTURE                        0x00100000
00827 #define WINED3DUSAGE_QUERY_WRAPANDMIP                           0x00200000
00828 #define WINED3DUSAGE_QUERY_MASK                                 0x003f8000
00829 
00830 #define WINED3DLOCK_READONLY                                    0x0010
00831 #define WINED3DLOCK_NOSYSLOCK                                   0x0800
00832 #define WINED3DLOCK_NOOVERWRITE                                 0x1000
00833 #define WINED3DLOCK_DISCARD                                     0x2000
00834 #define WINED3DLOCK_DONOTWAIT                                   0x4000
00835 #define WINED3DLOCK_NO_DIRTY_UPDATE                             0x8000
00836 
00837 #define WINED3DPRESENT_RATE_DEFAULT                             0x00000000
00838 
00839 #define WINED3DPRESENT_INTERVAL_DEFAULT                         0x00000000
00840 #define WINED3DPRESENT_INTERVAL_ONE                             0x00000001
00841 #define WINED3DPRESENT_INTERVAL_TWO                             0x00000002
00842 #define WINED3DPRESENT_INTERVAL_THREE                           0x00000004
00843 #define WINED3DPRESENT_INTERVAL_FOUR                            0x00000008
00844 #define WINED3DPRESENT_INTERVAL_IMMEDIATE                       0x80000000
00845 
00846 #define WINED3DMAXUSERCLIPPLANES                                32
00847 #define WINED3DCLIPPLANE0                                       (1 << 0)
00848 #define WINED3DCLIPPLANE1                                       (1 << 1)
00849 #define WINED3DCLIPPLANE2                                       (1 << 2)
00850 #define WINED3DCLIPPLANE3                                       (1 << 3)
00851 #define WINED3DCLIPPLANE4                                       (1 << 4)
00852 #define WINED3DCLIPPLANE5                                       (1 << 5)
00853 
00854 /* FVF (Flexible Vertex Format) codes */
00855 #define WINED3DFVF_RESERVED0                                    0x0001
00856 #define WINED3DFVF_POSITION_MASK                                0x400e
00857 #define WINED3DFVF_XYZ                                          0x0002
00858 #define WINED3DFVF_XYZRHW                                       0x0004
00859 #define WINED3DFVF_XYZB1                                        0x0006
00860 #define WINED3DFVF_XYZB2                                        0x0008
00861 #define WINED3DFVF_XYZB3                                        0x000a
00862 #define WINED3DFVF_XYZB4                                        0x000c
00863 #define WINED3DFVF_XYZB5                                        0x000e
00864 #define WINED3DFVF_XYZW                                         0x4002
00865 #define WINED3DFVF_NORMAL                                       0x0010
00866 #define WINED3DFVF_PSIZE                                        0x0020
00867 #define WINED3DFVF_DIFFUSE                                      0x0040
00868 #define WINED3DFVF_SPECULAR                                     0x0080
00869 #define WINED3DFVF_TEXCOUNT_MASK                                0x0f00
00870 #define WINED3DFVF_TEXCOUNT_SHIFT                               8
00871 #define WINED3DFVF_TEX0                                         0x0000
00872 #define WINED3DFVF_TEX1                                         0x0100
00873 #define WINED3DFVF_TEX2                                         0x0200
00874 #define WINED3DFVF_TEX3                                         0x0300
00875 #define WINED3DFVF_TEX4                                         0x0400
00876 #define WINED3DFVF_TEX5                                         0x0500
00877 #define WINED3DFVF_TEX6                                         0x0600
00878 #define WINED3DFVF_TEX7                                         0x0700
00879 #define WINED3DFVF_TEX8                                         0x0800
00880 #define WINED3DFVF_LASTBETA_UBYTE4                              0x1000
00881 #define WINED3DFVF_LASTBETA_D3DCOLOR                            0x8000
00882 #define WINED3DFVF_RESERVED2                                    0x6000
00883 
00884 #define WINED3DFVF_TEXTUREFORMAT1                               3
00885 #define WINED3DFVF_TEXTUREFORMAT2                               0
00886 #define WINED3DFVF_TEXTUREFORMAT3                               1
00887 #define WINED3DFVF_TEXTUREFORMAT4                               2
00888 #define WINED3DFVF_TEXCOORDSIZE1(idx)                           (WINED3DFVF_TEXTUREFORMAT1 << (idx * 2 + 16))
00889 #define WINED3DFVF_TEXCOORDSIZE2(idx)                           (WINED3DFVF_TEXTUREFORMAT2 << (idx * 2 + 16))
00890 #define WINED3DFVF_TEXCOORDSIZE3(idx)                           (WINED3DFVF_TEXTUREFORMAT3 << (idx * 2 + 16))
00891 #define WINED3DFVF_TEXCOORDSIZE4(idx)                           (WINED3DFVF_TEXTUREFORMAT4 << (idx * 2 + 16))
00892 
00893 /* Clear flags */
00894 #define WINED3DCLEAR_TARGET                                     0x00000001
00895 #define WINED3DCLEAR_ZBUFFER                                    0x00000002
00896 #define WINED3DCLEAR_STENCIL                                    0x00000004
00897 
00898 /* Stream source flags */
00899 #define WINED3DSTREAMSOURCE_INDEXEDDATA                         (1 << 30)
00900 #define WINED3DSTREAMSOURCE_INSTANCEDATA                        (2 << 30)
00901 
00902 /* SetPrivateData flags */
00903 #define WINED3DSPD_IUNKNOWN                                     0x00000001
00904 
00905 /* IWineD3D::CreateDevice behaviour flags */
00906 #define WINED3DCREATE_FPU_PRESERVE                              0x00000002
00907 #define WINED3DCREATE_PUREDEVICE                                0x00000010
00908 #define WINED3DCREATE_SOFTWARE_VERTEXPROCESSING                 0x00000020
00909 #define WINED3DCREATE_HARDWARE_VERTEXPROCESSING                 0x00000040
00910 #define WINED3DCREATE_MIXED_VERTEXPROCESSING                    0x00000080
00911 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT                 0x00000100
00912 #define WINED3DCREATE_ADAPTERGROUP_DEVICE                       0x00000200
00913 
00914 /* VTF defines */
00915 #define WINED3DDMAPSAMPLER                                      0x100
00916 #define WINED3DVERTEXTEXTURESAMPLER0                            (WINED3DDMAPSAMPLER + 1)
00917 #define WINED3DVERTEXTEXTURESAMPLER1                            (WINED3DDMAPSAMPLER + 2)
00918 #define WINED3DVERTEXTEXTURESAMPLER2                            (WINED3DDMAPSAMPLER + 3)
00919 #define WINED3DVERTEXTEXTURESAMPLER3                            (WINED3DDMAPSAMPLER + 4)
00920 
00921 #define WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD           0x00000020
00922 #define WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION                0x00000080
00923 #define WINED3DCAPS3_COPY_TO_VIDMEM                             0x00000100
00924 #define WINED3DCAPS3_COPY_TO_SYSTEMMEM                          0x00000200
00925 #define WINED3DCAPS3_RESERVED                                   0x8000001f
00926 
00927 #define WINED3DDEVCAPS2_STREAMOFFSET                            0x00000001
00928 #define WINED3DDEVCAPS2_DMAPNPATCH                              0x00000002
00929 #define WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH                     0x00000004
00930 #define WINED3DDEVCAPS2_ADAPTIVETESSNPATCH                      0x00000008
00931 #define WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES           0x00000010
00932 #define WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH                    0x00000020
00933 #define WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET      0x00000040
00934 
00935 #define WINED3DDTCAPS_UBYTE4                                    0x00000001
00936 #define WINED3DDTCAPS_UBYTE4N                                   0x00000002
00937 #define WINED3DDTCAPS_SHORT2N                                   0x00000004
00938 #define WINED3DDTCAPS_SHORT4N                                   0x00000008
00939 #define WINED3DDTCAPS_USHORT2N                                  0x00000010
00940 #define WINED3DDTCAPS_USHORT4N                                  0x00000020
00941 #define WINED3DDTCAPS_UDEC3                                     0x00000040
00942 #define WINED3DDTCAPS_DEC3N                                     0x00000080
00943 #define WINED3DDTCAPS_FLOAT16_2                                 0x00000100
00944 #define WINED3DDTCAPS_FLOAT16_4                                 0x00000200
00945 
00946 #define WINED3DFVFCAPS_TEXCOORDCOUNTMASK                        0x0000ffff
00947 #define WINED3DFVFCAPS_DONOTSTRIPELEMENTS                       0x00080000
00948 #define WINED3DFVFCAPS_PSIZE                                    0x00100000
00949 
00950 #define WINED3DLINECAPS_TEXTURE                                 0x00000001
00951 #define WINED3DLINECAPS_ZTEST                                   0x00000002
00952 #define WINED3DLINECAPS_BLEND                                   0x00000004
00953 #define WINED3DLINECAPS_ALPHACMP                                0x00000008
00954 #define WINED3DLINECAPS_FOG                                     0x00000010
00955 #define WINED3DLINECAPS_ANTIALIAS                               0x00000020
00956 
00957 #define WINED3DMAX30SHADERINSTRUCTIONS                          32768
00958 #define WINED3DMIN30SHADERINSTRUCTIONS                          512
00959 
00960 #define WINED3DPBLENDCAPS_ZERO                                  0x00000001
00961 #define WINED3DPBLENDCAPS_ONE                                   0x00000002
00962 #define WINED3DPBLENDCAPS_SRCCOLOR                              0x00000004
00963 #define WINED3DPBLENDCAPS_INVSRCCOLOR                           0x00000008
00964 #define WINED3DPBLENDCAPS_SRCALPHA                              0x00000010
00965 #define WINED3DPBLENDCAPS_INVSRCALPHA                           0x00000020
00966 #define WINED3DPBLENDCAPS_DESTALPHA                             0x00000040
00967 #define WINED3DPBLENDCAPS_INVDESTALPHA                          0x00000080
00968 #define WINED3DPBLENDCAPS_DESTCOLOR                             0x00000100
00969 #define WINED3DPBLENDCAPS_INVDESTCOLOR                          0x00000200
00970 #define WINED3DPBLENDCAPS_SRCALPHASAT                           0x00000400
00971 #define WINED3DPBLENDCAPS_BOTHSRCALPHA                          0x00000800
00972 #define WINED3DPBLENDCAPS_BOTHINVSRCALPHA                       0x00001000
00973 #define WINED3DPBLENDCAPS_BLENDFACTOR                           0x00002000
00974 
00975 #define WINED3DPCMPCAPS_NEVER                                   0x00000001
00976 #define WINED3DPCMPCAPS_LESS                                    0x00000002
00977 #define WINED3DPCMPCAPS_EQUAL                                   0x00000004
00978 #define WINED3DPCMPCAPS_LESSEQUAL                               0x00000008
00979 #define WINED3DPCMPCAPS_GREATER                                 0x00000010
00980 #define WINED3DPCMPCAPS_NOTEQUAL                                0x00000020
00981 #define WINED3DPCMPCAPS_GREATEREQUAL                            0x00000040
00982 #define WINED3DPCMPCAPS_ALWAYS                                  0x00000080
00983 
00984 #define WINED3DPMISCCAPS_MASKZ                                  0x00000002
00985 #define WINED3DPMISCCAPS_LINEPATTERNREP                         0x00000004
00986 #define WINED3DPMISCCAPS_CULLNONE                               0x00000010
00987 #define WINED3DPMISCCAPS_CULLCW                                 0x00000020
00988 #define WINED3DPMISCCAPS_CULLCCW                                0x00000040
00989 #define WINED3DPMISCCAPS_COLORWRITEENABLE                       0x00000080
00990 #define WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS                  0x00000100
00991 #define WINED3DPMISCCAPS_CLIPTLVERTS                            0x00000200
00992 #define WINED3DPMISCCAPS_TSSARGTEMP                             0x00000400
00993 #define WINED3DPMISCCAPS_BLENDOP                                0x00000800
00994 #define WINED3DPMISCCAPS_NULLREFERENCE                          0x00001000
00995 #define WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS                  0x00004000
00996 #define WINED3DPMISCCAPS_PERSTAGECONSTANT                       0x00008000
00997 #define WINED3DPMISCCAPS_FOGANDSPECULARALPHA                    0x00010000
00998 #define WINED3DPMISCCAPS_SEPARATEALPHABLEND                     0x00020000
00999 #define WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS                0x00040000
01000 #define WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING             0x00080000
01001 #define WINED3DPMISCCAPS_FOGVERTEXCLAMPED                       0x00100000
01002 
01003 #define WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH                 24
01004 #define WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH                 0
01005 #define WINED3DPS20_MAX_NUMTEMPS                                32
01006 #define WINED3DPS20_MIN_NUMTEMPS                                12
01007 #define WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH                  4
01008 #define WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH                  0
01009 #define WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS                     512
01010 #define WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS                     96
01011 
01012 #define WINED3DPS20CAPS_ARBITRARYSWIZZLE                        0x00000001
01013 #define WINED3DPS20CAPS_GRADIENTINSTRUCTIONS                    0x00000002
01014 #define WINED3DPS20CAPS_PREDICATION                             0x00000004
01015 #define WINED3DPS20CAPS_NODEPENDENTREADLIMIT                    0x00000008
01016 #define WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT                   0x00000010
01017 
01018 #define WINED3DPTADDRESSCAPS_WRAP                               0x00000001
01019 #define WINED3DPTADDRESSCAPS_MIRROR                             0x00000002
01020 #define WINED3DPTADDRESSCAPS_CLAMP                              0x00000004
01021 #define WINED3DPTADDRESSCAPS_BORDER                             0x00000008
01022 #define WINED3DPTADDRESSCAPS_INDEPENDENTUV                      0x00000010
01023 #define WINED3DPTADDRESSCAPS_MIRRORONCE                         0x00000020
01024 
01025 #define WINED3DSTENCILCAPS_KEEP                                 0x00000001
01026 #define WINED3DSTENCILCAPS_ZERO                                 0x00000002
01027 #define WINED3DSTENCILCAPS_REPLACE                              0x00000004
01028 #define WINED3DSTENCILCAPS_INCRSAT                              0x00000008
01029 #define WINED3DSTENCILCAPS_DECRSAT                              0x00000010
01030 #define WINED3DSTENCILCAPS_INVERT                               0x00000020
01031 #define WINED3DSTENCILCAPS_INCR                                 0x00000040
01032 #define WINED3DSTENCILCAPS_DECR                                 0x00000080
01033 #define WINED3DSTENCILCAPS_TWOSIDED                             0x00000100
01034 
01035 #define WINED3DTEXOPCAPS_DISABLE                                0x00000001
01036 #define WINED3DTEXOPCAPS_SELECTARG1                             0x00000002
01037 #define WINED3DTEXOPCAPS_SELECTARG2                             0x00000004
01038 #define WINED3DTEXOPCAPS_MODULATE                               0x00000008
01039 #define WINED3DTEXOPCAPS_MODULATE2X                             0x00000010
01040 #define WINED3DTEXOPCAPS_MODULATE4X                             0x00000020
01041 #define WINED3DTEXOPCAPS_ADD                                    0x00000040
01042 #define WINED3DTEXOPCAPS_ADDSIGNED                              0x00000080
01043 #define WINED3DTEXOPCAPS_ADDSIGNED2X                            0x00000100
01044 #define WINED3DTEXOPCAPS_SUBTRACT                               0x00000200
01045 #define WINED3DTEXOPCAPS_ADDSMOOTH                              0x00000400
01046 #define WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA                      0x00000800
01047 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHA                      0x00001000
01048 #define WINED3DTEXOPCAPS_BLENDFACTORALPHA                       0x00002000
01049 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM                    0x00004000
01050 #define WINED3DTEXOPCAPS_BLENDCURRENTALPHA                      0x00008000
01051 #define WINED3DTEXOPCAPS_PREMODULATE                            0x00010000
01052 #define WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR                 0x00020000
01053 #define WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA                 0x00040000
01054 #define WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR              0x00080000
01055 #define WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA              0x00100000
01056 #define WINED3DTEXOPCAPS_BUMPENVMAP                             0x00200000
01057 #define WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE                    0x00400000
01058 #define WINED3DTEXOPCAPS_DOTPRODUCT3                            0x00800000
01059 #define WINED3DTEXOPCAPS_MULTIPLYADD                            0x01000000
01060 #define WINED3DTEXOPCAPS_LERP                                   0x02000000
01061 
01062 #define WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH                 24
01063 #define WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH                 0
01064 #define WINED3DVS20_MAX_NUMTEMPS                                32
01065 #define WINED3DVS20_MIN_NUMTEMPS                                12
01066 #define WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH                  4
01067 #define WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH                  1
01068 
01069 #define WINED3DVS20CAPS_PREDICATION                             0x00000001
01070 
01071 #define WINED3DCAPS2_NO2DDURING3DSCENE                          0x00000002
01072 #define WINED3DCAPS2_FULLSCREENGAMMA                            0x00020000
01073 #define WINED3DCAPS2_CANRENDERWINDOWED                          0x00080000
01074 #define WINED3DCAPS2_CANCALIBRATEGAMMA                          0x00100000
01075 #define WINED3DCAPS2_RESERVED                                   0x02000000
01076 #define WINED3DCAPS2_CANMANAGERESOURCE                          0x10000000
01077 #define WINED3DCAPS2_DYNAMICTEXTURES                            0x20000000
01078 #define WINED3DCAPS2_CANAUTOGENMIPMAP                           0x40000000
01079 
01080 #define WINED3DPRASTERCAPS_DITHER                               0x00000001
01081 #define WINED3DPRASTERCAPS_ROP2                                 0x00000002
01082 #define WINED3DPRASTERCAPS_XOR                                  0x00000004
01083 #define WINED3DPRASTERCAPS_PAT                                  0x00000008
01084 #define WINED3DPRASTERCAPS_ZTEST                                0x00000010
01085 #define WINED3DPRASTERCAPS_SUBPIXEL                             0x00000020
01086 #define WINED3DPRASTERCAPS_SUBPIXELX                            0x00000040
01087 #define WINED3DPRASTERCAPS_FOGVERTEX                            0x00000080
01088 #define WINED3DPRASTERCAPS_FOGTABLE                             0x00000100
01089 #define WINED3DPRASTERCAPS_STIPPLE                              0x00000200
01090 #define WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT               0x00000400
01091 #define WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT             0x00000800
01092 #define WINED3DPRASTERCAPS_ANTIALIASEDGES                       0x00001000
01093 #define WINED3DPRASTERCAPS_MIPMAPLODBIAS                        0x00002000
01094 #define WINED3DPRASTERCAPS_ZBIAS                                0x00004000
01095 #define WINED3DPRASTERCAPS_ZBUFFERLESSHSR                       0x00008000
01096 #define WINED3DPRASTERCAPS_FOGRANGE                             0x00010000
01097 #define WINED3DPRASTERCAPS_ANISOTROPY                           0x00020000
01098 #define WINED3DPRASTERCAPS_WBUFFER                              0x00040000
01099 #define WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT           0x00080000
01100 #define WINED3DPRASTERCAPS_WFOG                                 0x00100000
01101 #define WINED3DPRASTERCAPS_ZFOG                                 0x00200000
01102 #define WINED3DPRASTERCAPS_COLORPERSPECTIVE                     0x00400000
01103 #define WINED3DPRASTERCAPS_SCISSORTEST                          0x01000000
01104 #define WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS                  0x02000000
01105 #define WINED3DPRASTERCAPS_DEPTHBIAS                            0x04000000
01106 #define WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE                   0x08000000
01107 
01108 #define WINED3DPSHADECAPS_COLORFLATMONO                         0x00000001
01109 #define WINED3DPSHADECAPS_COLORFLATRGB                          0x00000002
01110 #define WINED3DPSHADECAPS_COLORGOURAUDMONO                      0x00000004
01111 #define WINED3DPSHADECAPS_COLORGOURAUDRGB                       0x00000008
01112 #define WINED3DPSHADECAPS_COLORPHONGMONO                        0x00000010
01113 #define WINED3DPSHADECAPS_COLORPHONGRGB                         0x00000020
01114 #define WINED3DPSHADECAPS_SPECULARFLATMONO                      0x00000040
01115 #define WINED3DPSHADECAPS_SPECULARFLATRGB                       0x00000080
01116 #define WINED3DPSHADECAPS_SPECULARGOURAUDMONO                   0x00000100
01117 #define WINED3DPSHADECAPS_SPECULARGOURAUDRGB                    0x00000200
01118 #define WINED3DPSHADECAPS_SPECULARPHONGMONO                     0x00000400
01119 #define WINED3DPSHADECAPS_SPECULARPHONGRGB                      0x00000800
01120 #define WINED3DPSHADECAPS_ALPHAFLATBLEND                        0x00001000
01121 #define WINED3DPSHADECAPS_ALPHAFLATSTIPPLED                     0x00002000
01122 #define WINED3DPSHADECAPS_ALPHAGOURAUDBLEND                     0x00004000
01123 #define WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED                  0x00008000
01124 #define WINED3DPSHADECAPS_ALPHAPHONGBLEND                       0x00010000
01125 #define WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED                    0x00020000
01126 #define WINED3DPSHADECAPS_FOGFLAT                               0x00040000
01127 #define WINED3DPSHADECAPS_FOGGOURAUD                            0x00080000
01128 #define WINED3DPSHADECAPS_FOGPHONG                              0x00100000
01129 
01130 #define WINED3DPTEXTURECAPS_PERSPECTIVE                         0x00000001
01131 #define WINED3DPTEXTURECAPS_POW2                                0x00000002
01132 #define WINED3DPTEXTURECAPS_ALPHA                               0x00000004
01133 #define WINED3DPTEXTURECAPS_TRANSPARENCY                        0x00000008
01134 #define WINED3DPTEXTURECAPS_BORDER                              0x00000010
01135 #define WINED3DPTEXTURECAPS_SQUAREONLY                          0x00000020
01136 #define WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE            0x00000040
01137 #define WINED3DPTEXTURECAPS_ALPHAPALETTE                        0x00000080
01138 #define WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL                  0x00000100
01139 #define WINED3DPTEXTURECAPS_PROJECTED                           0x00000400
01140 #define WINED3DPTEXTURECAPS_CUBEMAP                             0x00000800
01141 #define WINED3DPTEXTURECAPS_COLORKEYBLEND                       0x00001000
01142 #define WINED3DPTEXTURECAPS_VOLUMEMAP                           0x00002000
01143 #define WINED3DPTEXTURECAPS_MIPMAP                              0x00004000
01144 #define WINED3DPTEXTURECAPS_MIPVOLUMEMAP                        0x00008000
01145 #define WINED3DPTEXTURECAPS_MIPCUBEMAP                          0x00010000
01146 #define WINED3DPTEXTURECAPS_CUBEMAP_POW2                        0x00020000
01147 #define WINED3DPTEXTURECAPS_VOLUMEMAP_POW2                      0x00040000
01148 #define WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV                  0x00200000
01149 
01150 #define WINED3DPTFILTERCAPS_NEAREST                             0x00000001
01151 #define WINED3DPTFILTERCAPS_LINEAR                              0x00000002
01152 #define WINED3DPTFILTERCAPS_MIPNEAREST                          0x00000004
01153 #define WINED3DPTFILTERCAPS_MIPLINEAR                           0x00000008
01154 #define WINED3DPTFILTERCAPS_LINEARMIPNEAREST                    0x00000010
01155 #define WINED3DPTFILTERCAPS_LINEARMIPLINEAR                     0x00000020
01156 #define WINED3DPTFILTERCAPS_MINFPOINT                           0x00000100
01157 #define WINED3DPTFILTERCAPS_MINFLINEAR                          0x00000200
01158 #define WINED3DPTFILTERCAPS_MINFANISOTROPIC                     0x00000400
01159 #define WINED3DPTFILTERCAPS_MIPFPOINT                           0x00010000
01160 #define WINED3DPTFILTERCAPS_MIPFLINEAR                          0x00020000
01161 #define WINED3DPTFILTERCAPS_MAGFPOINT                           0x01000000
01162 #define WINED3DPTFILTERCAPS_MAGFLINEAR                          0x02000000
01163 #define WINED3DPTFILTERCAPS_MAGFANISOTROPIC                     0x04000000
01164 #define WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD                   0x08000000
01165 #define WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD                    0x10000000
01166 
01167 #define WINED3DVTXPCAPS_TEXGEN                                  0x00000001
01168 #define WINED3DVTXPCAPS_MATERIALSOURCE7                         0x00000002
01169 #define WINED3DVTXPCAPS_VERTEXFOG                               0x00000004
01170 #define WINED3DVTXPCAPS_DIRECTIONALLIGHTS                       0x00000008
01171 #define WINED3DVTXPCAPS_POSITIONALLIGHTS                        0x00000010
01172 #define WINED3DVTXPCAPS_LOCALVIEWER                             0x00000020
01173 #define WINED3DVTXPCAPS_TWEENING                                0x00000040
01174 #define WINED3DVTXPCAPS_TEXGEN_SPHEREMAP                        0x00000100
01175 #define WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER                0x00000200
01176 
01177 #define WINED3DCURSORCAPS_COLOR                                 0x00000001
01178 #define WINED3DCURSORCAPS_LOWRES                                0x00000002
01179 
01180 #define WINED3DDEVCAPS_FLOATTLVERTEX                            0x00000001
01181 #define WINED3DDEVCAPS_SORTINCREASINGZ                          0x00000002
01182 #define WINED3DDEVCAPS_SORTDECREASINGZ                          0X00000004
01183 #define WINED3DDEVCAPS_SORTEXACT                                0x00000008
01184 #define WINED3DDEVCAPS_EXECUTESYSTEMMEMORY                      0x00000010
01185 #define WINED3DDEVCAPS_EXECUTEVIDEOMEMORY                       0x00000020
01186 #define WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY                     0x00000040
01187 #define WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY                      0x00000080
01188 #define WINED3DDEVCAPS_TEXTURESYSTEMMEMORY                      0x00000100
01189 #define WINED3DDEVCAPS_TEXTUREVIDEOMEMORY                       0x00000200
01190 #define WINED3DDEVCAPS_DRAWPRIMTLVERTEX                         0x00000400
01191 #define WINED3DDEVCAPS_CANRENDERAFTERFLIP                       0x00000800
01192 #define WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM                    0x00001000
01193 #define WINED3DDEVCAPS_DRAWPRIMITIVES2                          0x00002000
01194 #define WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES                  0x00004000
01195 #define WINED3DDEVCAPS_DRAWPRIMITIVES2EX                        0x00008000
01196 #define WINED3DDEVCAPS_HWTRANSFORMANDLIGHT                      0x00010000
01197 #define WINED3DDEVCAPS_CANBLTSYSTONONLOCAL                      0x00020000
01198 #define WINED3DDEVCAPS_HWRASTERIZATION                          0x00080000
01199 #define WINED3DDEVCAPS_PUREDEVICE                               0x00100000
01200 #define WINED3DDEVCAPS_QUINTICRTPATCHES                         0x00200000
01201 #define WINED3DDEVCAPS_RTPATCHES                                0x00400000
01202 #define WINED3DDEVCAPS_RTPATCHHANDLEZERO                        0x00800000
01203 #define WINED3DDEVCAPS_NPATCHES                                 0x01000000
01204 
01205 #define WINED3D_LEGACY_DEPTH_BIAS                               0x00000001
01206 
01207 /* dwDDFX */
01208 /* arithmetic stretching along y axis */
01209 #define WINEDDBLTFX_ARITHSTRETCHY                               0x00000001
01210 /* mirror on y axis */
01211 #define WINEDDBLTFX_MIRRORLEFTRIGHT                             0x00000002
01212 /* mirror on x axis */
01213 #define WINEDDBLTFX_MIRRORUPDOWN                                0x00000004
01214 /* do not tear */
01215 #define WINEDDBLTFX_NOTEARING                                   0x00000008
01216 /* 180 degrees clockwise rotation */
01217 #define WINEDDBLTFX_ROTATE180                                   0x00000010
01218 /* 270 degrees clockwise rotation */
01219 #define WINEDDBLTFX_ROTATE270                                   0x00000020
01220 /* 90 degrees clockwise rotation */
01221 #define WINEDDBLTFX_ROTATE90                                    0x00000040
01222 /* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
01223 #define WINEDDBLTFX_ZBUFFERRANGE                                0x00000080
01224 /* add dwZBufferBaseDest to every source z value before compare */
01225 #define WINEDDBLTFX_ZBUFFERBASEDEST                             0x00000100
01226 
01227 /* dwFlags for Blt* */
01228 #define WINEDDBLT_ALPHADEST                                     0x00000001
01229 #define WINEDDBLT_ALPHADESTCONSTOVERRIDE                        0x00000002
01230 #define WINEDDBLT_ALPHADESTNEG                                  0x00000004
01231 #define WINEDDBLT_ALPHADESTSURFACEOVERRIDE                      0x00000008
01232 #define WINEDDBLT_ALPHAEDGEBLEND                                0x00000010
01233 #define WINEDDBLT_ALPHASRC                                      0x00000020
01234 #define WINEDDBLT_ALPHASRCCONSTOVERRIDE                         0x00000040
01235 #define WINEDDBLT_ALPHASRCNEG                                   0x00000080
01236 #define WINEDDBLT_ALPHASRCSURFACEOVERRIDE                       0x00000100
01237 #define WINEDDBLT_ASYNC                                         0x00000200
01238 #define WINEDDBLT_COLORFILL                                     0x00000400
01239 #define WINEDDBLT_DDFX                                          0x00000800
01240 #define WINEDDBLT_DDROPS                                        0x00001000
01241 #define WINEDDBLT_KEYDEST                                       0x00002000
01242 #define WINEDDBLT_KEYDESTOVERRIDE                               0x00004000
01243 #define WINEDDBLT_KEYSRC                                        0x00008000
01244 #define WINEDDBLT_KEYSRCOVERRIDE                                0x00010000
01245 #define WINEDDBLT_ROP                                           0x00020000
01246 #define WINEDDBLT_ROTATIONANGLE                                 0x00040000
01247 #define WINEDDBLT_ZBUFFER                                       0x00080000
01248 #define WINEDDBLT_ZBUFFERDESTCONSTOVERRIDE                      0x00100000
01249 #define WINEDDBLT_ZBUFFERDESTOVERRIDE                           0x00200000
01250 #define WINEDDBLT_ZBUFFERSRCCONSTOVERRIDE                       0x00400000
01251 #define WINEDDBLT_ZBUFFERSRCOVERRIDE                            0x00800000
01252 #define WINEDDBLT_WAIT                                          0x01000000
01253 #define WINEDDBLT_DEPTHFILL                                     0x02000000
01254 #define WINEDDBLT_DONOTWAIT                                     0x08000000
01255 
01256 /* DDSURFACEDESC.dwFlags */
01257 #define WINEDDSD_CAPS                                           0x00000001
01258 #define WINEDDSD_HEIGHT                                         0x00000002
01259 #define WINEDDSD_WIDTH                                          0x00000004
01260 #define WINEDDSD_PITCH                                          0x00000008
01261 #define WINEDDSD_BACKBUFFERCOUNT                                0x00000020
01262 #define WINEDDSD_ZBUFFERBITDEPTH                                0x00000040
01263 #define WINEDDSD_ALPHABITDEPTH                                  0x00000080
01264 #define WINEDDSD_LPSURFACE                                      0x00000800
01265 #define WINEDDSD_PIXELFORMAT                                    0x00001000
01266 #define WINEDDSD_CKDESTOVERLAY                                  0x00002000
01267 #define WINEDDSD_CKDESTBLT                                      0x00004000
01268 #define WINEDDSD_CKSRCOVERLAY                                   0x00008000
01269 #define WINEDDSD_CKSRCBLT                                       0x00010000
01270 #define WINEDDSD_MIPMAPCOUNT                                    0x00020000
01271 #define WINEDDSD_REFRESHRATE                                    0x00040000
01272 #define WINEDDSD_LINEARSIZE                                     0x00080000
01273 #define WINEDDSD_TEXTURESTAGE                                   0x00100000
01274 #define WINEDDSD_FVF                                            0x00200000
01275 #define WINEDDSD_SRCVBHANDLE                                    0x00400000
01276 #define WINEDDSD_ALL                                            0x007ff9ee
01277 
01278 /* Set/Get Colour Key Flags */
01279 #define WINEDDCKEY_COLORSPACE                                   0x00000001 /* Struct is single colour space */
01280 #define WINEDDCKEY_DESTBLT                                      0x00000002 /* To be used as dest for blt */
01281 #define WINEDDCKEY_DESTOVERLAY                                  0x00000004 /* To be used as dest for CK overlays */
01282 #define WINEDDCKEY_SRCBLT                                       0x00000008 /* To be used as src for blt */
01283 #define WINEDDCKEY_SRCOVERLAY                                   0x00000010 /* To be used as src for CK overlays */
01284 
01285 /* dwFlags for GetBltStatus */
01286 #define WINEDDGBS_CANBLT                                        0x00000001
01287 #define WINEDDGBS_ISBLTDONE                                     0x00000002
01288 
01289 /* dwFlags for GetFlipStatus */
01290 #define WINEDDGFS_CANFLIP                                       0x00000001
01291 #define WINEDDGFS_ISFLIPDONE                                    0x00000002
01292 
01293 /* dwFlags for Flip */
01294 #define WINEDDFLIP_WAIT                                         0x00000001
01295 #define WINEDDFLIP_EVEN                                         0x00000002 /* only valid for overlay */
01296 #define WINEDDFLIP_ODD                                          0x00000004 /* only valid for overlay */
01297 #define WINEDDFLIP_NOVSYNC                                      0x00000008
01298 #define WINEDDFLIP_STEREO                                       0x00000010
01299 #define WINEDDFLIP_DONOTWAIT                                    0x00000020
01300 #define WINEDDFLIP_INTERVAL2                                    0x02000000
01301 #define WINEDDFLIP_INTERVAL3                                    0x03000000
01302 #define WINEDDFLIP_INTERVAL4                                    0x04000000
01303 
01304 #define WINEDDOVER_ALPHADEST                                    0x00000001
01305 #define WINEDDOVER_ALPHADESTCONSTOVERRIDE                       0x00000002
01306 #define WINEDDOVER_ALPHADESTNEG                                 0x00000004
01307 #define WINEDDOVER_ALPHADESTSURFACEOVERRIDE                     0x00000008
01308 #define WINEDDOVER_ALPHAEDGEBLEND                               0x00000010
01309 #define WINEDDOVER_ALPHASRC                                     0x00000020
01310 #define WINEDDOVER_ALPHASRCCONSTOVERRIDE                        0x00000040
01311 #define WINEDDOVER_ALPHASRCNEG                                  0x00000080
01312 #define WINEDDOVER_ALPHASRCSURFACEOVERRIDE                      0x00000100
01313 #define WINEDDOVER_HIDE                                         0x00000200
01314 #define WINEDDOVER_KEYDEST                                      0x00000400
01315 #define WINEDDOVER_KEYDESTOVERRIDE                              0x00000800
01316 #define WINEDDOVER_KEYSRC                                       0x00001000
01317 #define WINEDDOVER_KEYSRCOVERRIDE                               0x00002000
01318 #define WINEDDOVER_SHOW                                         0x00004000
01319 #define WINEDDOVER_ADDDIRTYRECT                                 0x00008000
01320 #define WINEDDOVER_REFRESHDIRTYRECTS                            0x00010000
01321 #define WINEDDOVER_REFRESHALL                                   0x00020000
01322 #define WINEDDOVER_DDFX                                         0x00080000
01323 #define WINEDDOVER_AUTOFLIP                                     0x00100000
01324 #define WINEDDOVER_BOB                                          0x00200000
01325 #define WINEDDOVER_OVERRIDEBOBWEAVE                             0x00400000
01326 #define WINEDDOVER_INTERLEAVED                                  0x00800000
01327 
01328 /* DirectDraw Caps */
01329 #define WINEDDSCAPS_RESERVED1                                   0x00000001
01330 #define WINEDDSCAPS_ALPHA                                       0x00000002
01331 #define WINEDDSCAPS_BACKBUFFER                                  0x00000004
01332 #define WINEDDSCAPS_COMPLEX                                     0x00000008
01333 #define WINEDDSCAPS_FLIP                                        0x00000010
01334 #define WINEDDSCAPS_FRONTBUFFER                                 0x00000020
01335 #define WINEDDSCAPS_OFFSCREENPLAIN                              0x00000040
01336 #define WINEDDSCAPS_OVERLAY                                     0x00000080
01337 #define WINEDDSCAPS_PALETTE                                     0x00000100
01338 #define WINEDDSCAPS_PRIMARYSURFACE                              0x00000200
01339 #define WINEDDSCAPS_PRIMARYSURFACELEFT                          0x00000400
01340 #define WINEDDSCAPS_SYSTEMMEMORY                                0x00000800
01341 #define WINEDDSCAPS_TEXTURE                                     0x00001000
01342 #define WINEDDSCAPS_3DDEVICE                                    0x00002000
01343 #define WINEDDSCAPS_VIDEOMEMORY                                 0x00004000
01344 #define WINEDDSCAPS_VISIBLE                                     0x00008000
01345 #define WINEDDSCAPS_WRITEONLY                                   0x00010000
01346 #define WINEDDSCAPS_ZBUFFER                                     0x00020000
01347 #define WINEDDSCAPS_OWNDC                                       0x00040000
01348 #define WINEDDSCAPS_LIVEVIDEO                                   0x00080000
01349 #define WINEDDSCAPS_HWCODEC                                     0x00100000
01350 #define WINEDDSCAPS_MODEX                                       0x00200000
01351 #define WINEDDSCAPS_MIPMAP                                      0x00400000
01352 #define WINEDDSCAPS_RESERVED2                                   0x00800000
01353 #define WINEDDSCAPS_ALLOCONLOAD                                 0x04000000
01354 #define WINEDDSCAPS_VIDEOPORT                                   0x08000000
01355 #define WINEDDSCAPS_LOCALVIDMEM                                 0x10000000
01356 #define WINEDDSCAPS_NONLOCALVIDMEM                              0x20000000
01357 #define WINEDDSCAPS_STANDARDVGAMODE                             0x40000000
01358 #define WINEDDSCAPS_OPTIMIZED                                   0x80000000
01359 
01360 #define WINEDDCKEYCAPS_DESTBLT                                  0x00000001
01361 #define WINEDDCKEYCAPS_DESTBLTCLRSPACE                          0x00000002
01362 #define WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV                       0x00000004
01363 #define WINEDDCKEYCAPS_DESTBLTYUV                               0x00000008
01364 #define WINEDDCKEYCAPS_DESTOVERLAY                              0x00000010
01365 #define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE                      0x00000020
01366 #define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV                   0x00000040
01367 #define WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE                     0x00000080
01368 #define WINEDDCKEYCAPS_DESTOVERLAYYUV                           0x00000100
01369 #define WINEDDCKEYCAPS_SRCBLT                                   0x00000200
01370 #define WINEDDCKEYCAPS_SRCBLTCLRSPACE                           0x00000400
01371 #define WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV                        0x00000800
01372 #define WINEDDCKEYCAPS_SRCBLTYUV                                0x00001000
01373 #define WINEDDCKEYCAPS_SRCOVERLAY                               0x00002000
01374 #define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE                       0x00004000
01375 #define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV                    0x00008000
01376 #define WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE                      0x00010000
01377 #define WINEDDCKEYCAPS_SRCOVERLAYYUV                            0x00020000
01378 #define WINEDDCKEYCAPS_NOCOSTOVERLAY                            0x00040000
01379 
01380 #define WINEDDFXCAPS_BLTALPHA                                   0x00000001
01381 #define WINEDDFXCAPS_OVERLAYALPHA                               0x00000004
01382 #define WINEDDFXCAPS_BLTARITHSTRETCHYN                          0x00000010
01383 #define WINEDDFXCAPS_BLTARITHSTRETCHY                           0x00000020
01384 #define WINEDDFXCAPS_BLTMIRRORLEFTRIGHT                         0x00000040
01385 #define WINEDDFXCAPS_BLTMIRRORUPDOWN                            0x00000080
01386 #define WINEDDFXCAPS_BLTROTATION                                0x00000100
01387 #define WINEDDFXCAPS_BLTROTATION90                              0x00000200
01388 #define WINEDDFXCAPS_BLTSHRINKX                                 0x00000400
01389 #define WINEDDFXCAPS_BLTSHRINKXN                                0x00000800
01390 #define WINEDDFXCAPS_BLTSHRINKY                                 0x00001000
01391 #define WINEDDFXCAPS_BLTSHRINKYN                                0x00002000
01392 #define WINEDDFXCAPS_BLTSTRETCHX                                0x00004000
01393 #define WINEDDFXCAPS_BLTSTRETCHXN                               0x00008000
01394 #define WINEDDFXCAPS_BLTSTRETCHY                                0x00010000
01395 #define WINEDDFXCAPS_BLTSTRETCHYN                               0x00020000
01396 #define WINEDDFXCAPS_OVERLAYARITHSTRETCHY                       0x00040000
01397 #define WINEDDFXCAPS_OVERLAYARITHSTRETCHYN                      0x00000008
01398 #define WINEDDFXCAPS_OVERLAYSHRINKX                             0x00080000
01399 #define WINEDDFXCAPS_OVERLAYSHRINKXN                            0x00100000
01400 #define WINEDDFXCAPS_OVERLAYSHRINKY                             0x00200000
01401 #define WINEDDFXCAPS_OVERLAYSHRINKYN                            0x00400000
01402 #define WINEDDFXCAPS_OVERLAYSTRETCHX                            0x00800000
01403 #define WINEDDFXCAPS_OVERLAYSTRETCHXN                           0x01000000
01404 #define WINEDDFXCAPS_OVERLAYSTRETCHY                            0x02000000
01405 #define WINEDDFXCAPS_OVERLAYSTRETCHYN                           0x04000000
01406 #define WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT                     0x08000000
01407 #define WINEDDFXCAPS_OVERLAYMIRRORUPDOWN                        0x10000000
01408 
01409 #define WINEDDCAPS_3D                                           0x00000001
01410 #define WINEDDCAPS_ALIGNBOUNDARYDEST                            0x00000002
01411 #define WINEDDCAPS_ALIGNSIZEDEST                                0x00000004
01412 #define WINEDDCAPS_ALIGNBOUNDARYSRC                             0x00000008
01413 #define WINEDDCAPS_ALIGNSIZESRC                                 0x00000010
01414 #define WINEDDCAPS_ALIGNSTRIDE                                  0x00000020
01415 #define WINEDDCAPS_BLT                                          0x00000040
01416 #define WINEDDCAPS_BLTQUEUE                                     0x00000080
01417 #define WINEDDCAPS_BLTFOURCC                                    0x00000100
01418 #define WINEDDCAPS_BLTSTRETCH                                   0x00000200
01419 #define WINEDDCAPS_GDI                                          0x00000400
01420 #define WINEDDCAPS_OVERLAY                                      0x00000800
01421 #define WINEDDCAPS_OVERLAYCANTCLIP                              0x00001000
01422 #define WINEDDCAPS_OVERLAYFOURCC                                0x00002000
01423 #define WINEDDCAPS_OVERLAYSTRETCH                               0x00004000
01424 #define WINEDDCAPS_PALETTE                                      0x00008000
01425 #define WINEDDCAPS_PALETTEVSYNC                                 0x00010000
01426 #define WINEDDCAPS_READSCANLINE                                 0x00020000
01427 #define WINEDDCAPS_STEREOVIEW                                   0x00040000
01428 #define WINEDDCAPS_VBI                                          0x00080000
01429 #define WINEDDCAPS_ZBLTS                                        0x00100000
01430 #define WINEDDCAPS_ZOVERLAYS                                    0x00200000
01431 #define WINEDDCAPS_COLORKEY                                     0x00400000
01432 #define WINEDDCAPS_ALPHA                                        0x00800000
01433 #define WINEDDCAPS_COLORKEYHWASSIST                             0x01000000
01434 #define WINEDDCAPS_NOHARDWARE                                   0x02000000
01435 #define WINEDDCAPS_BLTCOLORFILL                                 0x04000000
01436 #define WINEDDCAPS_BANKSWITCHED                                 0x08000000
01437 #define WINEDDCAPS_BLTDEPTHFILL                                 0x10000000
01438 #define WINEDDCAPS_CANCLIP                                      0x20000000
01439 #define WINEDDCAPS_CANCLIPSTRETCHED                             0x40000000
01440 #define WINEDDCAPS_CANBLTSYSMEM                                 0x80000000
01441 
01442 #define WINEDDCAPS2_CERTIFIED                                   0x00000001
01443 #define WINEDDCAPS2_NO2DDURING3DSCENE                           0x00000002
01444 #define WINEDDCAPS2_VIDEOPORT                                   0x00000004
01445 #define WINEDDCAPS2_AUTOFLIPOVERLAY                             0x00000008
01446 #define WINEDDCAPS2_CANBOBINTERLEAVED                           0x00000010
01447 #define WINEDDCAPS2_CANBOBNONINTERLEAVED                        0x00000020
01448 #define WINEDDCAPS2_COLORCONTROLOVERLAY                         0x00000040
01449 #define WINEDDCAPS2_COLORCONTROLPRIMARY                         0x00000080
01450 #define WINEDDCAPS2_CANDROPZ16BIT                               0x00000100
01451 #define WINEDDCAPS2_NONLOCALVIDMEM                              0x00000200
01452 #define WINEDDCAPS2_NONLOCALVIDMEMCAPS                          0x00000400
01453 #define WINEDDCAPS2_NOPAGELOCKREQUIRED                          0x00000800
01454 #define WINEDDCAPS2_WIDESURFACES                                0x00001000
01455 #define WINEDDCAPS2_CANFLIPODDEVEN                              0x00002000
01456 #define WINEDDCAPS2_CANBOBHARDWARE                              0x00004000
01457 #define WINEDDCAPS2_COPYFOURCC                                  0x00008000
01458 #define WINEDDCAPS2_PRIMARYGAMMA                                0x00020000
01459 #define WINEDDCAPS2_CANRENDERWINDOWED                           0x00080000
01460 #define WINEDDCAPS2_CANCALIBRATEGAMMA                           0x00100000
01461 #define WINEDDCAPS2_FLIPINTERVAL                                0x00200000
01462 #define WINEDDCAPS2_FLIPNOVSYNC                                 0x00400000
01463 #define WINEDDCAPS2_CANMANAGETEXTURE                            0x00800000
01464 #define WINEDDCAPS2_TEXMANINNONLOCALVIDMEM                      0x01000000
01465 #define WINEDDCAPS2_STEREO                                      0x02000000
01466 #define WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL                 0x04000000
01467 
01468 /* DDCAPS.d */
01469 #define WINEDDPCAPS_4BIT                                        0x00000001
01470 #define WINEDDPCAPS_8BITENTRIES                                 0x00000002
01471 #define WINEDDPCAPS_8BIT                                        0x00000004
01472 #define WINEDDPCAPS_INITIALIZE                                  0x00000008
01473 #define WINEDDPCAPS_PRIMARYSURFACE                              0x00000010
01474 #define WINEDDPCAPS_PRIMARYSURFACELEFT                          0x00000020
01475 #define WINEDDPCAPS_ALLOW256                                    0x00000040
01476 #define WINEDDPCAPS_VSYNC                                       0x00000080
01477 #define WINEDDPCAPS_1BIT                                        0x00000100
01478 #define WINEDDPCAPS_2BIT                                        0x00000200
01479 #define WINEDDPCAPS_ALPHA                                       0x00000400
01480 
01481 #define WINED3D_SURFACE_MAPPABLE                                0x00000001
01482 #define WINED3D_SURFACE_DISCARD                                 0x00000002
01483 #define WINED3D_SURFACE_PIN_SYSMEM                              0x00000004
01484 
01485 struct wined3d_display_mode
01486 {
01487     UINT width;
01488     UINT height;
01489     UINT refresh_rate;
01490     enum wined3d_format_id format_id;
01491 };
01492 
01493 struct wined3d_color
01494 {
01495     float r;
01496     float g;
01497     float b;
01498     float a;
01499 };
01500 
01501 struct wined3d_vec3
01502 {
01503     float x;
01504     float y;
01505     float z;
01506 };
01507 
01508 struct wined3d_matrix
01509 {
01510     union
01511     {
01512         struct
01513         {
01514             float _11, _12, _13, _14;
01515             float _21, _22, _23, _24;
01516             float _31, _32, _33, _34;
01517             float _41, _42, _43, _44;
01518         } DUMMYSTRUCTNAME;
01519         float m[4][4];
01520     } DUMMYUNIONNAME;
01521 };
01522 
01523 struct wined3d_light
01524 {
01525     enum wined3d_light_type type;
01526     struct wined3d_color diffuse;
01527     struct wined3d_color specular;
01528     struct wined3d_color ambient;
01529     struct wined3d_vec3 position;
01530     struct wined3d_vec3 direction;
01531     float range;
01532     float falloff;
01533     float attenuation0;
01534     float attenuation1;
01535     float attenuation2;
01536     float theta;
01537     float phi;
01538 };
01539 
01540 struct wined3d_material
01541 {
01542     struct wined3d_color diffuse;
01543     struct wined3d_color ambient;
01544     struct wined3d_color specular;
01545     struct wined3d_color emissive;
01546     float power;
01547 };
01548 
01549 struct wined3d_viewport
01550 {
01551     UINT x;
01552     UINT y;
01553     UINT width;
01554     UINT height;
01555     float min_z;
01556     float max_z;
01557 };
01558 
01559 struct wined3d_gamma_ramp
01560 {
01561     WORD red[256];
01562     WORD green[256];
01563     WORD blue[256];
01564 };
01565 
01566 struct wined3d_line_pattern
01567 {
01568     WORD repeat_factor;
01569     WORD line_pattern;
01570 };
01571 
01572 struct wined3d_rect_patch_info
01573 {
01574     UINT start_vertex_offset_width;
01575     UINT start_vertex_offset_height;
01576     UINT width;
01577     UINT height;
01578     UINT stride;
01579     enum wined3d_basis_type basis;
01580     enum wined3d_degree_type degree;
01581 };
01582 
01583 struct wined3d_tri_patch_info
01584 {
01585     UINT start_vertex_offset;
01586     UINT vertex_count;
01587     enum wined3d_basis_type basis;
01588     enum wined3d_degree_type degree;
01589 };
01590 
01591 struct wined3d_adapter_identifier
01592 {
01593     char *driver;
01594     UINT driver_size;
01595     char *description;
01596     UINT description_size;
01597     char *device_name;
01598     UINT device_name_size;
01599     LARGE_INTEGER driver_version;
01600     DWORD vendor_id;
01601     DWORD device_id;
01602     DWORD subsystem_id;
01603     DWORD revision;
01604     GUID device_identifier;
01605     DWORD whql_level;
01606     LUID adapter_luid;
01607     SIZE_T video_memory;
01608 };
01609 
01610 struct wined3d_swapchain_desc
01611 {
01612     UINT backbuffer_width;
01613     UINT backbuffer_height;
01614     enum wined3d_format_id backbuffer_format;
01615     UINT backbuffer_count;
01616     enum wined3d_multisample_type multisample_type;
01617     DWORD multisample_quality;
01618     enum wined3d_swap_effect swap_effect;
01619     HWND device_window;
01620     BOOL windowed;
01621     BOOL enable_auto_depth_stencil;
01622     enum wined3d_format_id auto_depth_stencil_format;
01623     DWORD flags;
01624     UINT refresh_rate;
01625     UINT swap_interval;
01626     BOOL auto_restore_display_mode;
01627 };
01628 
01629 struct wined3d_resource_desc
01630 {
01631     enum wined3d_resource_type resource_type;
01632     enum wined3d_format_id format;
01633     enum wined3d_multisample_type multisample_type;
01634     UINT multisample_quality;
01635     DWORD usage;
01636     enum wined3d_pool pool;
01637     UINT width;
01638     UINT height;
01639     UINT depth;
01640     UINT size;
01641 };
01642 
01643 struct wined3d_clip_status
01644 {
01645    DWORD clip_union;
01646    DWORD clip_intersection;
01647 };
01648 
01649 struct wined3d_vertex_element
01650 {
01651     enum wined3d_format_id format;
01652     WORD input_slot;
01653     WORD offset;
01654     UINT output_slot; /* D3D 8 & 10 */
01655     BYTE method;
01656     BYTE usage;
01657     BYTE usage_idx;
01658 };
01659 
01660 struct wined3d_device_creation_parameters
01661 {
01662     UINT adapter_idx;
01663     enum wined3d_device_type device_type;
01664     HWND focus_window;
01665     DWORD flags;
01666 };
01667 
01668 struct wined3d_raster_status
01669 {
01670     BOOL in_vblank;
01671     UINT scan_line;
01672 };
01673 
01674 struct wined3d_mapped_rect
01675 {
01676     UINT row_pitch;
01677     void *data;
01678 };
01679 
01680 struct wined3d_mapped_box
01681 {
01682     UINT row_pitch;
01683     UINT slice_pitch;
01684     void *data;
01685 };
01686 
01687 struct wined3d_box
01688 {
01689     UINT left;
01690     UINT top;
01691     UINT right;
01692     UINT bottom;
01693     UINT front;
01694     UINT back;
01695 };
01696 
01697 struct wined3d_strided_element
01698 {
01699     enum wined3d_format_id format;  /* Format of the data */
01700     const BYTE *data;               /* Pointer to start of data */
01701     UINT stride;                    /* Stride between occurrences of this data */
01702 };
01703 
01704 struct wined3d_strided_data
01705 {
01706     struct wined3d_strided_element position;
01707     struct wined3d_strided_element normal;
01708     struct wined3d_strided_element diffuse;
01709     struct wined3d_strided_element specular;
01710     struct wined3d_strided_element tex_coords[WINED3DDP_MAXTEXCOORD];
01711     BOOL position_transformed;
01712 };
01713 
01714 struct wined3d_vertex_shader_caps
01715 {
01716     DWORD caps;
01717     INT dynamic_flow_control_depth;
01718     INT temp_count;
01719     INT static_flow_control_depth;
01720 };
01721 
01722 struct wined3d_pixel_shader_caps
01723 {
01724     DWORD caps;
01725     INT dynamic_flow_control_depth;
01726     INT temp_count;
01727     INT static_flow_control_depth;
01728     INT instruction_slot_count;
01729 };
01730 
01731 struct wined3d_ddraw_caps
01732 {
01733     DWORD caps;
01734     DWORD caps2;
01735     DWORD color_key_caps;
01736     DWORD fx_caps;
01737     DWORD fx_alpha_caps;
01738     DWORD pal_caps;
01739     DWORD sv_caps;
01740     DWORD svb_caps;
01741     DWORD svb_color_key_caps;
01742     DWORD svb_fx_caps;
01743     DWORD vsb_caps;
01744     DWORD vsb_color_key_caps;
01745     DWORD vsb_fx_caps;
01746     DWORD ssb_caps;
01747     DWORD ssb_color_key_caps;
01748     DWORD ssb_fx_caps;
01749     DWORD dds_caps;
01750     DWORD stride_align;
01751 };
01752 
01753 typedef struct _WINED3DCAPS
01754 {
01755     enum wined3d_device_type DeviceType;
01756     UINT AdapterOrdinal;
01757 
01758     DWORD Caps;
01759     DWORD Caps2;
01760     DWORD Caps3;
01761     DWORD PresentationIntervals;
01762 
01763     DWORD CursorCaps;
01764     DWORD DevCaps;
01765     DWORD PrimitiveMiscCaps;
01766     DWORD RasterCaps;
01767     DWORD ZCmpCaps;
01768     DWORD SrcBlendCaps;
01769     DWORD DestBlendCaps;
01770     DWORD AlphaCmpCaps;
01771     DWORD ShadeCaps;
01772     DWORD TextureCaps;
01773     DWORD TextureFilterCaps;
01774     DWORD CubeTextureFilterCaps;
01775     DWORD VolumeTextureFilterCaps;
01776     DWORD TextureAddressCaps;
01777     DWORD VolumeTextureAddressCaps;
01778     DWORD LineCaps;
01779 
01780     DWORD MaxTextureWidth;
01781     DWORD MaxTextureHeight;
01782     DWORD MaxVolumeExtent;
01783     DWORD MaxTextureRepeat;
01784     DWORD MaxTextureAspectRatio;
01785     DWORD MaxAnisotropy;
01786     float MaxVertexW;
01787 
01788     float GuardBandLeft;
01789     float GuardBandTop;
01790     float GuardBandRight;
01791     float GuardBandBottom;
01792 
01793     float ExtentsAdjust;
01794     DWORD StencilCaps;
01795 
01796     DWORD FVFCaps;
01797     DWORD TextureOpCaps;
01798     DWORD MaxTextureBlendStages;
01799     DWORD MaxSimultaneousTextures;
01800 
01801     DWORD VertexProcessingCaps;
01802     DWORD MaxActiveLights;
01803     DWORD MaxUserClipPlanes;
01804     DWORD MaxVertexBlendMatrices;
01805     DWORD MaxVertexBlendMatrixIndex;
01806 
01807     float MaxPointSize;
01808 
01809     DWORD MaxPrimitiveCount;
01810     DWORD MaxVertexIndex;
01811     DWORD MaxStreams;
01812     DWORD MaxStreamStride;
01813 
01814     DWORD VertexShaderVersion;
01815     DWORD MaxVertexShaderConst;
01816 
01817     DWORD PixelShaderVersion;
01818     float PixelShader1xMaxValue;
01819 
01820     /* DX 9 */
01821     DWORD DevCaps2;
01822 
01823     float MaxNpatchTessellationLevel;
01824     DWORD Reserved5; /* undocumented */
01825 
01826     UINT MasterAdapterOrdinal;
01827     UINT AdapterOrdinalInGroup;
01828     UINT NumberOfAdaptersInGroup;
01829     DWORD DeclTypes;
01830     DWORD NumSimultaneousRTs;
01831     DWORD StretchRectFilterCaps;
01832     struct wined3d_vertex_shader_caps VS20Caps;
01833     struct wined3d_pixel_shader_caps PS20Caps;
01834     DWORD VertexTextureFilterCaps;
01835     DWORD MaxVShaderInstructionsExecuted;
01836     DWORD MaxPShaderInstructionsExecuted;
01837     DWORD MaxVertexShader30InstructionSlots;
01838     DWORD MaxPixelShader30InstructionSlots;
01839     DWORD Reserved2; /* Not in the microsoft headers but documented */
01840     DWORD Reserved3;
01841 
01842     struct wined3d_ddraw_caps ddraw_caps;
01843 } WINED3DCAPS;
01844 
01845 struct wined3d_color_key
01846 {
01847     DWORD color_space_low_value;    /* low boundary of color space that is to
01848                                      * be treated as Color Key, inclusive */
01849     DWORD color_space_high_value;   /* high boundary of color space that is
01850                                      * to be treated as Color Key, inclusive */
01851 };
01852 
01853 typedef struct _WINEDDBLTFX
01854 {
01855     DWORD dwSize;                                   /* size of structure */
01856     DWORD dwDDFX;                                   /* FX operations */
01857     DWORD dwROP;                                    /* Win32 raster operations */
01858     DWORD dwDDROP;                                  /* Raster operations new for DirectDraw */
01859     DWORD dwRotationAngle;                          /* Rotation angle for blt */
01860     DWORD dwZBufferOpCode;                          /* ZBuffer compares */
01861     DWORD dwZBufferLow;                             /* Low limit of Z buffer */
01862     DWORD dwZBufferHigh;                            /* High limit of Z buffer */
01863     DWORD dwZBufferBaseDest;                        /* Destination base value */
01864     DWORD dwZDestConstBitDepth;                     /* Bit depth used to specify Z constant for destination */
01865     union
01866     {
01867         DWORD dwZDestConst;                         /* Constant to use as Z buffer for dest */
01868         struct wined3d_surface *lpDDSZBufferDest;   /* Surface to use as Z buffer for dest */
01869     } DUMMYUNIONNAME1;
01870     DWORD dwZSrcConstBitDepth;                      /* Bit depth used to specify Z constant for source */
01871     union
01872     {
01873         DWORD dwZSrcConst;                          /* Constant to use as Z buffer for src */
01874         struct wined3d_surface *lpDDSZBufferSrc;    /* Surface to use as Z buffer for src */
01875     } DUMMYUNIONNAME2;
01876     DWORD dwAlphaEdgeBlendBitDepth;                 /* Bit depth used to specify constant for alpha edge blend */
01877     DWORD dwAlphaEdgeBlend;                         /* Alpha for edge blending */
01878     DWORD dwReserved;
01879     DWORD dwAlphaDestConstBitDepth;                 /* Bit depth used to specify alpha constant for destination */
01880     union
01881     {
01882         DWORD dwAlphaDestConst;                     /* Constant to use as Alpha Channel */
01883         struct wined3d_surface *lpDDSAlphaDest;     /* Surface to use as Alpha Channel */
01884     } DUMMYUNIONNAME3;
01885     DWORD dwAlphaSrcConstBitDepth;                  /* Bit depth used to specify alpha constant for source */
01886     union
01887     {
01888         DWORD dwAlphaSrcConst;                      /* Constant to use as Alpha Channel */
01889         struct wined3d_surface *lpDDSAlphaSrc;      /* Surface to use as Alpha Channel */
01890     } DUMMYUNIONNAME4;
01891     union
01892     {
01893         DWORD dwFillColor;                          /* color in RGB or Palettized */
01894         DWORD dwFillDepth;                          /* depth value for z-buffer */
01895         DWORD dwFillPixel;                          /* pixel val for RGBA or RGBZ */
01896         struct wined3d_surface *lpDDSPattern;       /* Surface to use as pattern */
01897     } DUMMYUNIONNAME5;
01898     struct wined3d_color_key ddckDestColorkey;      /* DestColorkey override */
01899     struct wined3d_color_key ddckSrcColorkey;       /* SrcColorkey override */
01900 } WINEDDBLTFX,*LPWINEDDBLTFX;
01901 
01902 typedef struct _WINEDDOVERLAYFX
01903 {
01904     DWORD dwSize;                                   /* size of structure */
01905     DWORD dwAlphaEdgeBlendBitDepth;                 /* Bit depth used to specify constant for alpha edge blend */
01906     DWORD dwAlphaEdgeBlend;                         /* Constant to use as alpha for edge blend */
01907     DWORD dwReserved;
01908     DWORD dwAlphaDestConstBitDepth;                 /* Bit depth used to specify alpha constant for destination */
01909     union
01910     {
01911         DWORD dwAlphaDestConst;                     /* Constant to use as alpha channel for dest */
01912         struct wined3d_surface *lpDDSAlphaDest;     /* Surface to use as alpha channel for dest */
01913     } DUMMYUNIONNAME1;
01914     DWORD dwAlphaSrcConstBitDepth;                  /* Bit depth used to specify alpha constant for source */
01915     union
01916     {
01917         DWORD dwAlphaSrcConst;                      /* Constant to use as alpha channel for src */
01918         struct wined3d_surface *lpDDSAlphaSrc;      /* Surface to use as alpha channel for src */
01919     } DUMMYUNIONNAME2;
01920     struct wined3d_color_key dckDestColorkey;       /* DestColorkey override */
01921     struct wined3d_color_key dckSrcColorkey;        /* SrcColorkey override */
01922     DWORD dwDDFX;                                   /* Overlay FX */
01923     DWORD dwFlags;                                  /* flags */
01924 } WINEDDOVERLAYFX;
01925 
01926 struct wined3d_buffer_desc
01927 {
01928     UINT byte_width;
01929     DWORD usage;
01930     UINT bind_flags;
01931     UINT cpu_access_flags;
01932     UINT misc_flags;
01933 };
01934 
01935 struct wined3d_shader_signature_element
01936 {
01937     const char *semantic_name;
01938     UINT semantic_idx;
01939     enum wined3d_sysval_semantic sysval_semantic;
01940     DWORD component_type;
01941     UINT register_idx;
01942     DWORD mask;
01943 };
01944 
01945 struct wined3d_shader_signature
01946 {
01947     UINT element_count;
01948     struct wined3d_shader_signature_element *elements;
01949     char *string_data;
01950 };
01951 
01952 struct wined3d_parent_ops
01953 {
01954     void (__stdcall *wined3d_object_destroyed)(void *parent);
01955 };
01956 
01957 struct wined3d;
01958 struct wined3d_buffer;
01959 struct wined3d_device;
01960 struct wined3d_palette;
01961 struct wined3d_query;
01962 struct wined3d_rendertarget_view;
01963 struct wined3d_resource;
01964 struct wined3d_shader;
01965 struct wined3d_stateblock;
01966 struct wined3d_surface;
01967 struct wined3d_swapchain;
01968 struct wined3d_texture;
01969 struct wined3d_vertex_declaration;
01970 struct wined3d_volume;
01971 
01972 struct wined3d_device_parent
01973 {
01974     const struct wined3d_device_parent_ops *ops;
01975 };
01976 
01977 struct wined3d_device_parent_ops
01978 {
01979     void (__cdecl *wined3d_device_created)(struct wined3d_device_parent *device_parent, struct wined3d_device *device);
01980     void (__cdecl *mode_changed)(struct wined3d_device_parent *device_parent);
01981     HRESULT (__cdecl *create_surface)(struct wined3d_device_parent *device_parent, void *container_parent,
01982             UINT width, UINT height, enum wined3d_format_id format_id, DWORD usage, enum wined3d_pool pool,
01983             UINT level, enum wined3d_cubemap_face face, struct wined3d_surface **surface);
01984     HRESULT (__cdecl *create_rendertarget)(struct wined3d_device_parent *device_parent, void *container_parent,
01985             UINT width, UINT height, enum wined3d_format_id format_id, enum wined3d_multisample_type multisample_type,
01986             DWORD multisample_quality, BOOL lockable, struct wined3d_surface **surface);
01987     HRESULT (__cdecl *create_depth_stencil)(struct wined3d_device_parent *device_parent,
01988             UINT width, UINT height, enum wined3d_format_id format_id, enum wined3d_multisample_type multisample_type,
01989             DWORD multisample_quality, BOOL discard, struct wined3d_surface **surface);
01990     HRESULT (__cdecl *create_volume)(struct wined3d_device_parent *device_parent, void *container_parent,
01991             UINT width, UINT height, UINT depth, enum wined3d_format_id format_id, enum wined3d_pool pool, DWORD usage,
01992             struct wined3d_volume **volume);
01993     HRESULT (__cdecl *create_swapchain)(struct wined3d_device_parent *device_parent,
01994             struct wined3d_swapchain_desc *desc, struct wined3d_swapchain **swapchain);
01995 };
01996 
01997 typedef HRESULT (CDECL *wined3d_device_reset_cb)(struct wined3d_resource *resource);
01998 
01999 void __stdcall wined3d_mutex_lock(void);
02000 void __stdcall wined3d_mutex_unlock(void);
02001 
02002 HRESULT __cdecl wined3d_check_depth_stencil_match(const struct wined3d *wined3d, UINT adapter_idx,
02003         enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id,
02004         enum wined3d_format_id render_target_format_id, enum wined3d_format_id depth_stencil_format_id);
02005 HRESULT __cdecl wined3d_check_device_format(const struct wined3d *wined3d, UINT adaper_idx,
02006         enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, DWORD usage,
02007         enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id,
02008         WINED3DSURFTYPE surface_type);
02009 HRESULT __cdecl wined3d_check_device_format_conversion(const struct wined3d *wined3d, UINT adapter_idx,
02010         enum wined3d_device_type device_type, enum wined3d_format_id source_format_id,
02011         enum wined3d_format_id target_format_id);
02012 HRESULT __cdecl wined3d_check_device_multisample_type(const struct wined3d *wined3d, UINT adapter_idx,
02013         enum wined3d_device_type device_type, enum wined3d_format_id surface_format_id, BOOL windowed,
02014         enum wined3d_multisample_type multisample_type, DWORD *quality_levels);
02015 HRESULT __cdecl wined3d_check_device_type(const struct wined3d *wined3d, UINT adapter_idx,
02016         enum wined3d_device_type device_type, enum wined3d_format_id display_format_id,
02017         enum wined3d_format_id backbuffer_format_id, BOOL windowed);
02018 struct wined3d * __cdecl wined3d_create(UINT dxVersion, DWORD flags, void *parent);
02019 ULONG __cdecl wined3d_decref(struct wined3d *wined3d);
02020 HRESULT __cdecl wined3d_enum_adapter_modes(const struct wined3d *wined3d, UINT adapter_idx,
02021         enum wined3d_format_id format_id, UINT mode_idx, struct wined3d_display_mode *mode);
02022 UINT __cdecl wined3d_get_adapter_count(const struct wined3d *wined3d);
02023 HRESULT __cdecl wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx,
02024         struct wined3d_display_mode *mode);
02025 HRESULT __cdecl wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx,
02026         DWORD flags, struct wined3d_adapter_identifier *identifier);
02027 UINT __cdecl wined3d_get_adapter_mode_count(const struct wined3d *wined3d,
02028         UINT adapter_idx, enum wined3d_format_id format_id);
02029 HMONITOR __cdecl wined3d_get_adapter_monitor(const struct wined3d *wined3d, UINT adapter_idx);
02030 HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
02031         enum wined3d_device_type device_type, WINED3DCAPS *caps);
02032 void * __cdecl wined3d_get_parent(const struct wined3d *wined3d);
02033 ULONG __cdecl wined3d_incref(struct wined3d *wined3d);
02034 HRESULT __cdecl wined3d_register_software_device(struct wined3d *wined3d, void *init_function);
02035 
02036 HRESULT __cdecl wined3d_buffer_create(struct wined3d_device *device, struct wined3d_buffer_desc *desc,
02037         const void *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer);
02038 HRESULT __cdecl wined3d_buffer_create_ib(struct wined3d_device *device, UINT length, DWORD usage,
02039         enum wined3d_pool pool, void *parent, const struct wined3d_parent_ops *parent_ops,
02040         struct wined3d_buffer **buffer);
02041 HRESULT __cdecl wined3d_buffer_create_vb(struct wined3d_device *device, UINT length, DWORD usage,
02042         enum wined3d_pool pool, void *parent, const struct wined3d_parent_ops *parent_ops,
02043         struct wined3d_buffer **buffer);
02044 ULONG __cdecl wined3d_buffer_decref(struct wined3d_buffer *buffer);
02045 void * __cdecl wined3d_buffer_get_parent(const struct wined3d_buffer *buffer);
02046 DWORD __cdecl wined3d_buffer_get_priority(const struct wined3d_buffer *buffer);
02047 struct wined3d_resource * __cdecl wined3d_buffer_get_resource(struct wined3d_buffer *buffer);
02048 ULONG __cdecl wined3d_buffer_incref(struct wined3d_buffer *buffer);
02049 HRESULT __cdecl wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UINT size, BYTE **data, DWORD flags);
02050 void  __cdecl wined3d_buffer_preload(struct wined3d_buffer *buffer);
02051 DWORD __cdecl wined3d_buffer_set_priority(struct wined3d_buffer *buffer, DWORD new_priority);
02052 void __cdecl wined3d_buffer_unmap(struct wined3d_buffer *buffer);
02053 
02054 HRESULT __cdecl wined3d_device_acquire_focus_window(struct wined3d_device *device, HWND window);
02055 HRESULT __cdecl wined3d_device_begin_scene(struct wined3d_device *device);
02056 HRESULT __cdecl wined3d_device_begin_stateblock(struct wined3d_device *device);
02057 HRESULT __cdecl wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags,
02058         const struct wined3d_color *color, float z, DWORD stencil);
02059 void __cdecl wined3d_device_clear_rendertarget_view(struct wined3d_device *device,
02060         struct wined3d_rendertarget_view *rendertarget_view, const struct wined3d_color *color);
02061 HRESULT __cdecl wined3d_device_color_fill(struct wined3d_device *device, struct wined3d_surface *surface,
02062         const RECT *rect, const struct wined3d_color *color);
02063 HRESULT __cdecl wined3d_device_create(struct wined3d *wined3d, UINT adapter_idx,
02064         enum wined3d_device_type device_type, HWND focus_window, DWORD behaviour_flags, BYTE surface_alignment,
02065         struct wined3d_device_parent *device_parent, struct wined3d_device **device);
02066 ULONG __cdecl wined3d_device_decref(struct wined3d_device *device);
02067 HRESULT __cdecl wined3d_device_delete_patch(struct wined3d_device *device, UINT handle);
02068 HRESULT __cdecl wined3d_device_draw_indexed_primitive(struct wined3d_device *device, UINT start_idx, UINT index_count);
02069 HRESULT __cdecl wined3d_device_draw_indexed_primitive_strided(struct wined3d_device *device, UINT index_count,
02070         const struct wined3d_strided_data *strided_data, UINT vertex_count, const void *index_data,
02071         enum wined3d_format_id index_data_format_id);
02072 HRESULT __cdecl wined3d_device_draw_indexed_primitive_up(struct wined3d_device *device,
02073         UINT index_count, const void *index_data, enum wined3d_format_id index_data_format_id,
02074         const void *stream_data, UINT stream_stride);
02075 HRESULT __cdecl wined3d_device_draw_primitive(struct wined3d_device *device, UINT start_vertex, UINT vertex_count);
02076 HRESULT __cdecl wined3d_device_draw_primitive_strided(struct wined3d_device *device,
02077         UINT vertex_count, const struct wined3d_strided_data *strided_data);
02078 HRESULT __cdecl wined3d_device_draw_primitive_up(struct wined3d_device *device,
02079         UINT vertex_count, const void *stream_data, UINT stream_stride);
02080 HRESULT __cdecl wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT handle,
02081         const float *num_segs, const struct wined3d_rect_patch_info *rect_patch_info);
02082 HRESULT __cdecl wined3d_device_draw_tri_patch(struct wined3d_device *device, UINT handle,
02083         const float *num_segs, const struct wined3d_tri_patch_info *tri_patch_info);
02084 HRESULT __cdecl wined3d_device_end_scene(struct wined3d_device *device);
02085 HRESULT __cdecl wined3d_device_end_stateblock(struct wined3d_device *device, struct wined3d_stateblock **stateblock);
02086 void __cdecl wined3d_device_evict_managed_resources(struct wined3d_device *device);
02087 UINT __cdecl wined3d_device_get_available_texture_mem(const struct wined3d_device *device);
02088 HRESULT __cdecl wined3d_device_get_back_buffer(const struct wined3d_device *device, UINT swapchain_idx,
02089         UINT backbuffer_idx, enum wined3d_backbuffer_type backbuffer_type, struct wined3d_surface **backbuffer);
02090 INT __cdecl wined3d_device_get_base_vertex_index(const struct wined3d_device *device);
02091 HRESULT __cdecl wined3d_device_get_clip_plane(const struct wined3d_device *device, UINT plane_idx, float *plane);
02092 HRESULT __cdecl wined3d_device_get_clip_status(const struct wined3d_device *device,
02093         struct wined3d_clip_status *clip_status);
02094 HRESULT __cdecl wined3d_device_get_creation_parameters(const struct wined3d_device *device,
02095         struct wined3d_device_creation_parameters *creation_parameters);
02096 HRESULT __cdecl wined3d_device_get_depth_stencil(const struct wined3d_device *device,
02097         struct wined3d_surface **depth_stencil);
02098 HRESULT __cdecl wined3d_device_get_device_caps(const struct wined3d_device *device, WINED3DCAPS *caps);
02099 HRESULT __cdecl wined3d_device_get_display_mode(const struct wined3d_device *device,
02100         UINT swapchain_idx, struct wined3d_display_mode *mode);
02101 HRESULT __cdecl wined3d_device_get_front_buffer_data(const struct wined3d_device *device,
02102         UINT swapchain_idx, struct wined3d_surface *dst_surface);
02103 void __cdecl wined3d_device_get_gamma_ramp(const struct wined3d_device *device,
02104         UINT swapchain_idx, struct wined3d_gamma_ramp *ramp);
02105 HRESULT __cdecl wined3d_device_get_index_buffer(const struct wined3d_device *device,
02106         struct wined3d_buffer **index_buffer);
02107 HRESULT __cdecl wined3d_device_get_light(const struct wined3d_device *device,
02108         UINT light_idx, struct wined3d_light *light);
02109 HRESULT __cdecl wined3d_device_get_light_enable(const struct wined3d_device *device, UINT light_idx, BOOL *enable);
02110 HRESULT __cdecl wined3d_device_get_material(const struct wined3d_device *device, struct wined3d_material *material);
02111 float __cdecl wined3d_device_get_npatch_mode(const struct wined3d_device *device);
02112 struct wined3d_shader * __cdecl wined3d_device_get_pixel_shader(const struct wined3d_device *device);
02113 void __cdecl wined3d_device_get_primitive_type(const struct wined3d_device *device,
02114         enum wined3d_primitive_type *primitive_topology);
02115 HRESULT __cdecl wined3d_device_get_ps_consts_b(const struct wined3d_device *device,
02116         UINT start_register, BOOL *constants, UINT bool_count);
02117 HRESULT __cdecl wined3d_device_get_ps_consts_f(const struct wined3d_device *device,
02118         UINT start_register, float *constants, UINT vector4f_count);
02119 HRESULT __cdecl wined3d_device_get_ps_consts_i(const struct wined3d_device *device,
02120         UINT start_register, int *constants, UINT vector4i_count);
02121 HRESULT __cdecl wined3d_device_get_raster_status(const struct wined3d_device *device,
02122         UINT swapchain_idx, struct wined3d_raster_status *raster_status);
02123 HRESULT __cdecl wined3d_device_get_render_state(const struct wined3d_device *device,
02124         enum wined3d_render_state state, DWORD *value);
02125 HRESULT __cdecl wined3d_device_get_render_target(const struct wined3d_device *device,
02126         UINT render_target_idx, struct wined3d_surface **render_target);
02127 HRESULT __cdecl wined3d_device_get_sampler_state(const struct wined3d_device *device,
02128         UINT sampler_idx, enum wined3d_sampler_state state, DWORD *value);
02129 HRESULT __cdecl wined3d_device_get_scissor_rect(const struct wined3d_device *device, RECT *rect);
02130 BOOL __cdecl wined3d_device_get_software_vertex_processing(const struct wined3d_device *device);
02131 HRESULT __cdecl wined3d_device_get_stream_source(const struct wined3d_device *device,
02132         UINT stream_idx, struct wined3d_buffer **buffer, UINT *offset, UINT *stride);
02133 HRESULT __cdecl wined3d_device_get_stream_source_freq(const struct wined3d_device *device,
02134         UINT stream_idx, UINT *divider);
02135 HRESULT __cdecl wined3d_device_get_surface_from_dc(const struct wined3d_device *device,
02136         HDC dc, struct wined3d_surface **surface);
02137 HRESULT __cdecl wined3d_device_get_swapchain(const struct wined3d_device *device,
02138         UINT swapchain_idx, struct wined3d_swapchain **swapchain);
02139 UINT __cdecl wined3d_device_get_swapchain_count(const struct wined3d_device *device);
02140 HRESULT __cdecl wined3d_device_get_texture(const struct wined3d_device *device,
02141         UINT stage, struct wined3d_texture **texture);
02142 HRESULT __cdecl wined3d_device_get_texture_stage_state(const struct wined3d_device *device,
02143         UINT stage, enum wined3d_texture_stage_state state, DWORD *value);
02144 HRESULT __cdecl wined3d_device_get_transform(const struct wined3d_device *device,
02145         enum wined3d_transform_state state, struct wined3d_matrix *matrix);
02146 HRESULT __cdecl wined3d_device_get_vertex_declaration(const struct wined3d_device *device,
02147         struct wined3d_vertex_declaration **declaration);
02148 struct wined3d_shader * __cdecl wined3d_device_get_vertex_shader(const struct wined3d_device *device);
02149 HRESULT __cdecl wined3d_device_get_viewport(const struct wined3d_device *device, struct wined3d_viewport *viewport);
02150 HRESULT __cdecl wined3d_device_get_vs_consts_b(const struct wined3d_device *device,
02151         UINT start_register, BOOL *constants, UINT bool_count);
02152 HRESULT __cdecl wined3d_device_get_vs_consts_f(const struct wined3d_device *device,
02153         UINT start_register, float *constants, UINT vector4f_count);
02154 HRESULT __cdecl wined3d_device_get_vs_consts_i(const struct wined3d_device *device,
02155         UINT start_register, int *constants, UINT vector4i_count);
02156 HRESULT __cdecl wined3d_device_get_wined3d(const struct wined3d_device *device, struct wined3d **wined3d);
02157 ULONG __cdecl wined3d_device_incref(struct wined3d_device *device);
02158 HRESULT __cdecl wined3d_device_init_3d(struct wined3d_device *device, struct wined3d_swapchain_desc *swapchain_desc);
02159 HRESULT __cdecl wined3d_device_init_gdi(struct wined3d_device *device, struct wined3d_swapchain_desc *swapchain_desc);
02160 HRESULT __cdecl wined3d_device_multiply_transform(struct wined3d_device *device,
02161         enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
02162 HRESULT __cdecl wined3d_device_present(const struct wined3d_device *device, const RECT *src_rect,
02163         const RECT *dst_rect, HWND dst_window_override, const RGNDATA *dirty_region);
02164 HRESULT __cdecl wined3d_device_process_vertices(struct wined3d_device *device,
02165         UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer,
02166         const struct wined3d_vertex_declaration *declaration, DWORD flags, DWORD dst_fvf);
02167 void __cdecl wined3d_device_release_focus_window(struct wined3d_device *device);
02168 HRESULT __cdecl wined3d_device_reset(struct wined3d_device *device,
02169         const struct wined3d_swapchain_desc *swapchain_desc, wined3d_device_reset_cb callback);
02170 void __cdecl wined3d_device_restore_fullscreen_window(struct wined3d_device *device, HWND window);
02171 HRESULT __cdecl wined3d_device_set_base_vertex_index(struct wined3d_device *device, INT base_index);
02172 HRESULT __cdecl wined3d_device_set_clip_plane(struct wined3d_device *device, UINT plane_idx, const float *plane);
02173 HRESULT __cdecl wined3d_device_set_clip_status(struct wined3d_device *device,
02174         const struct wined3d_clip_status *clip_status);
02175 void __cdecl wined3d_device_set_cursor_position(struct wined3d_device *device,
02176         int x_screen_space, int y_screen_space, DWORD flags);
02177 HRESULT __cdecl wined3d_device_set_cursor_properties(struct wined3d_device *device,
02178         UINT x_hotspot, UINT y_hotspot, struct wined3d_surface *cursor_surface);
02179 HRESULT __cdecl wined3d_device_set_depth_stencil(struct wined3d_device *device, struct wined3d_surface *depth_stencil);
02180 HRESULT __cdecl wined3d_device_set_dialog_box_mode(struct wined3d_device *device, BOOL enable_dialogs);
02181 HRESULT __cdecl wined3d_device_set_display_mode(struct wined3d_device *device,
02182         UINT swapchain_idx, const struct wined3d_display_mode *mode);
02183 void __cdecl wined3d_device_set_gamma_ramp(const struct wined3d_device *device,
02184         UINT swapchain_idx, DWORD flags, const struct wined3d_gamma_ramp *ramp);
02185 HRESULT __cdecl wined3d_device_set_index_buffer(struct wined3d_device *device,
02186         struct wined3d_buffer *index_buffer, enum wined3d_format_id format_id);
02187 HRESULT __cdecl wined3d_device_set_light(struct wined3d_device *device,
02188         UINT light_idx, const struct wined3d_light *light);
02189 HRESULT __cdecl wined3d_device_set_light_enable(struct wined3d_device *device, UINT light_idx, BOOL enable);
02190 HRESULT __cdecl wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material);
02191 void __cdecl wined3d_device_set_multithreaded(struct wined3d_device *device);
02192 HRESULT __cdecl wined3d_device_set_npatch_mode(struct wined3d_device *device, float segments);
02193 HRESULT __cdecl wined3d_device_set_pixel_shader(struct wined3d_device *device, struct wined3d_shader *shader);
02194 void __cdecl wined3d_device_set_primitive_type(struct wined3d_device *device,
02195         enum wined3d_primitive_type primitive_topology);
02196 HRESULT __cdecl wined3d_device_set_ps_consts_b(struct wined3d_device *device,
02197         UINT start_register, const BOOL *constants, UINT bool_count);
02198 HRESULT __cdecl wined3d_device_set_ps_consts_f(struct wined3d_device *device,
02199         UINT start_register, const float *constants, UINT vector4f_count);
02200 HRESULT __cdecl wined3d_device_set_ps_consts_i(struct wined3d_device *device,
02201         UINT start_register, const int *constants, UINT vector4i_count);
02202 HRESULT __cdecl wined3d_device_set_render_state(struct wined3d_device *device,
02203         enum wined3d_render_state state, DWORD value);
02204 HRESULT __cdecl wined3d_device_set_render_target(struct wined3d_device *device,
02205         UINT render_target_idx, struct wined3d_surface *render_target, BOOL set_viewport);
02206 HRESULT __cdecl wined3d_device_set_sampler_state(struct wined3d_device *device,
02207         UINT sampler_idx, enum wined3d_sampler_state state, DWORD value);
02208 HRESULT __cdecl wined3d_device_set_scissor_rect(struct wined3d_device *device, const RECT *rect);
02209 HRESULT __cdecl wined3d_device_set_software_vertex_processing(struct wined3d_device *device, BOOL software);
02210 HRESULT __cdecl wined3d_device_set_stream_source(struct wined3d_device *device,
02211         UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride);
02212 HRESULT __cdecl wined3d_device_set_stream_source_freq(struct wined3d_device *device, UINT stream_idx, UINT divider);
02213 HRESULT __cdecl wined3d_device_set_texture(struct wined3d_device *device, UINT stage, struct wined3d_texture *texture);
02214 HRESULT __cdecl wined3d_device_set_texture_stage_state(struct wined3d_device *device,
02215         UINT stage, enum wined3d_texture_stage_state state, DWORD value);
02216 HRESULT __cdecl wined3d_device_set_transform(struct wined3d_device *device,
02217         enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
02218 HRESULT __cdecl wined3d_device_set_vertex_declaration(struct wined3d_device *device,
02219         struct wined3d_vertex_declaration *declaration);
02220 HRESULT __cdecl wined3d_device_set_vertex_shader(struct wined3d_device *device, struct wined3d_shader *shader);
02221 HRESULT __cdecl wined3d_device_set_viewport(struct wined3d_device *device, const struct wined3d_viewport *viewport);
02222 HRESULT __cdecl wined3d_device_set_vs_consts_b(struct wined3d_device *device,
02223         UINT start_register, const BOOL *constants, UINT bool_count);
02224 HRESULT __cdecl wined3d_device_set_vs_consts_f(struct wined3d_device *device,
02225         UINT start_register, const float *constants, UINT vector4f_count);
02226 HRESULT __cdecl wined3d_device_set_vs_consts_i(struct wined3d_device *device,
02227         UINT start_register, const int *constants, UINT vector4i_count);
02228 void __cdecl wined3d_device_setup_fullscreen_window(struct wined3d_device *device, HWND window, UINT w, UINT h);
02229 BOOL __cdecl wined3d_device_show_cursor(struct wined3d_device *device, BOOL show);
02230 HRESULT __cdecl wined3d_device_uninit_3d(struct wined3d_device *device);
02231 HRESULT __cdecl wined3d_device_uninit_gdi(struct wined3d_device *device);
02232 HRESULT __cdecl wined3d_device_update_surface(struct wined3d_device *device, struct wined3d_surface *src_surface,
02233         const RECT *src_rect, struct wined3d_surface *dst_surface, const POINT *dst_point);
02234 HRESULT __cdecl wined3d_device_update_texture(struct wined3d_device *device,
02235         struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture);
02236 HRESULT __cdecl wined3d_device_validate_device(const struct wined3d_device *device, DWORD *num_passes);
02237 
02238 HRESULT __cdecl wined3d_palette_create(struct wined3d_device *device, DWORD flags,
02239         const PALETTEENTRY *entries, void *parent, struct wined3d_palette **palette);
02240 ULONG __cdecl wined3d_palette_decref(struct wined3d_palette *palette);
02241 HRESULT __cdecl wined3d_palette_get_entries(const struct wined3d_palette *palette,
02242         DWORD flags, DWORD start, DWORD count, PALETTEENTRY *entries);
02243 DWORD __cdecl wined3d_palette_get_flags(const struct wined3d_palette *palette);
02244 void * __cdecl wined3d_palette_get_parent(const struct wined3d_palette *palette);
02245 ULONG __cdecl wined3d_palette_incref(struct wined3d_palette *palette);
02246 HRESULT __cdecl wined3d_palette_set_entries(struct wined3d_palette *palette,
02247         DWORD flags, DWORD start, DWORD count, const PALETTEENTRY *entries);
02248 
02249 HRESULT __cdecl wined3d_query_create(struct wined3d_device *device,
02250         enum wined3d_query_type type, struct wined3d_query **query);
02251 ULONG __cdecl wined3d_query_decref(struct wined3d_query *query);
02252 HRESULT __cdecl wined3d_query_get_data(struct wined3d_query *query, void *data, UINT data_size, DWORD flags);
02253 UINT __cdecl wined3d_query_get_data_size(const struct wined3d_query *query);
02254 enum wined3d_query_type __cdecl wined3d_query_get_type(const struct wined3d_query *query);
02255 ULONG __cdecl wined3d_query_incref(struct wined3d_query *query);
02256 HRESULT __cdecl wined3d_query_issue(struct wined3d_query *query, DWORD flags);
02257 
02258 HRESULT __cdecl wined3d_resource_free_private_data(struct wined3d_resource *resource, REFGUID guid);
02259 void __cdecl wined3d_resource_get_desc(const struct wined3d_resource *resource,
02260         struct wined3d_resource_desc *desc);
02261 void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resource);
02262 HRESULT __cdecl wined3d_resource_get_private_data(const struct wined3d_resource *resource,
02263         REFGUID guid, void *data, DWORD *data_size);
02264 HRESULT __cdecl wined3d_resource_set_private_data(struct wined3d_resource *resource,
02265         REFGUID guid, const void *data, DWORD data_size, DWORD flags);
02266 
02267 HRESULT __cdecl wined3d_rendertarget_view_create(struct wined3d_resource *resource,
02268         void *parent, struct wined3d_rendertarget_view **rendertarget_view);
02269 ULONG __cdecl wined3d_rendertarget_view_decref(struct wined3d_rendertarget_view *view);
02270 void * __cdecl wined3d_rendertarget_view_get_parent(const struct wined3d_rendertarget_view *view);
02271 struct wined3d_resource * __cdecl wined3d_rendertarget_view_get_resource(const struct wined3d_rendertarget_view *view);
02272 ULONG __cdecl wined3d_rendertarget_view_incref(struct wined3d_rendertarget_view *view);
02273 
02274 HRESULT __cdecl wined3d_shader_create_gs(struct wined3d_device *device, const DWORD *byte_code,
02275         const struct wined3d_shader_signature *output_signature, void *parent,
02276         const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader, unsigned int max_version);
02277 HRESULT __cdecl wined3d_shader_create_ps(struct wined3d_device *device, const DWORD *byte_code,
02278         const struct wined3d_shader_signature *output_signature, void *parent,
02279         const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader, unsigned int max_version);
02280 HRESULT __cdecl wined3d_shader_create_vs(struct wined3d_device *device, const DWORD *byte_code,
02281         const struct wined3d_shader_signature *output_signature, void *parent,
02282         const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader, unsigned int max_version);
02283 ULONG __cdecl wined3d_shader_decref(struct wined3d_shader *shader);
02284 HRESULT __cdecl wined3d_shader_get_byte_code(const struct wined3d_shader *shader,
02285         void *byte_code, UINT *byte_code_size);
02286 void * __cdecl wined3d_shader_get_parent(const struct wined3d_shader *shader);
02287 ULONG __cdecl wined3d_shader_incref(struct wined3d_shader *shader);
02288 HRESULT __cdecl wined3d_shader_set_local_constants_float(struct wined3d_shader *shader,
02289         UINT start_idx, const float *src_data, UINT vector4f_count);
02290 
02291 HRESULT __cdecl wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock);
02292 HRESULT __cdecl wined3d_stateblock_capture(struct wined3d_stateblock *stateblock);
02293 HRESULT __cdecl wined3d_stateblock_create(struct wined3d_device *device,
02294         enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock);
02295 ULONG __cdecl wined3d_stateblock_decref(struct wined3d_stateblock *stateblock);
02296 ULONG __cdecl wined3d_stateblock_incref(struct wined3d_stateblock *stateblock);
02297 
02298 HRESULT __cdecl wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst_rect,
02299         struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
02300         const WINEDDBLTFX *blt_fx, enum wined3d_texture_filter_type filter);
02301 HRESULT __cdecl wined3d_surface_create(struct wined3d_device *device, UINT width, UINT height,
02302         enum wined3d_format_id format_id, UINT level, DWORD usage, enum wined3d_pool pool,
02303         enum wined3d_multisample_type multisample_type, DWORD multisample_quality, WINED3DSURFTYPE surface_type,
02304         DWORD flags, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_surface **surface);
02305 ULONG __cdecl wined3d_surface_decref(struct wined3d_surface *surface);
02306 HRESULT __cdecl wined3d_surface_flip(struct wined3d_surface *surface, struct wined3d_surface *override, DWORD flags);
02307 HRESULT __cdecl wined3d_surface_get_blt_status(const struct wined3d_surface *surface, DWORD flags);
02308 HRESULT __cdecl wined3d_surface_get_flip_status(const struct wined3d_surface *surface, DWORD flags);
02309 HRESULT __cdecl wined3d_surface_get_overlay_position(const struct wined3d_surface *surface, LONG *x, LONG *y);
02310 struct wined3d_palette * __cdecl wined3d_surface_get_palette(const struct wined3d_surface *surface);
02311 void * __cdecl wined3d_surface_get_parent(const struct wined3d_surface *surface);
02312 DWORD __cdecl wined3d_surface_get_pitch(const struct wined3d_surface *surface);
02313 DWORD __cdecl wined3d_surface_get_priority(const struct wined3d_surface *surface);
02314 HRESULT __cdecl wined3d_surface_get_render_target_data(struct wined3d_surface *surface,
02315         struct wined3d_surface *render_target);
02316 struct wined3d_resource * __cdecl wined3d_surface_get_resource(struct wined3d_surface *surface);
02317 HRESULT __cdecl wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc);
02318 ULONG __cdecl wined3d_surface_incref(struct wined3d_surface *surface);
02319 HRESULT __cdecl wined3d_surface_is_lost(const struct wined3d_surface *surface);
02320 HRESULT __cdecl wined3d_surface_map(struct wined3d_surface *surface,
02321         struct wined3d_mapped_rect *mapped_rect, const RECT *rect, DWORD flags);
02322 void __cdecl wined3d_surface_preload(struct wined3d_surface *surface);
02323 HRESULT __cdecl wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc);
02324 HRESULT __cdecl wined3d_surface_restore(struct wined3d_surface *surface);
02325 HRESULT __cdecl wined3d_surface_set_color_key(struct wined3d_surface *surface,
02326         DWORD flags, const struct wined3d_color_key *color_key);
02327 HRESULT __cdecl wined3d_surface_set_mem(struct wined3d_surface *surface, void *mem);
02328 HRESULT __cdecl wined3d_surface_set_overlay_position(struct wined3d_surface *surface, LONG x, LONG y);
02329 HRESULT __cdecl wined3d_surface_set_palette(struct wined3d_surface *surface, struct wined3d_palette *palette);
02330 DWORD __cdecl wined3d_surface_set_priority(struct wined3d_surface *surface, DWORD new_priority);
02331 HRESULT __cdecl wined3d_surface_unmap(struct wined3d_surface *surface);
02332 HRESULT __cdecl wined3d_surface_update_desc(struct wined3d_surface *surface,
02333         UINT width, UINT height, enum wined3d_format_id format_id,
02334         enum wined3d_multisample_type multisample_type, UINT multisample_quality);
02335 HRESULT __cdecl wined3d_surface_update_overlay(struct wined3d_surface *surface, const RECT *src_rect,
02336         struct wined3d_surface *dst_surface, const RECT *dst_rect, DWORD flags, const WINEDDOVERLAYFX *fx);
02337 HRESULT __cdecl wined3d_surface_update_overlay_z_order(struct wined3d_surface *surface,
02338         DWORD flags, struct wined3d_surface *ref);
02339 
02340 HRESULT __cdecl wined3d_swapchain_create(struct wined3d_device *device,
02341         struct wined3d_swapchain_desc *desc, WINED3DSURFTYPE surface_type, void *parent,
02342         const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain);
02343 ULONG __cdecl wined3d_swapchain_decref(struct wined3d_swapchain *swapchain);
02344 HRESULT __cdecl wined3d_swapchain_get_back_buffer(const struct wined3d_swapchain *swapchain,
02345         UINT backbuffer_idx, enum wined3d_backbuffer_type backbuffer_type, struct wined3d_surface **backbuffer);
02346 struct wined3d_device * __cdecl wined3d_swapchain_get_device(const struct wined3d_swapchain *swapchain);
02347 HRESULT __cdecl wined3d_swapchain_get_display_mode(const struct wined3d_swapchain *swapchain,
02348         struct wined3d_display_mode *mode);
02349 HRESULT __cdecl wined3d_swapchain_get_front_buffer_data(const struct wined3d_swapchain *swapchain,
02350         struct wined3d_surface *dst_surface);
02351 HRESULT __cdecl wined3d_swapchain_get_gamma_ramp(const struct wined3d_swapchain *swapchain,
02352         struct wined3d_gamma_ramp *ramp);
02353 void * __cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain);
02354 HRESULT __cdecl wined3d_swapchain_get_desc(const struct wined3d_swapchain *swapchain,
02355         struct wined3d_swapchain_desc *desc);
02356 HRESULT __cdecl wined3d_swapchain_get_raster_status(const struct wined3d_swapchain *swapchain,
02357         struct wined3d_raster_status *raster_status);
02358 ULONG __cdecl wined3d_swapchain_incref(struct wined3d_swapchain *swapchain);
02359 HRESULT __cdecl wined3d_swapchain_present(struct wined3d_swapchain *swapchain,
02360         const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
02361         const RGNDATA *dirty_region, DWORD flags);
02362 HRESULT __cdecl wined3d_swapchain_set_gamma_ramp(const struct wined3d_swapchain *swapchain,
02363         DWORD flags, const struct wined3d_gamma_ramp *ramp);
02364 HRESULT __cdecl wined3d_swapchain_set_window(struct wined3d_swapchain *swapchain, HWND window);
02365 
02366 HRESULT __cdecl wined3d_texture_add_dirty_region(struct wined3d_texture *texture,
02367         UINT layer, const struct wined3d_box *dirty_region);
02368 HRESULT __cdecl wined3d_texture_create_2d(struct wined3d_device *device, UINT width, UINT height,
02369         UINT level_count, DWORD usage, enum wined3d_format_id format_id, enum wined3d_pool pool, void *parent,
02370         const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
02371 HRESULT __cdecl wined3d_texture_create_3d(struct wined3d_device *device, UINT width, UINT height, UINT depth,
02372         UINT level_count, DWORD usage, enum wined3d_format_id format_id, enum wined3d_pool pool, void *parent,
02373         const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
02374 HRESULT __cdecl wined3d_texture_create_cube(struct wined3d_device *device, UINT edge_length,
02375         UINT level_count, DWORD usage, enum wined3d_format_id format_id, enum wined3d_pool pool, void *parent,
02376         const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
02377 ULONG __cdecl wined3d_texture_decref(struct wined3d_texture *texture);
02378 void __cdecl wined3d_texture_generate_mipmaps(struct wined3d_texture *texture);
02379 enum wined3d_texture_filter_type __cdecl wined3d_texture_get_autogen_filter_type(const struct wined3d_texture *texture);
02380 DWORD __cdecl wined3d_texture_get_level_count(const struct wined3d_texture *texture);
02381 DWORD __cdecl wined3d_texture_get_lod(const struct wined3d_texture *texture);
02382 void * __cdecl wined3d_texture_get_parent(const struct wined3d_texture *texture);
02383 DWORD __cdecl wined3d_texture_get_priority(const struct wined3d_texture *texture);
02384 struct wined3d_resource * __cdecl wined3d_texture_get_resource(struct wined3d_texture *texture);
02385 struct wined3d_resource * __cdecl wined3d_texture_get_sub_resource(struct wined3d_texture *texture,
02386         UINT sub_resource_idx);
02387 ULONG __cdecl wined3d_texture_incref(struct wined3d_texture *texture);
02388 void __cdecl wined3d_texture_preload(struct wined3d_texture *texture);
02389 HRESULT __cdecl wined3d_texture_set_autogen_filter_type(struct wined3d_texture *texture,
02390         enum wined3d_texture_filter_type filter_type);
02391 DWORD __cdecl wined3d_texture_set_lod(struct wined3d_texture *texture, DWORD lod);
02392 DWORD __cdecl wined3d_texture_set_priority(struct wined3d_texture *texture, DWORD priority);
02393 
02394 HRESULT __cdecl wined3d_vertex_declaration_create(struct wined3d_device *device,
02395         const struct wined3d_vertex_element *elements, UINT element_count, void *parent,
02396         const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration);
02397 HRESULT __cdecl wined3d_vertex_declaration_create_from_fvf(struct wined3d_device *device,
02398         DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops,
02399         struct wined3d_vertex_declaration **declaration);
02400 ULONG __cdecl wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration);
02401 void * __cdecl wined3d_vertex_declaration_get_parent(const struct wined3d_vertex_declaration *declaration);
02402 ULONG __cdecl wined3d_vertex_declaration_incref(struct wined3d_vertex_declaration *declaration);
02403 
02404 HRESULT __cdecl wined3d_volume_create(struct wined3d_device *device, UINT width, UINT height, UINT depth,
02405         DWORD usage, enum wined3d_format_id format_id, enum wined3d_pool pool, void *parent,
02406         const struct wined3d_parent_ops *parent_ops, struct wined3d_volume **volume);
02407 ULONG __cdecl wined3d_volume_decref(struct wined3d_volume *volume);
02408 struct wined3d_volume * __cdecl wined3d_volume_from_resource(struct wined3d_resource *resource);
02409 void * __cdecl wined3d_volume_get_parent(const struct wined3d_volume *volume);
02410 DWORD __cdecl wined3d_volume_get_priority(const struct wined3d_volume *volume);
02411 struct wined3d_resource * __cdecl wined3d_volume_get_resource(struct wined3d_volume *volume);
02412 ULONG __cdecl wined3d_volume_incref(struct wined3d_volume *volume);
02413 HRESULT __cdecl wined3d_volume_map(struct wined3d_volume *volume,
02414         struct wined3d_mapped_box *mapped_box, const struct wined3d_box *box, DWORD flags);
02415 void __cdecl wined3d_volume_preload(struct wined3d_volume *volume);
02416 DWORD __cdecl wined3d_volume_set_priority(struct wined3d_volume *volume, DWORD new_priority);
02417 HRESULT __cdecl wined3d_volume_unmap(struct wined3d_volume *volume);
02418 
02419 #endif /* __WINE_WINED3D_H */

Generated on Sun May 27 2012 04:33:21 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.