From eeea2af596859fc2b77ca28685a7a1545e6fe718 Mon Sep 17 00:00:00 2001 From: Riccardo Bortolato Date: Tue, 6 Oct 2015 10:36:51 +0200 Subject: [PATCH] d3d8: Don't use a wined3d_volume in d3d8_volume_GetDesc. Signed-off-by: Henri Verbeet --- dlls/d3d8/d3d8_private.h | 3 +-- dlls/d3d8/device.c | 2 +- dlls/d3d8/volume.c | 9 ++++----- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h index aec48319608..ab6a3d44284 100644 --- a/dlls/d3d8/d3d8_private.h +++ b/dlls/d3d8/d3d8_private.h @@ -206,12 +206,11 @@ struct d3d8_volume struct d3d8_resource resource; struct wined3d_texture *wined3d_texture; unsigned int sub_resource_idx; - struct wined3d_volume *wined3d_volume; struct d3d8_texture *texture; }; void volume_init(struct d3d8_volume *volume, struct wined3d_texture *wined3d_texture, - unsigned int sub_resource_idx, struct wined3d_volume *wined3d_volume, const struct wined3d_parent_ops **parent_ops) DECLSPEC_HIDDEN; + unsigned int sub_resource_idx, const struct wined3d_parent_ops **parent_ops) DECLSPEC_HIDDEN; struct d3d8_swapchain { diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 6ba476e2b80..818f6017764 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -3029,7 +3029,7 @@ static HRESULT CDECL device_parent_volume_created(struct wined3d_device_parent * if (!(d3d_volume = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*d3d_volume)))) return E_OUTOFMEMORY; - volume_init(d3d_volume, wined3d_texture, sub_resource_idx, volume, parent_ops); + volume_init(d3d_volume, wined3d_texture, sub_resource_idx, parent_ops); *parent = d3d_volume; TRACE("Created volume %p.\n", d3d_volume); diff --git a/dlls/d3d8/volume.c b/dlls/d3d8/volume.c index 81cd40ee9cb..e37330c9cf8 100644 --- a/dlls/d3d8/volume.c +++ b/dlls/d3d8/volume.c @@ -116,13 +116,13 @@ static HRESULT WINAPI d3d8_volume_GetDesc(IDirect3DVolume8 *iface, D3DVOLUME_DES { struct d3d8_volume *volume = impl_from_IDirect3DVolume8(iface); struct wined3d_resource_desc wined3d_desc; - struct wined3d_resource *wined3d_resource; + struct wined3d_resource *sub_resource; TRACE("iface %p, desc %p.\n", iface, desc); wined3d_mutex_lock(); - wined3d_resource = wined3d_volume_get_resource(volume->wined3d_volume); - wined3d_resource_get_desc(wined3d_resource, &wined3d_desc); + sub_resource = wined3d_texture_get_sub_resource(volume->wined3d_texture, volume->sub_resource_idx); + wined3d_resource_get_desc(sub_resource, &wined3d_desc); wined3d_mutex_unlock(); desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format); @@ -203,12 +203,11 @@ static const struct wined3d_parent_ops d3d8_volume_wined3d_parent_ops = }; void volume_init(struct d3d8_volume *volume, struct wined3d_texture *wined3d_texture, - unsigned int sub_resource_idx, struct wined3d_volume *wined3d_volume, const struct wined3d_parent_ops **parent_ops) + unsigned int sub_resource_idx, const struct wined3d_parent_ops **parent_ops) { volume->IDirect3DVolume8_iface.lpVtbl = &d3d8_volume_vtbl; d3d8_resource_init(&volume->resource); volume->resource.refcount = 0; - volume->wined3d_volume = wined3d_volume; volume->texture = wined3d_texture_get_parent(wined3d_texture); volume->wined3d_texture = wined3d_texture; volume->sub_resource_idx = sub_resource_idx;