43 ERR(
"Unexpected texture type\n");
98 for (
i = 0;
i < numfaces;
i++)
100 level = srclevel + 1;
129 int level, level_count;
130 IDirect3DVolume9 *top_volume, *mip_volume;
131 IDirect3DVolumeTexture9 *volume_texture = (IDirect3DVolumeTexture9*)
texture;
153 top_volume = mip_volume;
194 return replacements[
i].replacement_format;
205 IDirect3D9 *d3d =
NULL;
252 usage, resource_type, usedformat);
260 TRACE(
"Requested format is not supported, looking for a fallback.\n");
264 FIXME(
"Pixel format %x not handled\n", usedformat);
269 allow_24bits =
fmt->bytes_per_pixel == 3;
275 unsigned int curchannels = !!curfmt->
bits[0] + !!curfmt->
bits[1]
276 + !!curfmt->
bits[2] + !!curfmt->
bits[3];
290 mode.Format,
usage, resource_type, cur_d3dfmt);
297 score -= 32 * (curchannels -
channels);
299 for (
j = 0;
j < 4;
j++)
302 score -= (diff < 0 ? -diff * 8 : diff) * (
j == 0 ? 1 : 2);
305 if (score > bestscore)
308 usedformat = cur_d3dfmt;
333 if (
w & (
fmt->block_width - 1))
334 w = (
w +
fmt->block_width) & ~(
fmt->block_width - 1);
335 if (
h & (
fmt->block_height - 1))
336 h = (
h +
fmt->block_height) & ~(
fmt->block_height - 1);
371 UINT max_mipmaps = 1;
379 while (max_dimen > 1)
386 if (*miplevels == 0 || *miplevels > max_mipmaps)
387 *miplevels = max_mipmaps;
400 WARN(
"Couldn't find a suitable pixel format\n");
404 TRACE(
"Format chosen: %x\n", usedformat);
414 TRACE(
"device %p, width %p, height %p, miplevels %p, usage %#lx, format %p, pool %#x.\n",
427 TRACE(
"device %p, size %p, miplevels %p, usage %#lx, format %p, pool %#x.\n",
465 TRACE(
"device %p, width %p, height %p, depth %p, miplevels %p, usage %#lx, format %p, pool %#x.\n",
504 UINT max_mipmaps = 1;
507 while (max_dimen > 1)
513 if (*miplevels == 0 || *miplevels > max_mipmaps)
514 *miplevels = max_mipmaps;
533 TRACE(
"device %p, width %u, height %u, miplevels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
552 replacement_formats[] =
563 if (replacement_formats[
i].orig_format ==
format)
564 return replacement_formats[
i].replacement_format;
585 BOOL dynamic_texture, format_specified =
FALSE;
586 uint32_t loaded_miplevels, skip_levels,
i;
587 IDirect3DTexture9 *staging_tex, *tex;
593 TRACE(
"device %p, srcdata %p, srcdatasize %u, width %u, height %u, miplevels %u, "
594 "usage %#lx, format %#x, pool %#x, filter %#lx, mipfilter %#lx, colorkey %#lx, "
595 "srcinfo %p, palette %p, texture %p.\n",
611 FIXME(
"Unrecognized file format, returning failure.\n");
626 miplevels = (miplevels ==
D3DX_FROM_FILE) ? imginfo.MipLevels : miplevels;
632 FIXME(
"Couldn't find suitable texture parameters.\n");
636 if (colorkey && !format_specified)
649 TRACE(
"Creating staging texture.\n");
660 FIXME(
"Texture creation failed.\n");
664 TRACE(
"Texture created correctly. Now loading the texture data into it.\n");
668 for (
i = 0;
i < loaded_miplevels;
i++)
684 SetRect(&dst_rect, 0, 0, dst_surface_desc.Width, dst_surface_desc.Height);
686 dst_surface_desc.Width, dst_surface_desc.Height, 1, &dst_rect);
696 FIXME(
"Texture loading failed.\n");
703 FIXME(
"Texture filtering failed.\n");
737 const void *srcdata,
UINT srcdatasize,
struct IDirect3DTexture9 **
texture)
739 TRACE(
"device %p, srcdata %p, srcdatasize %u, texture %p.\n",
device, srcdata, srcdatasize,
texture);
754 TRACE(
"device %p, srcfile %s, width %u, height %u, miplevels %u, usage %#lx, format %#x, "
755 "pool %#x, filter %#lx, mipfilter %#lx, colorkey 0x%08lx, srcinfo %p, palette %p, texture %p.\n",
765 WARN(
"Failed to open file.\n");
786 TRACE(
"device %p, srcfile %s, width %u, height %u, miplevels %u, usage %#lx, format %#x, "
787 "pool %#x, filter %#lx, mipfilter %#lx, colorkey 0x%08lx, srcinfo %p, palette %p, texture %p.\n",
795 widename =
malloc(
len *
sizeof(*widename));
807 const char *srcfile,
struct IDirect3DTexture9 **
texture)
816 const WCHAR *srcfile,
struct IDirect3DTexture9 **
texture)
828 TRACE(
"device %p, srcmodule %p, resource %s, texture %p.\n",
839 TRACE(
"device %p, srcmodule %p, resource %s, texture %p.\n",
856 TRACE(
"device %p, srcmodule %p, resource %s, width %u, height %u, miplevels %u, usage %#lx, format %#x, "
857 "pool %#x, filter %#lx, mipfilter %#lx, colorkey 0x%08lx, srcinfo %p, palette %p, texture %p.\n",
885 TRACE(
"device %p, srcmodule %p, resource %s, width %u, height %u, miplevels %u, usage %#lx, format %#x, "
886 "pool %#x, filter %#lx, mipfilter %#lx, colorkey 0x%08lx, srcinfo %p, palette %p, texture %p.\n",
910 TRACE(
"device %p, size %u, miplevels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
920 TRACE(
"D3DXCheckCubeTextureRequirements failed\n");
941 TRACE(
"device %p, width %u, height %u, depth %u, miplevels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
952 TRACE(
"D3DXCheckVolumeTextureRequirements failed\n");
962 IDirect3DVolumeTexture9 **volume_texture)
992 IDirect3DVolumeTexture9 **volume_texture)
1026 IDirect3DVolumeTexture9 **volume_texture)
1034 TRACE(
"device %p, filename %s, width %u, height %u, depth %u, mip_levels %u, usage %#lx, "
1035 "format %#x, pool %#x, filter %#lx, mip_filter %#lx, color_key 0x%08lx, src_info %p, "
1036 "palette %p, volume_texture %p.\n",
1073 IDirect3DVolumeTexture9 **volume_texture)
1079 TRACE(
"device %p, filename %s, width %u, height %u, depth %u, mip_levels %u, usage %#lx, "
1080 "format %#x, pool %#x, filter %#lx, mip_filter %#lx, color_key 0x%08lx, src_info %p, "
1081 "palette %p, volume_texture %p.\n",
1101 IDirect3DVolumeTexture9 **volume_texture)
1103 TRACE(
"device %p, data %p, data_size %u, volume_texture %p.\n",
device,
data, data_size, volume_texture);
1119 uint32_t loaded_miplevels, skip_levels,
i;
1120 IDirect3DVolumeTexture9 *tex, *staging_tex;
1121 BOOL dynamic_texture, format_specified =
FALSE;
1124 TRACE(
"device %p, data %p, data_size %u, width %u, height %u, depth %u, mip_levels %u, "
1125 "usage %#lx, format %#x, pool %#x, filter %#lx, mip_filter %#lx, color_key 0x%08lx, "
1126 "info %p, palette %p, volume_texture %p.\n",
1127 device,
data, data_size,
width,
height,
depth, mip_levels,
usage,
format,
pool,
1130 if (!
device || !
data || !data_size || !volume_texture)
1136 staging_tex = tex = *volume_texture =
NULL;
1141 FIXME(
"Unrecognized file format, returning failure.\n");
1157 format = image_info.Format;
1158 mip_levels = (mip_levels ==
D3DX_FROM_FILE) ? image_info.MipLevels : mip_levels;
1163 FIXME(
"Couldn't find suitable texture parameters.\n");
1180 TRACE(
"Creating staging texture.\n");
1191 FIXME(
"Texture creation failed.\n");
1195 TRACE(
"Texture created correctly. Now loading the texture data into it.\n");
1199 for (
i = 0;
i < loaded_miplevels;
i++)
1215 SetRect(&dst_rect, 0, 0, dst_volume_desc.Width, dst_volume_desc.Height);
1217 dst_volume_desc.Width, dst_volume_desc.Height, dst_volume_desc.Depth, &dst_rect);
1227 FIXME(
"Texture loading failed.\n");
1234 FIXME(
"Texture filtering failed.\n");
1250 *volume_texture = tex;
1280 TRACE(
"texture %p, function %p, funcdata %p.\n",
texture, function, funcdata);
1287 for (
m = 0;
m < miplevels;
m++)
1295 FIXME(
"Unsupported texture format %#x.\n",
desc.Format);
1312 for (
y = 0;
y <
desc.Height;
y++)
1348 BOOL dynamic_texture, format_specified =
FALSE;
1349 uint32_t loaded_miplevels, skip_levels,
i;
1350 IDirect3DCubeTexture9 *tex, *staging_tex;
1356 TRACE(
"device %p, src_data %p, src_data_size %u, size %u, mip_levels %u, usage %#lx, "
1357 "format %#x, pool %#x, filter %#lx, mip_filter %#lx, color_key 0x%08lx, src_info %p, "
1358 "palette %p, cube_texture %p.\n",
1362 if (!
device || !cube_texture || !src_data || !src_data_size)
1368 staging_tex = tex = *cube_texture =
NULL;
1373 FIXME(
"Unrecognized file format, returning failure.\n");
1386 size =
max(img_info.Width, img_info.Height);
1392 format = img_info.Format;
1398 FIXME(
"Couldn't find suitable texture parameters.\n");
1415 TRACE(
"Creating staging texture.\n");
1426 FIXME(
"Texture creation failed.\n");
1430 TRACE(
"Texture created correctly. Now loading the texture data into it.\n");
1434 for (
i = 0;
i < loaded_miplevels; ++
i)
1443 SetRect(&dst_rect, 0, 0, dst_surface_desc.Width, dst_surface_desc.Height);
1455 dst_surface_desc.Width, dst_surface_desc.Height, 1, &dst_rect);
1469 FIXME(
"Texture loading failed.\n");
1476 FIXME(
"Texture filtering failed.\n");
1491 *cube_texture = tex;
1496 *src_info = img_info;
1510 const char *src_filename,
1511 IDirect3DCubeTexture9 **cube_texture)
1544 const WCHAR *src_filename,
1545 IDirect3DCubeTexture9 **cube_texture)
1566 IDirect3DCubeTexture9 **cube_texture)
1574 TRACE(
"device %p, src_filename %s, size %u, mip_levels %u, usage %#lx, format %#x, pool %#x, "
1575 "filter %#lx, mip_filter %#lx, color_key 0x%08lx, image_info %p, palette %p, cube_texture %p.\n",
1604 IDirect3DCubeTexture9 **cube_texture)
1610 TRACE(
"device %p, src_filename %s, size %u, mip_levels %u, usage %#lx, format %#x, pool %#x, "
1611 "filter %#lx, mip_filter %#lx, color_key 0x%08lx, image_info %p, palette %p, cube_texture %p.\n",
1642 return size -
x - 0.5f;
1646 return size -
y - 0.5f;
1652 ERR(
"Unexpected coordinate value\n");
1667 static const enum cube_coord coordmap[6][3] =
1677 TRACE(
"texture %p, function %p, funcdata %p.\n",
texture, function, funcdata);
1684 for (
m = 0;
m < miplevels;
m++)
1692 FIXME(
"Unsupported texture format %#x\n",
desc.Format);
1696 for (
f = 0;
f < 6;
f++)
1701 size.x = (
f == 0) || (
f == 1) ? 0.0f : 2.0f /
desc.Width;
1702 size.y = (
f == 2) || (
f == 3) ? 0.0f : 2.0f /
desc.Width;
1703 size.z = (
f == 4) || (
f == 5) ? 0.0f : 2.0f /
desc.Width;
1707 for (
y = 0;
y <
desc.Height;
y++)
1709 for (
x = 0;
x <
desc.Width;
x++)
1742 TRACE(
"texture %p, function %p, funcdata %p.\n",
texture, function, funcdata);
1749 for (
m = 0;
m < miplevels;
m++)
1757 FIXME(
"Unsupported texture format %#x\n",
desc.Format);
1770 for (
z = 0;
z <
desc.Depth;
z++)
1802 FIXME(
"texture %p, texture_shader %p stub.\n",
texture, texture_shader);
1807 IDirect3DBaseTexture9 *src_texture,
const PALETTEENTRY *src_palette)
1814 TRACE(
"dst_filename %s, file_format %u, src_texture %p, src_palette %p.\n",
1815 wine_dbgstr_a(dst_filename), file_format, src_texture, src_palette);
1836 IDirect3DBaseTexture9 *src_texture,
const PALETTEENTRY *src_palette)
1841 TRACE(
"dst_filename %s, file_format %u, src_texture %p, src_palette %p.\n",
1842 wine_dbgstr_w(dst_filename), file_format, src_texture, src_palette);
1857 IDirect3DBaseTexture9 *src_texture,
const PALETTEENTRY *src_palette)
1863 TRACE(
"dst_buffer %p, file_format %u, src_texture %p, src_palette %p.\n",
1864 dst_buffer, file_format, src_texture, src_palette);
1870 FIXME(
"DDS file format isn't supported yet\n");
1882 FIXME(
"Volume textures aren't supported yet\n");
1900 FIXME(
"texture %p, src_texture %p, src_palette %p, flags %#lx, channel %lu, amplitude %.8e stub.\n",
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define D3DERR_INVALIDCALL
#define D3DUSAGE_NPATCHES
enum _D3DRESOURCETYPE D3DRESOURCETYPE
#define D3DUSAGE_DONOTCLIP
#define D3DUSAGE_WRITEONLY
@ D3DCUBEMAP_FACE_POSITIVE_X
@ D3DCUBEMAP_FACE_NEGATIVE_Z
enum _D3DFORMAT D3DFORMAT
#define D3DUSAGE_RTPATCHES
#define IDirect3DTexture9_GetLevelDesc(p, a, b)
#define IDirect3DCubeTexture9_UnlockRect(p, a, b)
#define IDirect3DVolumeTexture9_GetLevelDesc(p, a, b)
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
#define IDirect3DVolumeTexture9_Release(p)
#define IDirect3DDevice9_GetDirect3D(p, a)
#define IDirect3DTexture9_UnlockRect(p, a)
#define IDirect3DTexture9_GetLevelCount(p)
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_GetCreationParameters(p, a)
#define IDirect3DCubeTexture9_Release(p)
#define IDirect3DCubeTexture9_LockRect(p, a, b, c, d, e)
#define IDirect3DDevice9_GetDeviceCaps(p, a)
#define IDirect3DVolumeTexture9_GetLevelCount(p)
#define IDirect3DCubeTexture9_GetLevelCount(p)
#define IDirect3DVolume9_Release(p)
#define IDirect3DBaseTexture9_GetLevelCount(p)
#define IDirect3DCubeTexture9_GetLevelDesc(p, a, b)
#define IDirect3DDevice9_CreateCubeTexture(p, a, b, c, d, e, f, g)
#define IDirect3DDevice9_CreateVolumeTexture(p, a, b, c, d, e, f, g, h, i)
#define IDirect3DVolumeTexture9_GetVolumeLevel(p, a, b)
#define IDirect3D9_Release(p)
#define IDirect3DVolumeTexture9_LockBox(p, a, b, c, d)
#define IDirect3DTexture9_LockRect(p, a, b, c, d)
#define IDirect3D9_CheckDeviceFormat(p, a, b, c, d, e, f)
#define IDirect3DSurface9_Release(p)
#define IDirect3DVolumeTexture9_UnlockBox(p, a)
#define IDirect3DCubeTexture9_GetCubeMapSurface(p, a, b, c)
#define IDirect3DTexture9_Release(p)
#define IDirect3DDevice9_GetDisplayMode(p, a, b)
#define IDirect3DBaseTexture9_GetType(p)
#define IDirect3DDevice9_UpdateTexture(p, a, b)
#define D3DUSAGE_AUTOGENMIPMAP
#define D3DXERR_INVALIDDATA
struct ID3DXBuffer ID3DXBuffer
void format_from_d3dx_color(const struct pixel_format_desc *format, const struct d3dx_color *src, BYTE *dst)
#define D3DX9_FILTER_INVALID_BITS
HRESULT unlock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, IDirect3DSurface9 *temp_surface, BOOL update)
const struct pixel_format_desc * get_format_info(D3DFORMAT format)
static BOOL format_types_match(const struct pixel_format_desc *src, const struct pixel_format_desc *dst)
static BOOL is_index_format(const struct pixel_format_desc *format)
HRESULT lock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, D3DLOCKED_RECT *lock, IDirect3DSurface9 **temp_surface, BOOL write)
HRESULT map_view_of_file(const WCHAR *filename, void **buffer, DWORD *length)
static BOOL is_unknown_format(const struct pixel_format_desc *format)
HRESULT d3dx_load_pixels_from_pixels(struct d3dx_pixels *dst_pixels, const struct pixel_format_desc *dst_desc, struct d3dx_pixels *src_pixels, const struct pixel_format_desc *src_desc, uint32_t filter_flags, uint32_t color_key)
void d3dx_image_cleanup(struct d3dx_image *image)
HRESULT write_buffer_to_file(const WCHAR *filename, ID3DXBuffer *buffer)
const struct pixel_format_desc * get_d3dx_pixel_format_info(enum d3dx_pixel_format_id format)
static void set_d3dx_color(struct d3dx_color *color, const struct vec4 *value, enum range rgb_range, enum range a_range)
static HRESULT d3dx9_handle_load_filter(DWORD *filter)
static void set_d3dx_pixels(struct d3dx_pixels *pixels, const void *data, uint32_t row_pitch, uint32_t slice_pitch, const PALETTEENTRY *palette, uint32_t width, uint32_t height, uint32_t depth, const RECT *unaligned_rect)
HRESULT d3dx_image_init(const void *src_data, uint32_t src_data_size, struct d3dx_image *image, uint32_t starting_mip_level, uint32_t flags)
const struct pixel_format_desc * get_format_info_idx(int idx)
static HRESULT d3dx9_validate_filter(uint32_t filter)
HRESULT d3dx_image_get_pixels(struct d3dx_image *image, uint32_t layer, uint32_t mip_level, struct d3dx_pixels *pixels)
static uint32_t make_pow2(uint32_t num)
static BOOL is_compressed_format(const struct pixel_format_desc *format)
D3DFORMAT d3dformat_from_d3dx_pixel_format_id(enum d3dx_pixel_format_id format)
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, void **buffer, DWORD *length)
void d3dximage_info_from_d3dx_image(D3DXIMAGE_INFO *info, struct d3dx_image *image)
HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE_FILEFORMAT file_format, IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect)
HRESULT WINAPI D3DXLoadSurfaceFromSurface(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect, DWORD filter, D3DCOLOR color_key)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(IDirect3DDevice9 *device, const WCHAR *filename, IDirect3DVolumeTexture9 **volume_texture)
static float get_cube_coord(enum cube_coord coord, unsigned int x, unsigned int y, unsigned int size)
HRESULT WINAPI D3DXCreateTextureFromResourceA(struct IDirect3DDevice9 *device, HMODULE srcmodule, const char *resource, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateTextureFromResourceW(struct IDirect3DDevice9 *device, HMODULE srcmodule, const WCHAR *resource, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(IDirect3DDevice9 *device, const char *filename, UINT width, UINT height, UINT depth, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info, PALETTEENTRY *palette, IDirect3DVolumeTexture9 **volume_texture)
HRESULT WINAPI D3DXCreateCubeTexture(struct IDirect3DDevice9 *device, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DCubeTexture9 **texture)
HRESULT WINAPI D3DXCheckCubeTextureRequirements(struct IDirect3DDevice9 *device, UINT *size, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool)
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(IDirect3DDevice9 *device, const void *src_data, UINT src_data_size, UINT size, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info, PALETTEENTRY *palette, IDirect3DCubeTexture9 **cube_texture)
HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *src_texture, const PALETTEENTRY *src_palette, DWORD flags, DWORD channel, float amplitude)
HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(IDirect3DDevice9 *device, const WCHAR *src_filename, UINT size, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *image_info, PALETTEENTRY *palette, IDirect3DCubeTexture9 **cube_texture)
HRESULT WINAPI D3DXSaveTextureToFileA(const char *dst_filename, D3DXIMAGE_FILEFORMAT file_format, IDirect3DBaseTexture9 *src_texture, const PALETTEENTRY *src_palette)
HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule, const WCHAR *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXFillTexture(struct IDirect3DTexture9 *texture, LPD3DXFILL2D function, void *funcdata)
HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(IDirect3DDevice9 *device, const char *src_filename, UINT size, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *image_info, PALETTEENTRY *palette, IDirect3DCubeTexture9 **cube_texture)
HRESULT WINAPI D3DXSaveTextureToFileW(const WCHAR *dst_filename, D3DXIMAGE_FILEFORMAT file_format, IDirect3DBaseTexture9 *src_texture, const PALETTEENTRY *src_palette)
HRESULT WINAPI D3DXCreateVolumeTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DVolumeTexture9 **texture)
HRESULT WINAPI D3DXSaveTextureToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE_FILEFORMAT file_format, IDirect3DBaseTexture9 *src_texture, const PALETTEENTRY *src_palette)
static HRESULT get_surface(D3DRESOURCETYPE type, struct IDirect3DBaseTexture9 *tex, int face, UINT level, struct IDirect3DSurface9 **surf)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(IDirect3DDevice9 *device, const void *data, UINT data_size, IDirect3DVolumeTexture9 **volume_texture)
HRESULT WINAPI D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9 *texture, ID3DXTextureShader *texture_shader)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(IDirect3DDevice9 *device, const WCHAR *filename, UINT width, UINT height, UINT depth, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info, PALETTEENTRY *palette, IDirect3DVolumeTexture9 **volume_texture)
HRESULT WINAPI D3DXCreateTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
static uint32_t d3dx9_get_mip_filter_value(uint32_t mip_filter, uint32_t *skip_levels)
static D3DFORMAT get_alpha_replacement_format(D3DFORMAT format)
HRESULT WINAPI D3DXCreateTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatasize, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXFilterTexture(IDirect3DBaseTexture9 *texture, const PALETTEENTRY *palette, UINT srclevel, DWORD filter)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(IDirect3DDevice9 *device, const char *filename, IDirect3DVolumeTexture9 **volume_texture)
HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule, const char *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
static HRESULT check_texture_requirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool, D3DRESOURCETYPE resource_type)
static D3DFORMAT get_replacement_format(D3DFORMAT format)
HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(IDirect3DDevice9 *device, const void *data, UINT data_size, UINT width, UINT height, UINT depth, UINT mip_levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mip_filter, D3DCOLOR color_key, D3DXIMAGE_INFO *info, PALETTEENTRY *palette, IDirect3DVolumeTexture9 **volume_texture)
HRESULT WINAPI D3DXCheckVolumeTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height, UINT *depth, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool)
HRESULT WINAPI D3DXCreateTextureFromFileW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateTextureFromFileA(struct IDirect3DDevice9 *device, const char *srcfile, struct IDirect3DTexture9 **texture)
static BOOL is_pow2(UINT num)
HRESULT WINAPI D3DXCreateTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, PALETTEENTRY *palette, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateCubeTextureFromFileA(IDirect3DDevice9 *device, const char *src_filename, IDirect3DCubeTexture9 **cube_texture)
HRESULT WINAPI D3DXFillVolumeTexture(struct IDirect3DVolumeTexture9 *texture, LPD3DXFILL3D function, void *funcdata)
HRESULT WINAPI D3DXCheckTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool)
HRESULT WINAPI D3DXCreateTextureFromFileInMemory(struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatasize, struct IDirect3DTexture9 **texture)
HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(struct IDirect3DDevice9 *device, const void *data, UINT datasize, struct IDirect3DCubeTexture9 **texture)
HRESULT WINAPI D3DXFillCubeTexture(struct IDirect3DCubeTexture9 *texture, LPD3DXFILL3D function, void *funcdata)
HRESULT WINAPI D3DXCreateCubeTextureFromFileW(IDirect3DDevice9 *device, const WCHAR *src_filename, IDirect3DCubeTexture9 **cube_texture)
HRESULT WINAPI D3DXLoadVolumeFromVolume(IDirect3DVolume9 *dst_volume, const PALETTEENTRY *dst_palette, const D3DBOX *dst_box, IDirect3DVolume9 *src_volume, const PALETTEENTRY *src_palette, const D3DBOX *src_box, DWORD filter, D3DCOLOR color_key)
#define MultiByteToWideChar
static void cleanup(void)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
#define D3DPTEXTURECAPS_CUBEMAP_POW2
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DPTEXTURECAPS_VOLUMEMAP
#define D3DPTEXTURECAPS_VOLUMEMAP_POW2
#define D3DPTEXTURECAPS_CUBEMAP
#define D3DCAPS2_DYNAMICTEXTURES
#define D3DPTEXTURECAPS_MIPCUBEMAP
#define D3DPTEXTURECAPS_POW2
#define D3DPTEXTURECAPS_MIPVOLUMEMAP
#define D3DX_DEFAULT_NONPOW2
#define ID3DXBuffer_Release(p)
#define D3DX_SKIP_DDS_MIP_LEVELS_MASK
#define D3DX_FILTER_DITHER
void(WINAPI * LPD3DXFILL3D)(D3DXVECTOR4 *out, const D3DXVECTOR3 *texcoord, const D3DXVECTOR3 *texelsize, void *data)
#define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT
void(WINAPI * LPD3DXFILL2D)(D3DXVECTOR4 *out, const D3DXVECTOR2 *texcoord, const D3DXVECTOR2 *texelsize, void *data)
GLint GLint GLsizei GLsizei GLsizei depth
GLint GLint GLint GLint GLint x
GLint GLint GLsizei GLsizei height
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
GLenum GLuint GLint GLenum face
GLenum const GLfloat * params
GLubyte GLubyte GLubyte GLubyte w
GLsizeiptr const GLvoid GLenum usage
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
D3D11_SHADER_VARIABLE_DESC desc
static const WCHAR filenameW[]
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
for(i=0;i< sizeof(testsuite)/sizeof(testsuite[0]);++i) ok(call_test(testsuite[i].func)
#define D3DERR_NOTAVAILABLE
int int static __inline const char * wine_dbgstr_a(const char *s)