66 desc.u.texture.level_idx = 0;
68 desc.u.texture.layer_idx = 0;
74 ERR(
"Failed to create shader resource view, hr %#x.\n",
hr);
83 IDirect3DDevice9Ex *parent_device =
texture->parent_device;
105 texture->flags &= ~D3D9_TEXTURE_MIPMAP_DIRTY;
139 TRACE(
"%p increasing refcount to %u.\n", iface,
ref);
163 TRACE(
"%p decreasing refcount to %u.\n", iface,
ref);
188 TRACE(
"iface %p, guid %s, data %p, data_size %u, flags %#x.\n",
198 TRACE(
"iface %p, guid %s, data %p, data_size %p.\n",
234 TRACE(
"iface %p.\n", iface);
248 TRACE(
"iface %p.\n", iface);
257 TRACE(
"iface %p.\n", iface);
267 TRACE(
"iface %p, lod %u.\n", iface,
lod);
281 TRACE(
"iface %p.\n", iface);
295 TRACE(
"iface %p.\n", iface);
311 TRACE(
"iface %p, filter_type %#x.\n", iface, filter_type);
315 WARN(
"Invalid filter type D3DTEXF_NONE specified.\n");
319 WARN(
"Called on a texture without the D3DUSAGE_AUTOGENMIPMAP flag.\n");
321 FIXME(
"Unsupported filter type %u.\n", filter_type);
323 texture->autogen_filter_type = filter_type;
331 TRACE(
"iface %p.\n", iface);
334 WARN(
"Called on a texture without the D3DUSAGE_AUTOGENMIPMAP flag.\n");
336 return texture->autogen_filter_type;
343 TRACE(
"iface %p.\n", iface);
360 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
387 TRACE(
"iface %p, level %u, surface %p.\n", iface,
level, surface);
391 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
416 TRACE(
"iface %p, level %u, locked_rect %p, rect %p, flags %#x.\n",
421 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
445 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
464 TRACE(
"iface %p, dirty_rect %s.\n",
537 TRACE(
"%p increasing refcount to %u.\n", iface,
ref);
561 TRACE(
"%p decreasing refcount to %u.\n", iface,
ref);
586 TRACE(
"iface %p, guid %s, data %p, data_size %u, flags %#x.\n",
596 TRACE(
"iface %p, guid %s, data %p, data_size %p.\n",
632 TRACE(
"iface %p.\n", iface);
646 TRACE(
"iface %p.\n", iface);
655 TRACE(
"iface %p.\n", iface);
665 TRACE(
"iface %p, lod %u.\n", iface,
lod);
679 TRACE(
"iface %p.\n", iface);
693 TRACE(
"iface %p.\n", iface);
710 TRACE(
"iface %p, filter_type %#x.\n", iface, filter_type);
714 WARN(
"Invalid filter type D3DTEXF_NONE specified.\n");
718 WARN(
"Called on a texture without the D3DUSAGE_AUTOGENMIPMAP flag.\n");
720 FIXME(
"Unsupported filter type %u.\n", filter_type);
722 texture->autogen_filter_type = filter_type;
730 TRACE(
"iface %p.\n", iface);
733 WARN(
"Called on a texture without the D3DUSAGE_AUTOGENMIPMAP flag.\n");
735 return texture->autogen_filter_type;
742 TRACE(
"iface %p.\n", iface);
760 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
766 if (
level >= level_count)
796 TRACE(
"iface %p, face %#x, level %u, surface %p.\n", iface,
face,
level, surface);
800 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
806 if (
level >= level_count)
835 TRACE(
"iface %p, face %#x, level %u, locked_rect %p, rect %p, flags %#x.\n",
840 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
867 WARN(
"D3DUSAGE_AUTOGENMIPMAP textures have only one accessible level.\n");
888 TRACE(
"iface %p, face %#x, dirty_rect %s.\n",
961 TRACE(
"%p increasing refcount to %u.\n", iface,
ref);
979 TRACE(
"%p decreasing refcount to %u.\n", iface,
ref);
1004 TRACE(
"iface %p, guid %s, data %p, data_size %u, flags %#x.\n",
1014 TRACE(
"iface %p, guid %s, data %p, data_size %p.\n",
1050 TRACE(
"iface %p.\n", iface);
1064 TRACE(
"iface %p.\n", iface);
1073 TRACE(
"iface %p.\n", iface);
1083 TRACE(
"iface %p, lod %u.\n", iface,
lod);
1097 TRACE(
"iface %p.\n", iface);
1111 TRACE(
"iface %p.\n", iface);
1123 TRACE(
"iface %p, filter_type %#x.\n", iface, filter_type);
1130 TRACE(
"iface %p.\n", iface);
1137 TRACE(
"iface %p.\n", iface);
1193 TRACE(
"iface %p, level %u, locked_box %p, box %p, flags %#x.\n",
1212 TRACE(
"iface %p, level %u.\n", iface,
level);
1229 TRACE(
"iface %p, dirty_box %p.\n", iface, dirty_box);
1278 WARN(
"%p is not a valid IDirect3DBaseTexture9 interface.\n", iface);
1312 desc.multisample_quality = 0;
1334 WARN(
"D3DUSAGE_AUTOGENMIPMAP texture can't be in D3DPOOL_SYSTEMMEM, returning D3DERR_INVALIDCALL.\n");
1339 WARN(
"D3DUSAGE_AUTOGENMIPMAP texture with %u levels, returning D3DERR_INVALIDCALL.\n",
levels);
1359 WARN(
"Failed to create wined3d texture, hr %#x.\n",
hr);
1384 desc.multisample_quality = 0;
1391 desc.width = edge_length;
1392 desc.height = edge_length;
1406 WARN(
"D3DUSAGE_AUTOGENMIPMAP texture can't be in D3DPOOL_SYSTEMMEM, returning D3DERR_INVALIDCALL.\n");
1411 WARN(
"D3DUSAGE_AUTOGENMIPMAP texture with %u levels, returning D3DERR_INVALIDCALL.\n",
levels);
1431 WARN(
"Failed to create wined3d cube texture, hr %#x.\n",
hr);
1455 desc.multisample_quality = 0;
1468 WARN(
"D3DUSAGE_AUTOGENMIPMAP volume texture is not supported, returning D3DERR_INVALIDCALL.\n");
1480 WARN(
"Failed to create wined3d volume texture, hr %#x.\n",
hr);
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_init(struct list_entry *head)
#define STDMETHODCALLTYPE
enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format) DECLSPEC_HIDDEN
D3DFORMAT d3dformat_from_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN
static unsigned int wined3daccess_from_d3dpool(D3DPOOL pool, unsigned int usage)
static D3DPOOL d3dpool_from_wined3daccess(unsigned int access, unsigned int usage)
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DFORMAT D3DFORMAT
enum _D3DCUBEMAP_FACES D3DCUBEMAP_FACES
enum _D3DTEXTUREFILTERTYPE D3DTEXTUREFILTERTYPE
#define IDirect3DVolume9_AddRef(p)
#define IDirect3DCubeTexture9_AddRef(p)
#define IDirect3DTexture9_AddRef(p)
#define IDirect3DSurface9_LockRect(p, a, b, c)
#define IDirect3DVolume9_UnlockBox(p)
#define IDirect3DVolume9_LockBox(p, a, b, c)
#define IDirect3DDevice9Ex_Release(p)
#define IDirect3DSurface9_AddRef(p)
#define IDirect3DDevice9Ex_AddRef(p)
#define IDirect3DSurface9_UnlockRect(p)
#define IDirect3DDevice9_AddRef(p)
#define IDirect3DVolumeTexture9_AddRef(p)
void d3d9_resource_init(struct d3d9_resource *resource)
HRESULT d3d9_resource_free_private_data(struct d3d9_resource *resource, const GUID *guid)
HRESULT d3d9_resource_set_private_data(struct d3d9_resource *resource, const GUID *guid, const void *data, DWORD data_size, DWORD flags)
void d3d9_resource_cleanup(struct d3d9_resource *resource)
HRESULT d3d9_resource_get_private_data(struct d3d9_resource *resource, const GUID *guid, void *data, DWORD *data_size)
#define D3DUSAGE_AUTOGENMIPMAP
#define D3DERR_INVALIDCALL
HRESULT volumetexture_init(struct d3d8_texture *texture, struct d3d8_device *device, UINT width, UINT height, UINT depth, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool)
HRESULT cubetexture_init(struct d3d8_texture *texture, struct d3d8_device *device, UINT edge_length, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool)
HRESULT texture_init(struct d3d8_texture *texture, struct d3d8_device *device, UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool)
static HRESULT WINAPI d3d9_texture_2d_GetPrivateData(IDirect3DTexture9 *iface, REFGUID guid, void *data, DWORD *data_size)
static HRESULT WINAPI d3d9_texture_2d_UnlockRect(IDirect3DTexture9 *iface, UINT level)
static HRESULT WINAPI d3d9_texture_2d_LockRect(IDirect3DTexture9 *iface, UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags)
static void WINAPI d3d9_texture_3d_GenerateMipSubLevels(IDirect3DVolumeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_AddDirtyRect(IDirect3DCubeTexture9 *iface, D3DCUBEMAP_FACES face, const RECT *dirty_rect)
static D3DTEXTUREFILTERTYPE WINAPI d3d9_texture_3d_GetAutoGenFilterType(IDirect3DVolumeTexture9 *iface)
static DWORD WINAPI d3d9_texture_cube_SetLOD(IDirect3DCubeTexture9 *iface, DWORD lod)
static HRESULT WINAPI d3d9_texture_cube_GetLevelDesc(IDirect3DCubeTexture9 *iface, UINT level, D3DSURFACE_DESC *desc)
static HRESULT WINAPI d3d9_texture_cube_GetDevice(IDirect3DCubeTexture9 *iface, IDirect3DDevice9 **device)
static DWORD WINAPI d3d9_texture_2d_GetLOD(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_2d_GetSurfaceLevel(IDirect3DTexture9 *iface, UINT level, IDirect3DSurface9 **surface)
static ULONG WINAPI d3d9_texture_3d_Release(IDirect3DVolumeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_2d_SetPrivateData(IDirect3DTexture9 *iface, REFGUID guid, const void *data, DWORD data_size, DWORD flags)
static const IDirect3DVolumeTexture9Vtbl d3d9_texture_3d_vtbl
static DWORD WINAPI d3d9_texture_3d_GetLevelCount(IDirect3DVolumeTexture9 *iface)
static DWORD WINAPI d3d9_texture_2d_GetPriority(IDirect3DTexture9 *iface)
static const IDirect3DTexture9Vtbl d3d9_texture_2d_vtbl
static DWORD WINAPI d3d9_texture_3d_SetPriority(IDirect3DVolumeTexture9 *iface, DWORD priority)
static HRESULT WINAPI d3d9_texture_cube_SetPrivateData(IDirect3DCubeTexture9 *iface, REFGUID guid, const void *data, DWORD data_size, DWORD flags)
static ULONG WINAPI d3d9_texture_3d_AddRef(IDirect3DVolumeTexture9 *iface)
static void d3d9_texture_cleanup(struct d3d9_texture *texture)
static ULONG WINAPI d3d9_texture_2d_AddRef(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_3d_GetPrivateData(IDirect3DVolumeTexture9 *iface, REFGUID guid, void *data, DWORD *data_size)
struct d3d9_texture * unsafe_impl_from_IDirect3DBaseTexture9(IDirect3DBaseTexture9 *iface)
static const struct wined3d_parent_ops d3d9_srv_wined3d_parent_ops
static DWORD WINAPI d3d9_texture_3d_GetLOD(IDirect3DVolumeTexture9 *iface)
void d3d9_texture_gen_auto_mipmap(struct d3d9_texture *texture)
static DWORD WINAPI d3d9_texture_cube_GetLevelCount(IDirect3DCubeTexture9 *iface)
static void WINAPI d3d9_texture_2d_GenerateMipSubLevels(IDirect3DTexture9 *iface)
static void WINAPI d3d9_texture_2d_PreLoad(IDirect3DTexture9 *iface)
static struct d3d9_texture * impl_from_IDirect3DTexture9(IDirect3DTexture9 *iface)
static void STDMETHODCALLTYPE d3d9_texture_wined3d_object_destroyed(void *parent)
static D3DRESOURCETYPE WINAPI d3d9_texture_2d_GetType(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_QueryInterface(IDirect3DCubeTexture9 *iface, REFIID riid, void **out)
void d3d9_texture_flag_auto_gen_mipmap(struct d3d9_texture *texture)
static void WINAPI d3d9_texture_cube_PreLoad(IDirect3DCubeTexture9 *iface)
static DWORD WINAPI d3d9_texture_3d_SetLOD(IDirect3DVolumeTexture9 *iface, DWORD lod)
static HRESULT WINAPI d3d9_texture_3d_GetDevice(IDirect3DVolumeTexture9 *iface, IDirect3DDevice9 **device)
static HRESULT WINAPI d3d9_texture_3d_AddDirtyBox(IDirect3DVolumeTexture9 *iface, const D3DBOX *dirty_box)
static HRESULT WINAPI d3d9_texture_2d_GetLevelDesc(IDirect3DTexture9 *iface, UINT level, D3DSURFACE_DESC *desc)
static HRESULT WINAPI d3d9_texture_3d_SetPrivateData(IDirect3DVolumeTexture9 *iface, REFGUID guid, const void *data, DWORD data_size, DWORD flags)
static HRESULT WINAPI d3d9_texture_3d_FreePrivateData(IDirect3DVolumeTexture9 *iface, REFGUID guid)
static HRESULT WINAPI d3d9_texture_3d_GetLevelDesc(IDirect3DVolumeTexture9 *iface, UINT level, D3DVOLUME_DESC *desc)
static HRESULT WINAPI d3d9_texture_3d_SetAutoGenFilterType(IDirect3DVolumeTexture9 *iface, D3DTEXTUREFILTERTYPE filter_type)
static DWORD WINAPI d3d9_texture_2d_SetLOD(IDirect3DTexture9 *iface, DWORD lod)
static ULONG WINAPI d3d9_texture_cube_Release(IDirect3DCubeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_3d_UnlockBox(IDirect3DVolumeTexture9 *iface, UINT level)
static void WINAPI d3d9_texture_3d_PreLoad(IDirect3DVolumeTexture9 *iface)
static D3DTEXTUREFILTERTYPE WINAPI d3d9_texture_cube_GetAutoGenFilterType(IDirect3DCubeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_UnlockRect(IDirect3DCubeTexture9 *iface, D3DCUBEMAP_FACES face, UINT level)
static HRESULT WINAPI d3d9_texture_cube_SetAutoGenFilterType(IDirect3DCubeTexture9 *iface, D3DTEXTUREFILTERTYPE filter_type)
static HRESULT WINAPI d3d9_texture_2d_SetAutoGenFilterType(IDirect3DTexture9 *iface, D3DTEXTUREFILTERTYPE filter_type)
static DWORD WINAPI d3d9_texture_cube_SetPriority(IDirect3DCubeTexture9 *iface, DWORD priority)
static HRESULT WINAPI d3d9_texture_2d_AddDirtyRect(IDirect3DTexture9 *iface, const RECT *dirty_rect)
static DWORD WINAPI d3d9_texture_cube_GetPriority(IDirect3DCubeTexture9 *iface)
static DWORD WINAPI d3d9_texture_2d_SetPriority(IDirect3DTexture9 *iface, DWORD priority)
static HRESULT WINAPI d3d9_texture_3d_GetVolumeLevel(IDirect3DVolumeTexture9 *iface, UINT level, IDirect3DVolume9 **volume)
static struct d3d9_texture * impl_from_IDirect3DVolumeTexture9(IDirect3DVolumeTexture9 *iface)
static ULONG WINAPI d3d9_texture_2d_Release(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_2d_GetDevice(IDirect3DTexture9 *iface, IDirect3DDevice9 **device)
static DWORD WINAPI d3d9_texture_2d_GetLevelCount(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_2d_QueryInterface(IDirect3DTexture9 *iface, REFIID riid, void **out)
static const struct wined3d_parent_ops d3d9_texture_wined3d_parent_ops
static struct wined3d_shader_resource_view * d3d9_texture_acquire_shader_resource_view(struct d3d9_texture *texture)
static HRESULT WINAPI d3d9_texture_3d_LockBox(IDirect3DVolumeTexture9 *iface, UINT level, D3DLOCKED_BOX *locked_box, const D3DBOX *box, DWORD flags)
static DWORD WINAPI d3d9_texture_3d_GetPriority(IDirect3DVolumeTexture9 *iface)
static void STDMETHODCALLTYPE srv_wined3d_object_destroyed(void *parent)
static D3DRESOURCETYPE WINAPI d3d9_texture_3d_GetType(IDirect3DVolumeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_GetCubeMapSurface(IDirect3DCubeTexture9 *iface, D3DCUBEMAP_FACES face, UINT level, IDirect3DSurface9 **surface)
static DWORD WINAPI d3d9_texture_cube_GetLOD(IDirect3DCubeTexture9 *iface)
static ULONG WINAPI d3d9_texture_cube_AddRef(IDirect3DCubeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_GetPrivateData(IDirect3DCubeTexture9 *iface, REFGUID guid, void *data, DWORD *data_size)
static D3DTEXTUREFILTERTYPE WINAPI d3d9_texture_2d_GetAutoGenFilterType(IDirect3DTexture9 *iface)
static HRESULT WINAPI d3d9_texture_cube_FreePrivateData(IDirect3DCubeTexture9 *iface, REFGUID guid)
static const IDirect3DCubeTexture9Vtbl d3d9_texture_cube_vtbl
static HRESULT WINAPI d3d9_texture_2d_FreePrivateData(IDirect3DTexture9 *iface, REFGUID guid)
static struct d3d9_texture * impl_from_IDirect3DCubeTexture9(IDirect3DCubeTexture9 *iface)
static D3DRESOURCETYPE WINAPI d3d9_texture_cube_GetType(IDirect3DCubeTexture9 *iface)
static void WINAPI d3d9_texture_cube_GenerateMipSubLevels(IDirect3DCubeTexture9 *iface)
static HRESULT WINAPI d3d9_texture_3d_QueryInterface(IDirect3DVolumeTexture9 *iface, REFIID riid, void **out)
static HRESULT WINAPI d3d9_texture_cube_LockRect(IDirect3DCubeTexture9 *iface, D3DCUBEMAP_FACES face, UINT level, D3DLOCKED_RECT *locked_rect, const RECT *rect, DWORD flags)
void CDECL wined3d_resource_preload(struct wined3d_resource *resource)
DWORD CDECL wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority)
DWORD CDECL wined3d_resource_get_priority(const struct wined3d_resource *resource)
DWORD CDECL wined3d_texture_set_lod(struct wined3d_texture *texture, DWORD lod)
HRESULT CDECL wined3d_texture_get_sub_resource_desc(const struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc)
DWORD CDECL wined3d_texture_get_lod(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_texture_add_dirty_region(struct wined3d_texture *texture, UINT layer, const struct wined3d_box *dirty_region)
HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct wined3d_resource_desc *desc, UINT layer_count, UINT level_count, DWORD flags, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture)
void *CDECL wined3d_texture_get_sub_resource_parent(struct wined3d_texture *texture, unsigned int sub_resource_idx)
struct wined3d_resource *CDECL wined3d_texture_get_resource(struct wined3d_texture *texture)
ULONG CDECL wined3d_texture_decref(struct wined3d_texture *texture)
ULONG CDECL wined3d_texture_incref(struct wined3d_texture *texture)
DWORD CDECL wined3d_texture_get_level_count(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_shader_resource_view_create(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader_resource_view **view)
void CDECL wined3d_shader_resource_view_generate_mipmaps(struct wined3d_shader_resource_view *view)
ULONG CDECL wined3d_rendertarget_view_incref(struct wined3d_rendertarget_view *view)
ULONG CDECL wined3d_rendertarget_view_decref(struct wined3d_rendertarget_view *view)
ULONG CDECL wined3d_shader_resource_view_decref(struct wined3d_shader_resource_view *view)
GLint GLint GLsizei GLsizei GLsizei depth
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLuint GLint GLenum face
GLsizeiptr const GLvoid GLenum usage
static const WCHAR desc[]
#define IsEqualGUID(rguid1, rguid2)
static __inline const char * wine_dbgstr_rect(const RECT *rect)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
IDirect3DDevice9Ex * parent_device
IDirect3DSurface9 IDirect3DSurface9_iface
struct wined3d_rendertarget_view * wined3d_rtv
unsigned int sub_resource_idx
IDirect3DBaseTexture9 IDirect3DBaseTexture9_iface
IDirect3DVolume9 IDirect3DVolume9_iface
enum wined3d_format_id format
unsigned int multisample_quality
enum wined3d_multisample_type multisample_type
#define CONTAINING_RECORD(address, type, field)
#define D3D9_TEXTURE_MIPMAP_DIRTY
BOOL is_gdi_compat_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN
static DWORD wined3dusage_from_d3dusage(unsigned int usage)
static unsigned int wined3d_log2i(unsigned int x)
@ WINED3D_MULTISAMPLE_NONE
#define WINED3DUSAGE_LEGACY_CUBEMAP
@ WINED3D_RTYPE_TEXTURE_2D
@ WINED3D_RTYPE_TEXTURE_3D
#define WINED3D_TEXTURE_CREATE_MAPPABLE
static void wined3d_box_set(struct wined3d_box *box, unsigned int left, unsigned int top, unsigned int right, unsigned int bottom, unsigned int front, unsigned int back)
#define WINED3D_RESOURCE_ACCESS_MAP_R
#define WINED3DUSAGE_SCRATCH
#define WINED3D_TEXTURE_CREATE_GET_DC
#define WINED3DUSAGE_TEXTURE
#define WINED3D_TEXTURE_CREATE_GENERATE_MIPMAPS
#define WINED3D_RESOURCE_ACCESS_MAP_W
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)