From: Zebediah Figura zfigura@codeweavers.com
--- dlls/d3d9/d3d9_private.h | 1 - dlls/d3d9/texture.c | 34 ++-------------------------------- 2 files changed, 2 insertions(+), 33 deletions(-)
diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h index fcd82d2e674..a5f059c5aef 100644 --- a/dlls/d3d9/d3d9_private.h +++ b/dlls/d3d9/d3d9_private.h @@ -222,7 +222,6 @@ struct d3d9_texture struct list rtv_list; DWORD usage; BOOL flags; - struct wined3d_shader_resource_view *wined3d_srv; D3DTEXTUREFILTERTYPE autogen_filter_type; };
diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c index 94c17be2c27..4de7d2eb99e 100644 --- a/dlls/d3d9/texture.c +++ b/dlls/d3d9/texture.c @@ -90,44 +90,16 @@ static inline struct d3d9_texture *impl_from_IDirect3DVolumeTexture9(IDirect3DVo return CONTAINING_RECORD(iface, struct d3d9_texture, IDirect3DBaseTexture9_iface); }
-/* wined3d critical section must be taken by the caller. */ -static struct wined3d_shader_resource_view *d3d9_texture_acquire_shader_resource_view(struct d3d9_texture *texture) -{ - struct wined3d_sub_resource_desc sr_desc; - struct wined3d_view_desc desc; - HRESULT hr; - - if (texture->wined3d_srv) - return texture->wined3d_srv; - - wined3d_texture_get_sub_resource_desc(texture->wined3d_texture, 0, &sr_desc); - desc.format_id = sr_desc.format; - desc.flags = 0; - desc.u.texture.level_idx = 0; - desc.u.texture.level_count = wined3d_texture_get_level_count(texture->wined3d_texture); - desc.u.texture.layer_idx = 0; - desc.u.texture.layer_count = sr_desc.usage & WINED3DUSAGE_LEGACY_CUBEMAP ? 6 : 1; - if (FAILED(hr = wined3d_shader_resource_view_create(&desc, - wined3d_texture_get_resource(d3d9_texture_get_draw_texture(texture)), texture, - &d3d9_null_wined3d_parent_ops, &texture->wined3d_srv))) - { - ERR("Failed to create shader resource view, hr %#lx.\n", hr); - return NULL; - } - - return texture->wined3d_srv; -} - /* wined3d critical section must be taken by the caller. */ void d3d9_texture_gen_auto_mipmap(struct d3d9_texture *texture) { if (!(texture->flags & D3D9_TEXTURE_MIPMAP_DIRTY)) return; - d3d9_texture_acquire_shader_resource_view(texture); if (texture->draw_texture) wined3d_device_update_texture(texture->parent_device->wined3d_device, texture->wined3d_texture, texture->draw_texture); - wined3d_device_context_generate_mipmaps(texture->parent_device->immediate_context, texture->wined3d_srv); + wined3d_device_context_generate_mipmaps(texture->parent_device->immediate_context, + wined3d_texture_acquire_identity_srv(d3d9_texture_get_draw_texture(texture))); texture->flags &= ~D3D9_TEXTURE_MIPMAP_DIRTY; }
@@ -1249,8 +1221,6 @@ static void STDMETHODCALLTYPE d3d9_texture_wined3d_object_destroyed(void *parent { struct d3d9_texture *texture = parent;
- if (texture->wined3d_srv) - wined3d_shader_resource_view_decref(texture->wined3d_srv); /* If the texture was managed, release the sysmem copy now. */ if (texture->draw_texture) wined3d_texture_decref(texture->wined3d_texture);