Henri Verbeet : wined3d: Introduce wined3d_resource_get_desc() to retrieve the resource desc.
Alexandre Julliard
julliard at winehq.org
Thu Mar 10 11:30:24 CST 2011
Module: wine
Branch: master
Commit: 4be256a47c4f0ab91cfb0a72b4cbc67182f6179d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4be256a47c4f0ab91cfb0a72b4cbc67182f6179d
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Mar 9 19:16:15 2011 +0100
wined3d: Introduce wined3d_resource_get_desc() to retrieve the resource desc.
---
dlls/wined3d/buffer.c | 11 +----------
dlls/wined3d/cubetexture.c | 2 +-
dlls/wined3d/resource.c | 14 ++++++++++++++
dlls/wined3d/surface_base.c | 11 +----------
dlls/wined3d/texture.c | 2 +-
dlls/wined3d/volume.c | 11 +----------
dlls/wined3d/volumetexture.c | 2 +-
dlls/wined3d/wined3d_private.h | 2 ++
8 files changed, 22 insertions(+), 33 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index e665311..8d65ffb 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1399,16 +1399,7 @@ void CDECL wined3d_buffer_get_desc(const struct wined3d_buffer *buffer, struct w
{
TRACE("buffer %p, desc %p.\n", buffer, desc);
- desc->format = buffer->resource.format->id;
- desc->resource_type = buffer->resource.resourceType;
- desc->usage = buffer->resource.usage;
- desc->pool = buffer->resource.pool;
- desc->size = buffer->resource.size;
- desc->multisample_type = WINED3DMULTISAMPLE_NONE;
- desc->multisample_quality = 0;
- desc->width = buffer->resource.size;
- desc->height = 1;
- desc->depth = 1;
+ wined3d_resource_get_desc(&buffer->resource, desc);
}
static const struct wined3d_resource_ops buffer_resource_ops =
diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c
index d4e5d21..3e673df 100644
--- a/dlls/wined3d/cubetexture.c
+++ b/dlls/wined3d/cubetexture.c
@@ -340,7 +340,7 @@ static HRESULT WINAPI IWineD3DCubeTextureImpl_GetSubResourceDesc(IWineD3DCubeTex
return WINED3DERR_INVALIDCALL;
}
- IWineD3DSurface_GetDesc((IWineD3DSurface *)surface_from_resource(sub_resource), desc);
+ wined3d_resource_get_desc(sub_resource, desc);
return WINED3D_OK;
}
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index 66c2e62..5a73df2 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -282,3 +282,17 @@ void * CDECL wined3d_resource_get_parent(const struct wined3d_resource *resource
{
return resource->parent;
}
+
+void wined3d_resource_get_desc(const struct wined3d_resource *resource, struct wined3d_resource_desc *desc)
+{
+ desc->resource_type = resource->resourceType;
+ desc->format = resource->format->id;
+ desc->multisample_type = resource->multisample_type;
+ desc->multisample_quality = resource->multisample_quality;
+ desc->usage = resource->usage;
+ desc->pool = resource->pool;
+ desc->width = resource->width;
+ desc->height = resource->height;
+ desc->depth = resource->depth;
+ desc->size = resource->size;
+}
diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c
index fc093b3..f8b6a63 100644
--- a/dlls/wined3d/surface_base.c
+++ b/dlls/wined3d/surface_base.c
@@ -163,16 +163,7 @@ void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, struct wined
TRACE("iface %p, desc %p.\n", iface, desc);
- desc->format = surface->resource.format->id;
- desc->resource_type = surface->resource.resourceType;
- desc->usage = surface->resource.usage;
- desc->pool = surface->resource.pool;
- desc->size = surface->resource.size; /* dx8 only */
- desc->multisample_type = surface->resource.multisample_type;
- desc->multisample_quality = surface->resource.multisample_quality;
- desc->width = surface->resource.width;
- desc->height = surface->resource.height;
- desc->depth = surface->resource.depth;
+ wined3d_resource_get_desc(&surface->resource, desc);
}
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD flags)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 7a78ad8..a5a3d65 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -365,7 +365,7 @@ static HRESULT WINAPI IWineD3DTextureImpl_GetSubResourceDesc(IWineD3DTexture *if
return WINED3DERR_INVALIDCALL;
}
- IWineD3DSurface_GetDesc((IWineD3DSurface *)surface_from_resource(sub_resource), desc);
+ wined3d_resource_get_desc(sub_resource, desc);
return WINED3D_OK;
}
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
index 0210669..6fb337f 100644
--- a/dlls/wined3d/volume.c
+++ b/dlls/wined3d/volume.c
@@ -226,16 +226,7 @@ static void WINAPI IWineD3DVolumeImpl_GetDesc(IWineD3DVolume *iface, struct wine
TRACE("iface %p, desc %p.\n", iface, desc);
- desc->format = volume->resource.format->id;
- desc->resource_type = volume->resource.resourceType;
- desc->usage = volume->resource.usage;
- desc->pool = volume->resource.pool;
- desc->size = volume->resource.size; /* dx8 only */
- desc->multisample_type = WINED3DMULTISAMPLE_NONE;
- desc->multisample_quality = 0;
- desc->width = volume->resource.width;
- desc->height = volume->resource.height;
- desc->depth = volume->resource.depth;
+ wined3d_resource_get_desc(&volume->resource, desc);
}
static HRESULT WINAPI IWineD3DVolumeImpl_Map(IWineD3DVolume *iface,
diff --git a/dlls/wined3d/volumetexture.c b/dlls/wined3d/volumetexture.c
index 78ded41..06cd6d9 100644
--- a/dlls/wined3d/volumetexture.c
+++ b/dlls/wined3d/volumetexture.c
@@ -277,7 +277,7 @@ static HRESULT WINAPI IWineD3DVolumeTextureImpl_GetSubResourceDesc(IWineD3DVolum
return WINED3DERR_INVALIDCALL;
}
- IWineD3DVolume_GetDesc((IWineD3DVolume *)volume_from_resource(sub_resource), desc);
+ wined3d_resource_get_desc(sub_resource, desc);
return WINED3D_OK;
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 201e19b..f395a95 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1824,6 +1824,8 @@ struct wined3d_resource
void resource_cleanup(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
HRESULT resource_free_private_data(struct wined3d_resource *resource, REFGUID guid) DECLSPEC_HIDDEN;
+void wined3d_resource_get_desc(const struct wined3d_resource *resource,
+ struct wined3d_resource_desc *desc) DECLSPEC_HIDDEN;
DWORD resource_get_priority(const struct wined3d_resource *resource) DECLSPEC_HIDDEN;
HRESULT resource_get_private_data(const struct wined3d_resource *resource, REFGUID guid,
void *data, DWORD *data_size) DECLSPEC_HIDDEN;
More information about the wine-cvs
mailing list