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
static const char * wine_dbgstr_rect(const RECT *prc)
#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 height
GLint GLint GLsizei width
GLenum GLuint GLint GLenum face
GLsizeiptr const GLvoid GLenum usage
static const WCHAR desc[]
#define IsEqualGUID(rguid1, rguid2)
#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)