Home | History | Annotate | Download | only in include
      1 #include <_mingw_unicode.h>
      2 /*
      3  * Copyright (C) 2008 Tony Wasserka
      4  *
      5  * This library is free software; you can redistribute it and/or
      6  * modify it under the terms of the GNU Lesser General Public
      7  * License as published by the Free Software Foundation; either
      8  * version 2.1 of the License, or (at your option) any later version.
      9  *
     10  * This library is distributed in the hope that it will be useful,
     11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13  * Lesser General Public License for more details.
     14  *
     15  * You should have received a copy of the GNU Lesser General Public
     16  * License along with this library; if not, write to the Free Software
     17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
     18  */
     19 
     20 #include <d3dx9.h>
     21 
     22 #ifndef __WINE_D3DX9TEX_H
     23 #define __WINE_D3DX9TEX_H
     24 
     25 /**********************************************
     26  ***************** Definitions ****************
     27  **********************************************/
     28 #define D3DX_FILTER_NONE                 0x00000001
     29 #define D3DX_FILTER_POINT                0x00000002
     30 #define D3DX_FILTER_LINEAR               0x00000003
     31 #define D3DX_FILTER_TRIANGLE             0x00000004
     32 #define D3DX_FILTER_BOX                  0x00000005
     33 #define D3DX_FILTER_MIRROR_U             0x00010000
     34 #define D3DX_FILTER_MIRROR_V             0x00020000
     35 #define D3DX_FILTER_MIRROR_W             0x00040000
     36 #define D3DX_FILTER_MIRROR               0x00070000
     37 #define D3DX_FILTER_DITHER               0x00080000
     38 #define D3DX_FILTER_DITHER_DIFFUSION     0x00100000
     39 #define D3DX_FILTER_SRGB_IN              0x00200000
     40 #define D3DX_FILTER_SRGB_OUT             0x00400000
     41 #define D3DX_FILTER_SRGB                 0x00600000
     42 
     43 #define D3DX_SKIP_DDS_MIP_LEVELS_MASK    0x1f
     44 #define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT   26
     45 #define D3DX_SKIP_DDS_MIP_LEVELS(l, f)   ((((l) & D3DX_SKIP_DDS_MIP_LEVELS_MASK) \
     46         << D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) | ((f) == D3DX_DEFAULT ? D3DX_FILTER_BOX : (f)))
     47 
     48 #define D3DX_NORMALMAP_MIRROR_U          0x00010000
     49 #define D3DX_NORMALMAP_MIRROR_V          0x00020000
     50 #define D3DX_NORMALMAP_MIRROR            0x00030000
     51 #define D3DX_NORMALMAP_INVERTSIGN        0x00080000
     52 #define D3DX_NORMALMAP_COMPUTE_OCCLUSION 0x00100000
     53 
     54 #define D3DX_CHANNEL_RED                 0x00000001
     55 #define D3DX_CHANNEL_BLUE                0x00000002
     56 #define D3DX_CHANNEL_GREEN               0x00000004
     57 #define D3DX_CHANNEL_ALPHA               0x00000008
     58 #define D3DX_CHANNEL_LUMINANCE           0x00000010
     59 
     60 /**********************************************
     61  ****************** Typedefs ******************
     62  **********************************************/
     63 typedef enum _D3DXIMAGE_FILEFORMAT
     64 {
     65     D3DXIFF_BMP,
     66     D3DXIFF_JPG,
     67     D3DXIFF_TGA,
     68     D3DXIFF_PNG,
     69     D3DXIFF_DDS,
     70     D3DXIFF_PPM,
     71     D3DXIFF_DIB,
     72     D3DXIFF_HDR,
     73     D3DXIFF_PFM,
     74     D3DXIFF_FORCE_DWORD = 0x7fffffff
     75 } D3DXIMAGE_FILEFORMAT;
     76 
     77 typedef struct _D3DXIMAGE_INFO
     78 {
     79     UINT Width;
     80     UINT Height;
     81     UINT Depth;
     82     UINT MipLevels;
     83     D3DFORMAT Format;
     84     D3DRESOURCETYPE ResourceType;
     85     D3DXIMAGE_FILEFORMAT ImageFileFormat;
     86 } D3DXIMAGE_INFO;
     87 
     88 /**********************************************
     89  ****************** Functions *****************
     90  **********************************************/
     91 /* Typedefs for callback functions */
     92 typedef void (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, const D3DXVECTOR2 *texcoord,
     93         const D3DXVECTOR2 *texelsize, void *data);
     94 typedef void (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, const D3DXVECTOR3 *texcoord,
     95         const D3DXVECTOR3 *texelsize, void *data);
     96 
     97 #ifdef __cplusplus
     98 extern "C" {
     99 #endif
    100 
    101 
    102 /* Image Information */
    103 HRESULT WINAPI D3DXGetImageInfoFromFileA(const char *file, D3DXIMAGE_INFO *info);
    104 HRESULT WINAPI D3DXGetImageInfoFromFileW(const WCHAR *file, D3DXIMAGE_INFO *info);
    105 #define        D3DXGetImageInfoFromFile __MINGW_NAME_AW(D3DXGetImageInfoFromFile)
    106 
    107 HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, const char *resource, D3DXIMAGE_INFO *info);
    108 HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, const WCHAR *resource, D3DXIMAGE_INFO *info);
    109 #define        D3DXGetImageInfoFromResource __MINGW_NAME_AW(D3DXGetImageInfoFromResource)
    110 
    111 HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT data_size, D3DXIMAGE_INFO *info);
    112 
    113 
    114 /* Surface Loading/Saving */
    115 HRESULT WINAPI D3DXLoadSurfaceFromFileA(struct IDirect3DSurface9 *destsurface,
    116         const PALETTEENTRY *destpalette, const RECT *destrect, const char *srcfile,
    117         const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    118 HRESULT WINAPI D3DXLoadSurfaceFromFileW(struct IDirect3DSurface9 *destsurface,
    119         const PALETTEENTRY *destpalette, const RECT *destrect, const WCHAR *srcfile,
    120         const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    121 #define D3DXLoadSurfaceFromFile __MINGW_NAME_AW(D3DXLoadSurfaceFromFile)
    122 
    123 HRESULT WINAPI D3DXLoadSurfaceFromResourceA(struct IDirect3DSurface9 *destsurface,
    124         const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const char *resource,
    125         const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    126 HRESULT WINAPI D3DXLoadSurfaceFromResourceW(struct IDirect3DSurface9 *destsurface,
    127         const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const WCHAR *resource,
    128         const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    129 #define D3DXLoadSurfaceFromResource __MINGW_NAME_AW(D3DXLoadSurfaceFromResource)
    130 
    131 HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(struct IDirect3DSurface9 *destsurface,
    132         const PALETTEENTRY *destpalette, const RECT *destrect, const void *srcdata, UINT srcdatasize,
    133         const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    134 
    135 HRESULT WINAPI D3DXLoadSurfaceFromSurface(struct IDirect3DSurface9 *destsurface,
    136         const PALETTEENTRY *destpalette, const RECT *destrect, struct IDirect3DSurface9 *srcsurface,
    137         const PALETTEENTRY *srcpalette, const RECT *srcrect, DWORD filter, D3DCOLOR colorkey);
    138 
    139 HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
    140         const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory,
    141         D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect,
    142         DWORD filter, D3DCOLOR color_key);
    143 
    144 HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(struct ID3DXBuffer **destbuffer,
    145         D3DXIMAGE_FILEFORMAT destformat, struct IDirect3DSurface9 *srcsurface,
    146         const PALETTEENTRY *srcpalette, const RECT *srcrect);
    147 
    148 HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
    149         struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
    150 HRESULT WINAPI D3DXSaveSurfaceToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
    151         struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
    152 #define D3DXSaveSurfaceToFile __MINGW_NAME_AW(D3DXSaveSurfaceToFile)
    153 
    154 
    155 /* Volume Loading/Saving */
    156 HRESULT WINAPI D3DXLoadVolumeFromFileA(struct IDirect3DVolume9 *destvolume,
    157         const PALETTEENTRY *destpalette, const D3DBOX *destbox, const char *srcfile,
    158         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    159 HRESULT WINAPI D3DXLoadVolumeFromFileW( struct IDirect3DVolume9 *destvolume,
    160         const PALETTEENTRY *destpalette, const D3DBOX *destbox, const WCHAR *srcfile,
    161         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    162 #define D3DXLoadVolumeFromFile __MINGW_NAME_AW(D3DXLoadVolumeFromFile)
    163 
    164 HRESULT WINAPI D3DXLoadVolumeFromResourceA(struct IDirect3DVolume9 *destvolume,
    165         const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const char *resource,
    166         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    167 HRESULT WINAPI D3DXLoadVolumeFromResourceW(struct IDirect3DVolume9 *destvolume,
    168         const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const WCHAR *resource,
    169         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    170 #define D3DXLoadVolumeFromResource __MINGW_NAME_AW(D3DXLoadVolumeFromResource)
    171 
    172 HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(struct IDirect3DVolume9 *destvolume,
    173         const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcdata, UINT srcdatasize,
    174         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
    175 
    176 HRESULT WINAPI D3DXLoadVolumeFromVolume(struct IDirect3DVolume9 *destvolume,
    177         const PALETTEENTRY *destpalette, const D3DBOX *destbox, struct IDirect3DVolume9 *srcvolume,
    178         const PALETTEENTRY *srcpalette, const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
    179 
    180 HRESULT WINAPI D3DXLoadVolumeFromMemory(struct IDirect3DVolume9 *destvolume,
    181         const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcmemory,
    182         D3DFORMAT srcformat, UINT srcrowpitch, UINT srcslicepitch, const PALETTEENTRY *srcpalette,
    183         const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
    184 
    185 HRESULT WINAPI D3DXSaveVolumeToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
    186         struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
    187 HRESULT WINAPI D3DXSaveVolumeToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
    188         struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
    189 #define D3DXSaveVolumeToFile __MINGW_NAME_AW(D3DXSaveVolumeToFile)
    190 
    191 
    192 /* Texture, cube texture and volume texture creation */
    193 HRESULT WINAPI D3DXCheckTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
    194         UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
    195 HRESULT WINAPI D3DXCheckCubeTextureRequirements(struct IDirect3DDevice9 *device, UINT *size,
    196         UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
    197 HRESULT WINAPI D3DXCheckVolumeTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
    198         UINT *depth, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
    199 
    200 HRESULT WINAPI D3DXCreateTexture(struct IDirect3DDevice9 *device, UINT width, UINT height,
    201         UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DTexture9 **texture);
    202 HRESULT WINAPI D3DXCreateCubeTexture(struct IDirect3DDevice9 *device, UINT size,
    203         UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DCubeTexture9 **cube);
    204 HRESULT WINAPI D3DXCreateVolumeTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT depth,
    205         UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DVolumeTexture9 **volume);
    206 
    207 HRESULT WINAPI D3DXCreateTextureFromFileA(struct IDirect3DDevice9 *device,
    208         const char *srcfile, struct IDirect3DTexture9 **texture);
    209 HRESULT WINAPI D3DXCreateTextureFromFileW(struct IDirect3DDevice9 *device,
    210         const WCHAR *srcfile, struct IDirect3DTexture9 **texture);
    211 #define D3DXCreateTextureFromFile __MINGW_NAME_AW(D3DXCreateTextureFromFile)
    212 
    213 HRESULT WINAPI D3DXCreateCubeTextureFromFileA(struct IDirect3DDevice9 *device,
    214         const char *srcfile, struct IDirect3DCubeTexture9 **cube);
    215 HRESULT WINAPI D3DXCreateCubeTextureFromFileW(struct IDirect3DDevice9 *device,
    216         const WCHAR *srcfile, struct IDirect3DCubeTexture9 **cube);
    217 #define D3DXCreateCubeTextureFromFile __MINGW_NAME_AW(D3DXCreateCubeTextureFromFile)
    218 
    219 HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(struct IDirect3DDevice9 *device,
    220         const char *srcfile, struct IDirect3DVolumeTexture9 **volume);
    221 HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(struct IDirect3DDevice9 *device,
    222         const WCHAR *srcfile, struct IDirect3DVolumeTexture9 **volume);
    223 #define D3DXCreateVolumeTextureFromFile __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFile)
    224 
    225 HRESULT WINAPI D3DXCreateTextureFromResourceA(struct IDirect3DDevice9 *device,
    226         HMODULE srcmodule, const char *resource, struct IDirect3DTexture9 **texture);
    227 HRESULT WINAPI D3DXCreateTextureFromResourceW(struct IDirect3DDevice9 *device,
    228         HMODULE srcmodule, const WCHAR *resource, struct IDirect3DTexture9 **texture);
    229 #define D3DXCreateTextureFromResource __MINGW_NAME_AW(D3DXCreateTextureFromResource)
    230 
    231 HRESULT WINAPI D3DXCreateCubeTextureFromResourceA(struct IDirect3DDevice9 *device,
    232         HMODULE srcmodule, const char *resource, struct IDirect3DCubeTexture9 **cube);
    233 HRESULT WINAPI D3DXCreateCubeTextureFromResourceW(struct IDirect3DDevice9 *device,
    234         HMODULE srcmodule, const WCHAR *resource, struct IDirect3DCubeTexture9 **cube);
    235 #define D3DXCreateCubeTextureFromResource __MINGW_NAME_AW(D3DXCreateCubeTextureFromResource)
    236 
    237 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(struct IDirect3DDevice9 *device,
    238         HMODULE srcmodule, const char *resource, struct IDirect3DVolumeTexture9 **volume);
    239 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(struct IDirect3DDevice9 *device,
    240         HMODULE srcmodule, const WCHAR *resource, struct IDirect3DVolumeTexture9 **volume);
    241 #define D3DXCreateVolumeTextureFromResource __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResource)
    242 
    243 HRESULT WINAPI D3DXCreateTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
    244         UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
    245         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    246         PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
    247 HRESULT WINAPI D3DXCreateTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
    248         UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
    249         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    250         PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
    251 #define D3DXCreateTextureFromFileEx __MINGW_NAME_AW(D3DXCreateTextureFromFileEx)
    252 
    253 HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
    254         UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
    255         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    256         PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
    257 HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
    258         UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
    259         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    260         PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
    261 #define D3DXCreateCubeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromFileEx)
    262 
    263 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
    264         UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
    265         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    266         PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
    267 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
    268         UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
    269         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    270         PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
    271 #define D3DXCreateVolumeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
    272 
    273 HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    274         const char *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
    275         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    276         PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
    277 HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    278         const WCHAR *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
    279         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    280         PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
    281 #define D3DXCreateTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateTextureFromResourceEx)
    282 
    283 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    284         const char *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
    285         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    286         PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
    287 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    288         const WCHAR *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
    289         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    290         PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
    291 #define D3DXCreateCubeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
    292 
    293 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    294         const char *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
    295         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    296         PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
    297 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
    298         const WCHAR *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
    299         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    300         PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
    301 #define D3DXCreateVolumeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
    302 
    303 HRESULT WINAPI D3DXCreateTextureFromFileInMemory(struct IDirect3DDevice9 *device,
    304         const void *srcdata, UINT srcdatasize, struct IDirect3DTexture9 **texture);
    305 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
    306         const void *srcdata, UINT srcdatasize, struct IDirect3DCubeTexture9 **cube);
    307 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
    308         const void *srcdata, UINT srcdatasize, struct IDirect3DVolumeTexture9 **volume);
    309 
    310 HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
    311         UINT srcdatasize, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
    312         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    313         PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
    314 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
    315         UINT srcdatasize, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
    316         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    317         PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
    318 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
    319         UINT srcdatasize, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
    320         D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
    321         PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
    322 
    323 HRESULT WINAPI D3DXSaveTextureToFileInMemory(struct ID3DXBuffer **destbuffer, D3DXIMAGE_FILEFORMAT destformat,
    324         struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
    325 HRESULT WINAPI D3DXSaveTextureToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
    326         struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
    327 HRESULT WINAPI D3DXSaveTextureToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
    328         struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
    329 #define D3DXSaveTextureToFile __MINGW_NAME_AW(D3DXSaveTextureToFile)
    330 
    331 /* Other functions */
    332 HRESULT WINAPI D3DXFilterTexture(struct IDirect3DBaseTexture9 *texture,
    333         const PALETTEENTRY *palette, UINT srclevel, DWORD filter);
    334 #define D3DXFilterCubeTexture D3DXFilterTexture
    335 #define D3DXFilterVolumeTexture D3DXFilterTexture
    336 
    337 HRESULT WINAPI D3DXFillTexture(struct IDirect3DTexture9 *texture, LPD3DXFILL2D function, void *data);
    338 HRESULT WINAPI D3DXFillCubeTexture(struct IDirect3DCubeTexture9 *cube, LPD3DXFILL3D function, void *data);
    339 HRESULT WINAPI D3DXFillVolumeTexture(struct IDirect3DVolumeTexture9 *volume, LPD3DXFILL3D function, void *data);
    340 
    341 HRESULT WINAPI D3DXFillTextureTX(struct IDirect3DTexture9 *texture, const DWORD *function,
    342         const D3DXVECTOR4 *constants, UINT numconstants);
    343 HRESULT WINAPI D3DXFillCubeTextureTX(struct IDirect3DCubeTexture9 *cube, const DWORD *function,
    344         const D3DXVECTOR4 *constants, UINT numconstants);
    345 HRESULT WINAPI D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9 *volume, const DWORD *function,
    346         const D3DXVECTOR4 *constants, UINT numconstants);
    347 
    348 HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *srctexture,
    349         const PALETTEENTRY *srcpalette, DWORD flags, DWORD channel, float amplitude);
    350 
    351 #ifdef __cplusplus
    352 }
    353 #endif
    354 
    355 #endif /* __WINE_D3DX9TEX_H */
    356