[PATCH 1/4] wined3d: Merge the various resource desc structures.

Henri Verbeet hverbeet at codeweavers.com
Tue Mar 8 12:41:05 CST 2011


---
 dlls/d3d8/buffer.c             |   16 +++++++-------
 dlls/d3d8/cubetexture.c        |   24 ++++++++++----------
 dlls/d3d8/device.c             |   19 ++++++++--------
 dlls/d3d8/surface.c            |   25 +++++++++++----------
 dlls/d3d8/texture.c            |   27 +++++++++++------------
 dlls/d3d8/volume.c             |   24 ++++++++++----------
 dlls/d3d8/volumetexture.c      |   27 ++++++++++++-----------
 dlls/d3d9/buffer.c             |   16 +++++++-------
 dlls/d3d9/cubetexture.c        |   26 ++++++++++++----------
 dlls/d3d9/device.c             |   17 +++++---------
 dlls/d3d9/surface.c            |   25 +++++++++++----------
 dlls/d3d9/texture.c            |   27 ++++++++++++-----------
 dlls/d3d9/volume.c             |   23 ++++++++++---------
 dlls/d3d9/volumetexture.c      |   25 +++++++++++----------
 dlls/ddraw/ddraw.c             |   28 +++++-------------------
 dlls/ddraw/device.c            |   12 +++++-----
 dlls/ddraw/surface.c           |    2 +-
 dlls/ddraw/vertexbuffer.c      |   12 +++++-----
 dlls/wined3d/buffer.c          |   16 +++++++++----
 dlls/wined3d/cubetexture.c     |    2 +-
 dlls/wined3d/stateblock.c      |    2 +-
 dlls/wined3d/surface_base.c    |    3 +-
 dlls/wined3d/texture.c         |    2 +-
 dlls/wined3d/volume.c          |   20 +++++++++--------
 dlls/wined3d/volumetexture.c   |    2 +-
 dlls/wined3d/wined3d_private.h |    2 +-
 include/wine/wined3d.idl       |   45 +++++++++++----------------------------
 27 files changed, 223 insertions(+), 246 deletions(-)

diff --git a/dlls/d3d8/buffer.c b/dlls/d3d8/buffer.c
index 21b903b..b0d1589 100644
--- a/dlls/d3d8/buffer.c
+++ b/dlls/d3d8/buffer.c
@@ -209,7 +209,7 @@ static HRESULT WINAPI d3d8_vertexbuffer_Unlock(IDirect3DVertexBuffer8 *iface)
 static HRESULT WINAPI d3d8_vertexbuffer_GetDesc(IDirect3DVertexBuffer8 *iface, D3DVERTEXBUFFER_DESC *desc)
 {
     IDirect3DVertexBuffer8Impl *buffer = (IDirect3DVertexBuffer8Impl *)iface;
-    WINED3DBUFFER_DESC wined3d_desc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, desc %p.\n", iface, desc);
 
@@ -218,9 +218,9 @@ static HRESULT WINAPI d3d8_vertexbuffer_GetDesc(IDirect3DVertexBuffer8 *iface, D
     wined3d_mutex_unlock();
 
     desc->Type = D3DRTYPE_VERTEXBUFFER;
-    desc->Usage = wined3d_desc.Usage;
-    desc->Pool = wined3d_desc.Pool;
-    desc->Size = wined3d_desc.Size;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
     desc->FVF = buffer->fvf;
     desc->Format = D3DFMT_VERTEXDATA;
 
@@ -471,7 +471,7 @@ static HRESULT WINAPI d3d8_indexbuffer_Unlock(IDirect3DIndexBuffer8 *iface)
 static HRESULT WINAPI d3d8_indexbuffer_GetDesc(IDirect3DIndexBuffer8 *iface, D3DINDEXBUFFER_DESC *desc)
 {
     IDirect3DIndexBuffer8Impl *buffer = (IDirect3DIndexBuffer8Impl *)iface;
-    WINED3DBUFFER_DESC wined3d_desc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, desc %p.\n", iface, desc);
 
@@ -481,9 +481,9 @@ static HRESULT WINAPI d3d8_indexbuffer_GetDesc(IDirect3DIndexBuffer8 *iface, D3D
 
     desc->Format = d3dformat_from_wined3dformat(buffer->format);
     desc->Type = D3DRTYPE_INDEXBUFFER;
-    desc->Usage = wined3d_desc.Usage;
-    desc->Pool = wined3d_desc.Pool;
-    desc->Size = wined3d_desc.Size;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
 
     return D3D_OK;
 }
diff --git a/dlls/d3d8/cubetexture.c b/dlls/d3d8/cubetexture.c
index 60c451b..6c70afb 100644
--- a/dlls/d3d8/cubetexture.c
+++ b/dlls/d3d8/cubetexture.c
@@ -251,28 +251,28 @@ static DWORD WINAPI IDirect3DCubeTexture8Impl_GetLevelCount(IDirect3DCubeTexture
 
 /* IDirect3DCubeTexture8 Interface follow: */
 static HRESULT WINAPI IDirect3DCubeTexture8Impl_GetLevelDesc(IDirect3DCubeTexture8 *iface,
-        UINT Level, D3DSURFACE_DESC *pDesc)
+        UINT level, D3DSURFACE_DESC *desc)
 {
     IDirect3DCubeTexture8Impl *This = impl_from_IDirect3DCubeTexture8(iface);
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
-    WINED3DSURFACE_DESC    wined3ddesc;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
-    hr = IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, Level, &wined3ddesc);
+    hr = IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, level, &wined3d_desc);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-        pDesc->Type = wined3ddesc.resource_type;
-        pDesc->Usage = wined3ddesc.usage;
-        pDesc->Pool = wined3ddesc.pool;
-        pDesc->Size = wined3ddesc.size;
-        pDesc->MultiSampleType = wined3ddesc.multisample_type;
-        pDesc->Width = wined3ddesc.width;
-        pDesc->Height = wined3ddesc.height;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->Size = wined3d_desc.size;
+        desc->MultiSampleType = wined3d_desc.multisample_type;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
     }
 
     return hr;
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index b034b6a..67daa5a 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -923,13 +923,14 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CreateImageSurface(IDirect3DDevice8 *
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DDevice8Impl_CopyRects(LPDIRECT3DDEVICE8 iface, IDirect3DSurface8 *pSourceSurface, CONST RECT *pSourceRects, UINT cRects, IDirect3DSurface8 *pDestinationSurface, CONST POINT *pDestPoints) {
+static HRESULT WINAPI IDirect3DDevice8Impl_CopyRects(IDirect3DDevice8 *iface,
+        IDirect3DSurface8 *pSourceSurface, const RECT *pSourceRects, UINT cRects,
+        IDirect3DSurface8 *pDestinationSurface, const POINT *pDestPoints)
+{
     IDirect3DSurface8Impl *Source = (IDirect3DSurface8Impl *) pSourceSurface;
     IDirect3DSurface8Impl *Dest = (IDirect3DSurface8Impl *) pDestinationSurface;
-
-    HRESULT              hr = WINED3D_OK;
     enum wined3d_format_id srcFormat, destFormat;
-    WINED3DSURFACE_DESC  winedesc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, src_surface %p, src_rects %p, rect_count %u, dst_surface %p, dst_points %p.\n",
             iface, pSourceSurface, pSourceRects, cRects, pDestinationSurface, pDestPoints);
@@ -938,11 +939,11 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CopyRects(LPDIRECT3DDEVICE8 iface, ID
      * destination texture is in WINED3DPOOL_DEFAULT. */
 
     wined3d_mutex_lock();
-    IWineD3DSurface_GetDesc(Source->wineD3DSurface, &winedesc);
-    srcFormat = winedesc.format;
+    IWineD3DSurface_GetDesc(Source->wineD3DSurface, &wined3d_desc);
+    srcFormat = wined3d_desc.format;
 
-    IWineD3DSurface_GetDesc(Dest->wineD3DSurface, &winedesc);
-    destFormat = winedesc.format;
+    IWineD3DSurface_GetDesc(Dest->wineD3DSurface, &wined3d_desc);
+    destFormat = wined3d_desc.format;
 
     /* Check that the source and destination formats match */
     if (srcFormat != destFormat && WINED3DFMT_UNKNOWN != destFormat)
@@ -976,7 +977,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CopyRects(LPDIRECT3DDEVICE8 iface, ID
     }
     wined3d_mutex_unlock();
 
-    return hr;
+    return WINED3D_OK;
 }
 
 static HRESULT WINAPI IDirect3DDevice8Impl_UpdateTexture(IDirect3DDevice8 *iface,
diff --git a/dlls/d3d8/surface.c b/dlls/d3d8/surface.c
index 93b9fbe..873fd56 100644
--- a/dlls/d3d8/surface.c
+++ b/dlls/d3d8/surface.c
@@ -187,24 +187,25 @@ static HRESULT WINAPI IDirect3DSurface8Impl_GetContainer(LPDIRECT3DSURFACE8 ifac
     return res;
 }
 
-static HRESULT WINAPI IDirect3DSurface8Impl_GetDesc(LPDIRECT3DSURFACE8 iface, D3DSURFACE_DESC *pDesc) {
+static HRESULT WINAPI IDirect3DSurface8Impl_GetDesc(IDirect3DSurface8 *iface, D3DSURFACE_DESC *desc)
+{
     IDirect3DSurface8Impl *This = (IDirect3DSurface8Impl *)iface;
-    WINED3DSURFACE_DESC    wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
 
-    TRACE("iface %p, desc %p.\n", iface, pDesc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
     wined3d_mutex_lock();
-    IWineD3DSurface_GetDesc(This->wineD3DSurface, &wined3ddesc);
+    IWineD3DSurface_GetDesc(This->wineD3DSurface, &wined3d_desc);
     wined3d_mutex_unlock();
 
-    pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-    pDesc->Type = wined3ddesc.resource_type;
-    pDesc->Usage = wined3ddesc.usage;
-    pDesc->Pool = wined3ddesc.pool;
-    pDesc->Size = wined3ddesc.size;
-    pDesc->MultiSampleType = wined3ddesc.multisample_type;
-    pDesc->Width = wined3ddesc.width;
-    pDesc->Height = wined3ddesc.height;
+    desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+    desc->Type = wined3d_desc.resource_type;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
+    desc->MultiSampleType = wined3d_desc.multisample_type;
+    desc->Width = wined3d_desc.width;
+    desc->Height = wined3d_desc.height;
 
     return D3D_OK;
 }
diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c
index b87b085..c358ed0 100644
--- a/dlls/d3d8/texture.c
+++ b/dlls/d3d8/texture.c
@@ -247,30 +247,29 @@ static DWORD WINAPI IDirect3DTexture8Impl_GetLevelCount(IDirect3DTexture8 *iface
     return ret;
 }
 
-/* IDirect3DTexture8 Interface follow: */
-static HRESULT WINAPI IDirect3DTexture8Impl_GetLevelDesc(IDirect3DTexture8 *iface, UINT Level,
-        D3DSURFACE_DESC *pDesc)
+static HRESULT WINAPI IDirect3DTexture8Impl_GetLevelDesc(IDirect3DTexture8 *iface,
+        UINT level, D3DSURFACE_DESC *desc)
 {
     IDirect3DTexture8Impl *This = impl_from_IDirect3DTexture8(iface);
-    WINED3DSURFACE_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
-    hr = IWineD3DTexture_GetLevelDesc(This->wineD3DTexture, Level, &wined3ddesc);
+    hr = IWineD3DTexture_GetLevelDesc(This->wineD3DTexture, level, &wined3d_desc);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-        pDesc->Type = wined3ddesc.resource_type;
-        pDesc->Usage = wined3ddesc.usage;
-        pDesc->Pool = wined3ddesc.pool;
-        pDesc->Size = wined3ddesc.size;
-        pDesc->MultiSampleType = wined3ddesc.multisample_type;
-        pDesc->Width = wined3ddesc.width;
-        pDesc->Height = wined3ddesc.height;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->Size = wined3d_desc.size;
+        desc->MultiSampleType = wined3d_desc.multisample_type;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
     }
 
     return hr;
diff --git a/dlls/d3d8/volume.c b/dlls/d3d8/volume.c
index 3fd67da..0e96722 100644
--- a/dlls/d3d8/volume.c
+++ b/dlls/d3d8/volume.c
@@ -186,25 +186,25 @@ static HRESULT WINAPI IDirect3DVolume8Impl_GetContainer(IDirect3DVolume8 *iface,
     return res;
 }
 
-static HRESULT WINAPI IDirect3DVolume8Impl_GetDesc(IDirect3DVolume8 *iface, D3DVOLUME_DESC *pDesc)
+static HRESULT WINAPI IDirect3DVolume8Impl_GetDesc(IDirect3DVolume8 *iface, D3DVOLUME_DESC *desc)
 {
     IDirect3DVolume8Impl *This = impl_from_IDirect3DVolume8(iface);
-    WINED3DVOLUME_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
 
-    TRACE("iface %p, desc %p.\n", iface, pDesc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
     wined3d_mutex_lock();
-    IWineD3DVolume_GetDesc(This->wineD3DVolume, &wined3ddesc);
+    IWineD3DVolume_GetDesc(This->wineD3DVolume, &wined3d_desc);
     wined3d_mutex_unlock();
 
-    pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.Format);
-    pDesc->Type = wined3ddesc.Type;
-    pDesc->Usage = wined3ddesc.Usage;
-    pDesc->Pool = wined3ddesc.Pool;
-    pDesc->Size = wined3ddesc.Size;
-    pDesc->Width = wined3ddesc.Width;
-    pDesc->Height = wined3ddesc.Height;
-    pDesc->Depth = wined3ddesc.Depth;
+    desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+    desc->Type = wined3d_desc.resource_type;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
+    desc->Width = wined3d_desc.width;
+    desc->Height = wined3d_desc.height;
+    desc->Depth = wined3d_desc.depth;
 
     return D3D_OK;
 }
diff --git a/dlls/d3d8/volumetexture.c b/dlls/d3d8/volumetexture.c
index b4396a3..3e2ee58 100644
--- a/dlls/d3d8/volumetexture.c
+++ b/dlls/d3d8/volumetexture.c
@@ -224,28 +224,29 @@ static DWORD WINAPI IDirect3DVolumeTexture8Impl_GetLevelCount(LPDIRECT3DVOLUMETE
     return ret;
 }
 
-/* IDirect3DVolumeTexture8 Interface follow: */
-static HRESULT WINAPI IDirect3DVolumeTexture8Impl_GetLevelDesc(LPDIRECT3DVOLUMETEXTURE8 iface, UINT Level, D3DVOLUME_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DVolumeTexture8Impl_GetLevelDesc(IDirect3DVolumeTexture8 *iface,
+        UINT level, D3DVOLUME_DESC *desc)
+{
     IDirect3DVolumeTexture8Impl *This = (IDirect3DVolumeTexture8Impl *)iface;
-    WINED3DVOLUME_DESC     wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
-    hr = IWineD3DVolumeTexture_GetLevelDesc(This->wineD3DVolumeTexture, Level, &wined3ddesc);
+    hr = IWineD3DVolumeTexture_GetLevelDesc(This->wineD3DVolumeTexture, level, &wined3d_desc);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.Format);
-        pDesc->Type = wined3ddesc.Type;
-        pDesc->Usage = wined3ddesc.Usage;
-        pDesc->Pool = wined3ddesc.Pool;
-        pDesc->Size = wined3ddesc.Size;
-        pDesc->Width = wined3ddesc.Width;
-        pDesc->Height = wined3ddesc.Height;
-        pDesc->Depth = wined3ddesc.Depth;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->Size = wined3d_desc.size;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
+        desc->Depth = wined3d_desc.depth;
     }
 
     return hr;
diff --git a/dlls/d3d9/buffer.c b/dlls/d3d9/buffer.c
index 77234f8..a3bf3db 100644
--- a/dlls/d3d9/buffer.c
+++ b/dlls/d3d9/buffer.c
@@ -211,7 +211,7 @@ static HRESULT WINAPI d3d9_vertexbuffer_Unlock(IDirect3DVertexBuffer9 *iface)
 static HRESULT WINAPI d3d9_vertexbuffer_GetDesc(IDirect3DVertexBuffer9 *iface, D3DVERTEXBUFFER_DESC *desc)
 {
     IDirect3DVertexBuffer9Impl *buffer = (IDirect3DVertexBuffer9Impl *)iface;
-    WINED3DBUFFER_DESC wined3d_desc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, desc %p.\n", iface, desc);
 
@@ -220,9 +220,9 @@ static HRESULT WINAPI d3d9_vertexbuffer_GetDesc(IDirect3DVertexBuffer9 *iface, D
     wined3d_mutex_unlock();
 
     desc->Format = D3DFMT_VERTEXDATA;
-    desc->Usage = wined3d_desc.Usage;
-    desc->Pool = wined3d_desc.Pool;
-    desc->Size = wined3d_desc.Size;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
     desc->Type = D3DRTYPE_VERTEXBUFFER;
     desc->FVF = buffer->fvf;
 
@@ -473,7 +473,7 @@ static HRESULT WINAPI d3d9_indexbuffer_Unlock(IDirect3DIndexBuffer9 *iface)
 static HRESULT WINAPI d3d9_indexbuffer_GetDesc(IDirect3DIndexBuffer9 *iface, D3DINDEXBUFFER_DESC *desc)
 {
     IDirect3DIndexBuffer9Impl *buffer = (IDirect3DIndexBuffer9Impl *)iface;
-    WINED3DBUFFER_DESC wined3d_desc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, desc %p.\n", iface, desc);
 
@@ -482,9 +482,9 @@ static HRESULT WINAPI d3d9_indexbuffer_GetDesc(IDirect3DIndexBuffer9 *iface, D3D
     wined3d_mutex_unlock();
 
     desc->Format = d3dformat_from_wined3dformat(buffer->format);
-    desc->Usage = wined3d_desc.Usage;
-    desc->Pool = wined3d_desc.Pool;
-    desc->Size = wined3d_desc.Size;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Size = wined3d_desc.size;
     desc->Type = D3DRTYPE_INDEXBUFFER;
 
     return D3D_OK;
diff --git a/dlls/d3d9/cubetexture.c b/dlls/d3d9/cubetexture.c
index 3efd98d..583efb1 100644
--- a/dlls/d3d9/cubetexture.c
+++ b/dlls/d3d9/cubetexture.c
@@ -266,27 +266,29 @@ static void WINAPI IDirect3DCubeTexture9Impl_GenerateMipSubLevels(LPDIRECT3DCUBE
 }
 
 /* IDirect3DCubeTexture9 Interface follow: */
-static HRESULT WINAPI IDirect3DCubeTexture9Impl_GetLevelDesc(LPDIRECT3DCUBETEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DCubeTexture9Impl_GetLevelDesc(IDirect3DCubeTexture9 *iface,
+        UINT level, D3DSURFACE_DESC *desc)
+{
     IDirect3DCubeTexture9Impl *This = (IDirect3DCubeTexture9Impl *)iface;
-    WINED3DSURFACE_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
-    hr = IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, Level, &wined3ddesc);
+    hr = IWineD3DCubeTexture_GetLevelDesc(This->wineD3DCubeTexture, level, &wined3d_desc);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-        pDesc->Type = wined3ddesc.resource_type;
-        pDesc->Usage = wined3ddesc.usage;
-        pDesc->Pool = wined3ddesc.pool;
-        pDesc->MultiSampleType = wined3ddesc.multisample_type;
-        pDesc->MultiSampleQuality = wined3ddesc.multisample_quality;
-        pDesc->Width = wined3ddesc.width;
-        pDesc->Height = wined3ddesc.height;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->MultiSampleType = wined3d_desc.multisample_type;
+        desc->MultiSampleQuality = wined3d_desc.multisample_quality;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
     }
 
     return hr;
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index 5236e74..1dd6895 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -1070,10 +1070,7 @@ static HRESULT WINAPI IDirect3DDevice9Impl_ColorFill(IDirect3DDevice9Ex *iface,
     };
     IDirect3DDevice9Impl *This = (IDirect3DDevice9Impl *)iface;
     IDirect3DSurface9Impl *surface = (IDirect3DSurface9Impl *)pSurface;
-    WINED3DPOOL pool;
-    WINED3DRESOURCETYPE restype;
-    DWORD usage;
-    WINED3DSURFACE_DESC desc;
+    struct wined3d_resource_desc desc;
     HRESULT hr;
 
     TRACE("iface %p, surface %p, rect %p, color 0x%08x.\n", iface, pSurface, pRect, color);
@@ -1081,14 +1078,12 @@ static HRESULT WINAPI IDirect3DDevice9Impl_ColorFill(IDirect3DDevice9Ex *iface,
     wined3d_mutex_lock();
 
     IWineD3DSurface_GetDesc(surface->wineD3DSurface, &desc);
-    usage = desc.usage;
-    pool = desc.pool;
-    restype = desc.resource_type;
 
-    /* This method is only allowed with surfaces that are render targets, or offscreen plain surfaces
-     * in D3DPOOL_DEFAULT
-     */
-    if(!(usage & WINED3DUSAGE_RENDERTARGET) && (pool != WINED3DPOOL_DEFAULT || restype != WINED3DRTYPE_SURFACE)) {
+    /* This method is only allowed with surfaces that are render targets, or
+     * offscreen plain surfaces in D3DPOOL_DEFAULT. */
+    if (!(desc.usage & WINED3DUSAGE_RENDERTARGET)
+            && (desc.pool != WINED3DPOOL_DEFAULT || desc.resource_type != WINED3DRTYPE_SURFACE))
+    {
         wined3d_mutex_unlock();
         WARN("Surface is not a render target, or not a stand-alone D3DPOOL_DEFAULT surface\n");
         return D3DERR_INVALIDCALL;
diff --git a/dlls/d3d9/surface.c b/dlls/d3d9/surface.c
index 4ec6104..7e1294c 100644
--- a/dlls/d3d9/surface.c
+++ b/dlls/d3d9/surface.c
@@ -239,24 +239,25 @@ static HRESULT WINAPI IDirect3DSurface9Impl_GetContainer(LPDIRECT3DSURFACE9 ifac
     return res;
 }
 
-static HRESULT WINAPI IDirect3DSurface9Impl_GetDesc(LPDIRECT3DSURFACE9 iface, D3DSURFACE_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DSurface9Impl_GetDesc(IDirect3DSurface9 *iface, D3DSURFACE_DESC *desc)
+{
     IDirect3DSurface9Impl *This = (IDirect3DSurface9Impl *)iface;
-    WINED3DSURFACE_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
 
-    TRACE("iface %p, desc %p.\n", iface, pDesc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
     wined3d_mutex_lock();
-    IWineD3DSurface_GetDesc(This->wineD3DSurface, &wined3ddesc);
+    IWineD3DSurface_GetDesc(This->wineD3DSurface, &wined3d_desc);
     wined3d_mutex_unlock();
 
-    pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-    pDesc->Type = wined3ddesc.resource_type;
-    pDesc->Usage = wined3ddesc.usage;
-    pDesc->Pool = wined3ddesc.pool;
-    pDesc->MultiSampleType = wined3ddesc.multisample_type;
-    pDesc->MultiSampleQuality = wined3ddesc.multisample_quality;
-    pDesc->Width = wined3ddesc.width;
-    pDesc->Height = wined3ddesc.height;
+    desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+    desc->Type = wined3d_desc.resource_type;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->MultiSampleType = wined3d_desc.multisample_type;
+    desc->MultiSampleQuality = wined3d_desc.multisample_quality;
+    desc->Width = wined3d_desc.width;
+    desc->Height = wined3d_desc.height;
 
     return D3D_OK;
 }
diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c
index 74ac2f8..c7696a3 100644
--- a/dlls/d3d9/texture.c
+++ b/dlls/d3d9/texture.c
@@ -262,28 +262,29 @@ static void WINAPI IDirect3DTexture9Impl_GenerateMipSubLevels(LPDIRECT3DTEXTURE9
     wined3d_mutex_unlock();
 }
 
-/* IDirect3DTexture9 Interface follow: */
-static HRESULT WINAPI IDirect3DTexture9Impl_GetLevelDesc(LPDIRECT3DTEXTURE9 iface, UINT Level, D3DSURFACE_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DTexture9Impl_GetLevelDesc(IDirect3DTexture9 *iface,
+        UINT level, D3DSURFACE_DESC *desc)
+{
     IDirect3DTexture9Impl *This = (IDirect3DTexture9Impl *)iface;
-    WINED3DSURFACE_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
-    hr = IWineD3DTexture_GetLevelDesc(This->wineD3DTexture, Level, &wined3ddesc);
+    hr = IWineD3DTexture_GetLevelDesc(This->wineD3DTexture, level, &wined3d_desc);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.format);
-        pDesc->Type = wined3ddesc.resource_type;
-        pDesc->Usage = wined3ddesc.usage;
-        pDesc->Pool = wined3ddesc.pool;
-        pDesc->MultiSampleType = wined3ddesc.multisample_type;
-        pDesc->MultiSampleQuality = wined3ddesc.multisample_quality;
-        pDesc->Width = wined3ddesc.width;
-        pDesc->Height = wined3ddesc.height;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->MultiSampleType = wined3d_desc.multisample_type;
+        desc->MultiSampleQuality = wined3d_desc.multisample_quality;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
     }
 
     return hr;
diff --git a/dlls/d3d9/volume.c b/dlls/d3d9/volume.c
index 643238a..c80b533 100644
--- a/dlls/d3d9/volume.c
+++ b/dlls/d3d9/volume.c
@@ -176,25 +176,26 @@ static HRESULT WINAPI IDirect3DVolume9Impl_GetContainer(LPDIRECT3DVOLUME9 iface,
     return res;
 }
 
-static HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(LPDIRECT3DVOLUME9 iface, D3DVOLUME_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DVolume9Impl_GetDesc(IDirect3DVolume9 *iface, D3DVOLUME_DESC *desc)
+{
     IDirect3DVolume9Impl *This = (IDirect3DVolume9Impl *)iface;
-    WINED3DVOLUME_DESC wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
 
-    TRACE("iface %p, desc %p.\n", iface, pDesc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
     wined3d_mutex_lock();
 
-    IWineD3DVolume_GetDesc(This->wineD3DVolume, &wined3ddesc);
+    IWineD3DVolume_GetDesc(This->wineD3DVolume, &wined3d_desc);
 
     wined3d_mutex_unlock();
 
-    pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.Format);
-    pDesc->Type = wined3ddesc.Type;
-    pDesc->Usage = wined3ddesc.Usage;
-    pDesc->Pool = wined3ddesc.Pool;
-    pDesc->Width = wined3ddesc.Width;
-    pDesc->Height = wined3ddesc.Height;
-    pDesc->Depth = wined3ddesc.Depth;
+    desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+    desc->Type = wined3d_desc.resource_type;
+    desc->Usage = wined3d_desc.usage;
+    desc->Pool = wined3d_desc.pool;
+    desc->Width = wined3d_desc.width;
+    desc->Height = wined3d_desc.height;
+    desc->Depth = wined3d_desc.depth;
 
     return D3D_OK;
 }
diff --git a/dlls/d3d9/volumetexture.c b/dlls/d3d9/volumetexture.c
index fed7fc8..b1b43a9 100644
--- a/dlls/d3d9/volumetexture.c
+++ b/dlls/d3d9/volumetexture.c
@@ -287,29 +287,30 @@ static void WINAPI IDirect3DVolumeTexture9Impl_GenerateMipSubLevels(LPDIRECT3DVO
     wined3d_mutex_unlock();
 }
 
-/* IDirect3DVolumeTexture9 Interface follow: */
-static HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetLevelDesc(LPDIRECT3DVOLUMETEXTURE9 iface, UINT Level, D3DVOLUME_DESC* pDesc) {
+static HRESULT WINAPI IDirect3DVolumeTexture9Impl_GetLevelDesc(IDirect3DVolumeTexture9 *iface,
+        UINT level, D3DVOLUME_DESC *desc)
+{
     IDirect3DVolumeTexture9Impl *This = (IDirect3DVolumeTexture9Impl *)iface;
-    WINED3DVOLUME_DESC     wined3ddesc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
 
-    TRACE("iface %p, level %u, desc %p.\n", iface, Level, pDesc);
+    TRACE("iface %p, level %u, desc %p.\n", iface, level, desc);
 
     wined3d_mutex_lock();
 
-    hr = IWineD3DVolumeTexture_GetLevelDesc(This->wineD3DVolumeTexture, Level, &wined3ddesc);
+    hr = IWineD3DVolumeTexture_GetLevelDesc(This->wineD3DVolumeTexture, level, &wined3d_desc);
 
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        pDesc->Format = d3dformat_from_wined3dformat(wined3ddesc.Format);
-        pDesc->Type = wined3ddesc.Type;
-        pDesc->Usage = wined3ddesc.Usage;
-        pDesc->Pool = wined3ddesc.Pool;
-        pDesc->Width = wined3ddesc.Width;
-        pDesc->Height = wined3ddesc.Height;
-        pDesc->Depth = wined3ddesc.Depth;
+        desc->Format = d3dformat_from_wined3dformat(wined3d_desc.format);
+        desc->Type = wined3d_desc.resource_type;
+        desc->Usage = wined3d_desc.usage;
+        desc->Pool = wined3d_desc.pool;
+        desc->Width = wined3d_desc.width;
+        desc->Height = wined3d_desc.height;
+        desc->Depth = wined3d_desc.depth;
     }
 
     return hr;
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index aeabe59..cc011c1 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2515,6 +2515,7 @@ static HRESULT WINAPI ddraw7_StartModeTest(IDirectDraw7 *iface, SIZE *Modes, DWO
 HRESULT WINAPI ddraw_recreate_surfaces_cb(IDirectDrawSurface7 *surf, DDSURFACEDESC2 *desc, void *Context)
 {
     IDirectDrawSurfaceImpl *surfImpl = (IDirectDrawSurfaceImpl *)surf;
+    struct wined3d_resource_desc wined3d_desc;
     IDirectDrawImpl *This = surfImpl->ddraw;
     struct wined3d_clipper *clipper = NULL;
     IWineD3DSurface *wineD3DSurface;
@@ -2522,16 +2523,6 @@ HRESULT WINAPI ddraw_recreate_surfaces_cb(IDirectDrawSurface7 *surf, DDSURFACEDE
     void *parent;
     HRESULT hr;
 
-    WINED3DSURFACE_DESC     Desc;
-    enum wined3d_format_id Format;
-    DWORD                   Usage;
-    WINED3DPOOL             Pool;
-
-    WINED3DMULTISAMPLE_TYPE MultiSampleType;
-    DWORD                   MultiSampleQuality;
-    UINT                    Width;
-    UINT                    Height;
-
     TRACE("surface %p, surface_desc %p, context %p.\n",
             surf, desc, Context);
 
@@ -2549,20 +2540,13 @@ HRESULT WINAPI ddraw_recreate_surfaces_cb(IDirectDrawSurface7 *surf, DDSURFACEDE
     IWineD3DSurface_GetClipper(wineD3DSurface, &clipper);
 
     /* Get the surface properties */
-    IWineD3DSurface_GetDesc(wineD3DSurface, &Desc);
-
-    Format = Desc.format;
-    Usage = Desc.usage;
-    Pool = Desc.pool;
-    MultiSampleType = Desc.multisample_type;
-    MultiSampleQuality = Desc.multisample_quality;
-    Width = Desc.width;
-    Height = Desc.height;
+    IWineD3DSurface_GetDesc(wineD3DSurface, &wined3d_desc);
 
     parent = IWineD3DSurface_GetParent(wineD3DSurface);
-    hr = IWineD3DDevice_CreateSurface(This->wineD3DDevice, Width, Height, Format, TRUE /* Lockable */,
-            FALSE /* Discard */, surfImpl->mipmap_level, Usage, Pool, MultiSampleType, MultiSampleQuality,
-            This->ImplType, parent, &ddraw_null_wined3d_parent_ops, &surfImpl->WineD3DSurface);
+    hr = IWineD3DDevice_CreateSurface(This->wineD3DDevice, wined3d_desc.width, wined3d_desc.height,
+            wined3d_desc.format, TRUE, FALSE, surfImpl->mipmap_level, wined3d_desc.usage, wined3d_desc.pool,
+            wined3d_desc.multisample_type, wined3d_desc.multisample_quality, This->ImplType,
+            parent, &ddraw_null_wined3d_parent_ops, &surfImpl->WineD3DSurface);
     if (FAILED(hr))
     {
         surfImpl->WineD3DSurface = wineD3DSurface;
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index deac420..9632947 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -2497,7 +2497,7 @@ IDirect3DDeviceImpl_3_GetRenderState(IDirect3DDevice3 *iface,
                 HRESULT hr;
                 BOOL tex_alpha = FALSE;
                 IWineD3DBaseTexture *tex = NULL;
-                WINED3DSURFACE_DESC desc;
+                struct wined3d_resource_desc desc;
                 DDPIXELFORMAT ddfmt;
 
                 hr = IWineD3DDevice_GetTexture(This->wineD3DDevice,
@@ -2805,7 +2805,7 @@ IDirect3DDeviceImpl_3_SetRenderState(IDirect3DDevice3 *iface,
                 {
                     BOOL tex_alpha = FALSE;
                     IWineD3DBaseTexture *tex = NULL;
-                    WINED3DSURFACE_DESC desc;
+                    struct wined3d_resource_desc desc;
                     DDPIXELFORMAT ddfmt;
 
                     hr = IWineD3DDevice_GetTexture(This->wineD3DDevice,
@@ -4146,9 +4146,9 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface,
     IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface;
     IDirect3DVertexBufferImpl *vb = (IDirect3DVertexBufferImpl *)D3DVertexBuf;
     DWORD stride = get_flexible_vertex_size(vb->fvf);
+    struct wined3d_resource_desc desc;
     WORD *LockedIndices;
     HRESULT hr;
-    WINED3DBUFFER_DESC desc;
 
     TRACE("iface %p, primitive_type %#x, vb %p, start_vertex %u, vertex_count %u, indices %p, index_count %u, flags %#x.\n",
             iface, PrimitiveType, D3DVertexBuf, StartVertex, NumVertices, Indices, IndexCount, Flags);
@@ -4174,9 +4174,9 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface,
     /* check that the buffer is large enough to hold the indices,
      * reallocate if necessary. */
     wined3d_buffer_get_desc(This->indexbuffer, &desc);
-    if (desc.Size < IndexCount * sizeof(WORD))
+    if (desc.size < IndexCount * sizeof(WORD))
     {
-        UINT size = max(desc.Size * 2, IndexCount * sizeof(WORD));
+        UINT size = max(desc.size * 2, IndexCount * sizeof(WORD));
         struct wined3d_buffer *buffer;
 
         TRACE("Growing index buffer to %u bytes\n", size);
@@ -4575,9 +4575,9 @@ IDirect3DDeviceImpl_3_SetTexture(IDirect3DDevice3 *iface,
     {
         /* This fixup is required by the way D3DTBLEND_MODULATE maps to texture stage states.
            See IDirect3DDeviceImpl_3_SetRenderState for details. */
+        struct wined3d_resource_desc desc;
         BOOL tex_alpha = FALSE;
         IWineD3DBaseTexture *tex = NULL;
-        WINED3DSURFACE_DESC desc;
         DDPIXELFORMAT ddfmt;
         HRESULT result;
 
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index dca4014..61a0215 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -3499,8 +3499,8 @@ static const struct IDirect3DTextureVtbl d3d_texture1_vtbl =
 HRESULT ddraw_surface_init(IDirectDrawSurfaceImpl *surface, IDirectDrawImpl *ddraw,
         DDSURFACEDESC2 *desc, UINT mip_level, WINED3DSURFTYPE surface_type)
 {
+    struct wined3d_resource_desc wined3d_desc;
     WINED3DPOOL pool = WINED3DPOOL_DEFAULT;
-    WINED3DSURFACE_DESC wined3d_desc;
     enum wined3d_format_id format;
     DWORD usage = 0;
     HRESULT hr;
diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c
index bcd9121..8874ac8 100644
--- a/dlls/ddraw/vertexbuffer.c
+++ b/dlls/ddraw/vertexbuffer.c
@@ -208,7 +208,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface,
                                DWORD *Size)
 {
     IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
-    WINED3DBUFFER_DESC Desc;
+    struct wined3d_resource_desc wined3d_desc;
     HRESULT hr;
     DWORD wined3d_flags = 0;
 
@@ -226,8 +226,8 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface,
     if(Size)
     {
         /* Get the size, for returning it, and for locking */
-        wined3d_buffer_get_desc(This->wineD3DVertexBuffer, &Desc);
-        *Size = Desc.Size;
+        wined3d_buffer_get_desc(This->wineD3DVertexBuffer, &wined3d_desc);
+        *Size = wined3d_desc.size;
     }
 
     hr = wined3d_buffer_map(This->wineD3DVertexBuffer, 0, 0, (BYTE **)Data, wined3d_flags);
@@ -400,20 +400,20 @@ IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface,
                                               D3DVERTEXBUFFERDESC *Desc)
 {
     IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
-    WINED3DBUFFER_DESC WDesc;
+    struct wined3d_resource_desc wined3d_desc;
 
     TRACE("iface %p, desc %p.\n", iface, Desc);
 
     if(!Desc) return DDERR_INVALIDPARAMS;
 
     EnterCriticalSection(&ddraw_cs);
-    wined3d_buffer_get_desc(This->wineD3DVertexBuffer, &WDesc);
+    wined3d_buffer_get_desc(This->wineD3DVertexBuffer, &wined3d_desc);
     LeaveCriticalSection(&ddraw_cs);
 
     /* Now fill the Desc structure */
     Desc->dwCaps = This->Caps;
     Desc->dwFVF = This->fvf;
-    Desc->dwNumVertices = WDesc.Size / get_flexible_vertex_size(This->fvf);
+    Desc->dwNumVertices = wined3d_desc.size / get_flexible_vertex_size(This->fvf);
 
     return D3D_OK;
 }
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index a3b7121..0ce2e72 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1395,14 +1395,20 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
     }
 }
 
-void CDECL wined3d_buffer_get_desc(const struct wined3d_buffer *buffer, WINED3DBUFFER_DESC *desc)
+void CDECL wined3d_buffer_get_desc(const struct wined3d_buffer *buffer, struct wined3d_resource_desc *desc)
 {
     TRACE("buffer %p, desc %p.\n", buffer, desc);
 
-    desc->Type = buffer->resource.resourceType;
-    desc->Usage = buffer->resource.usage;
-    desc->Pool = buffer->resource.pool;
-    desc->Size = buffer->resource.size;
+    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;
 }
 
 static const struct wined3d_resource_ops buffer_resource_ops =
diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c
index 165f6c0..5df720c 100644
--- a/dlls/wined3d/cubetexture.c
+++ b/dlls/wined3d/cubetexture.c
@@ -327,7 +327,7 @@ static BOOL WINAPI IWineD3DCubeTextureImpl_IsCondNP2(IWineD3DCubeTexture *iface)
 }
 
 static HRESULT WINAPI IWineD3DCubeTextureImpl_GetLevelDesc(IWineD3DCubeTexture *iface,
-        UINT sub_resource_idx, WINED3DSURFACE_DESC *desc)
+        UINT sub_resource_idx, struct wined3d_resource_desc *desc)
 {
     IWineD3DBaseTextureImpl *texture = (IWineD3DBaseTextureImpl *)iface;
     struct wined3d_resource *sub_resource;
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 3c1da53..3617009 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -1290,7 +1290,7 @@ void stateblock_init_default_state(struct wined3d_stateblock *stateblock)
         hr = IWineD3DSwapChain_GetBackBuffer(swapchain, 0, WINED3DBACKBUFFER_TYPE_MONO, &backbuffer);
         if (SUCCEEDED(hr) && backbuffer)
         {
-            WINED3DSURFACE_DESC desc;
+            struct wined3d_resource_desc desc;
 
             IWineD3DSurface_GetDesc(backbuffer, &desc);
             IWineD3DSurface_Release(backbuffer);
diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c
index 37a1309..7aa77aa 100644
--- a/dlls/wined3d/surface_base.c
+++ b/dlls/wined3d/surface_base.c
@@ -157,7 +157,7 @@ struct wined3d_resource * WINAPI IWineD3DBaseSurfaceImpl_GetResource(IWineD3DSur
     return &((IWineD3DSurfaceImpl *)iface)->resource;
 }
 
-void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, WINED3DSURFACE_DESC *desc)
+void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, struct wined3d_resource_desc *desc)
 {
     IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)iface;
 
@@ -172,6 +172,7 @@ void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, WINED3DSURFA
     desc->multisample_quality = surface->currentDesc.MultiSampleQuality;
     desc->width = surface->currentDesc.Width;
     desc->height = surface->currentDesc.Height;
+    desc->depth = 1;
 }
 
 HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD flags)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 6ed3c7d..1af3412 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -352,7 +352,7 @@ static BOOL WINAPI IWineD3DTextureImpl_IsCondNP2(IWineD3DTexture *iface) {
 }
 
 static HRESULT WINAPI IWineD3DTextureImpl_GetLevelDesc(IWineD3DTexture *iface,
-        UINT sub_resource_idx, WINED3DSURFACE_DESC *desc)
+        UINT sub_resource_idx, struct wined3d_resource_desc *desc)
 {
     IWineD3DBaseTextureImpl *texture = (IWineD3DBaseTextureImpl *)iface;
     struct wined3d_resource *sub_resource;
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
index e6f7687..6459dac 100644
--- a/dlls/wined3d/volume.c
+++ b/dlls/wined3d/volume.c
@@ -220,20 +220,22 @@ static WINED3DRESOURCETYPE WINAPI IWineD3DVolumeImpl_GetType(IWineD3DVolume *ifa
     return resource_get_type(&((IWineD3DVolumeImpl *)iface)->resource);
 }
 
-static void WINAPI IWineD3DVolumeImpl_GetDesc(IWineD3DVolume *iface, WINED3DVOLUME_DESC *desc)
+static void WINAPI IWineD3DVolumeImpl_GetDesc(IWineD3DVolume *iface, struct wined3d_resource_desc *desc)
 {
     IWineD3DVolumeImpl *volume = (IWineD3DVolumeImpl *)iface;
 
     TRACE("iface %p, desc %p.\n", iface, desc);
 
-    desc->Format = volume->resource.format->id;
-    desc->Type = volume->resource.resourceType;
-    desc->Usage = volume->resource.usage;
-    desc->Pool = volume->resource.pool;
-    desc->Size = volume->resource.size; /* dx8 only */
-    desc->Width = volume->currentDesc.Width;
-    desc->Height = volume->currentDesc.Height;
-    desc->Depth = volume->currentDesc.Depth;
+    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->currentDesc.Width;
+    desc->height = volume->currentDesc.Height;
+    desc->depth = volume->currentDesc.Depth;
 }
 
 static HRESULT WINAPI IWineD3DVolumeImpl_Map(IWineD3DVolume *iface,
diff --git a/dlls/wined3d/volumetexture.c b/dlls/wined3d/volumetexture.c
index a0eb4d0..9c6b57d 100644
--- a/dlls/wined3d/volumetexture.c
+++ b/dlls/wined3d/volumetexture.c
@@ -264,7 +264,7 @@ static BOOL WINAPI IWineD3DVolumeTextureImpl_IsCondNP2(IWineD3DVolumeTexture *if
 }
 
 static HRESULT WINAPI IWineD3DVolumeTextureImpl_GetLevelDesc(IWineD3DVolumeTexture *iface,
-        UINT sub_resource_idx, WINED3DVOLUME_DESC *desc)
+        UINT sub_resource_idx, struct wined3d_resource_desc *desc)
 {
     IWineD3DBaseTextureImpl *texture = (IWineD3DBaseTextureImpl *)iface;
     struct wined3d_resource *sub_resource;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index b11bd7b..8d5bbbf 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2214,7 +2214,7 @@ DWORD WINAPI IWineD3DBaseSurfaceImpl_SetPriority(IWineD3DSurface *iface, DWORD P
 DWORD WINAPI IWineD3DBaseSurfaceImpl_GetPriority(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
 WINED3DRESOURCETYPE WINAPI IWineD3DBaseSurfaceImpl_GetType(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
 struct wined3d_resource * WINAPI IWineD3DBaseSurfaceImpl_GetResource(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
-void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, WINED3DSURFACE_DESC *desc) DECLSPEC_HIDDEN;
+void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, struct wined3d_resource_desc *desc) DECLSPEC_HIDDEN;
 HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD flags) DECLSPEC_HIDDEN;
 HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD flags) DECLSPEC_HIDDEN;
 HRESULT WINAPI IWineD3DBaseSurfaceImpl_IsLost(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl
index bfd1a52..36addd6 100644
--- a/include/wine/wined3d.idl
+++ b/include/wine/wined3d.idl
@@ -1682,30 +1682,19 @@ typedef struct _WINED3DPRESENT_PARAMETERS
     BOOL AutoRestoreDisplayMode;
 } WINED3DPRESENT_PARAMETERS;
 
-typedef struct _WINED3DSURFACE_DESC
+struct wined3d_resource_desc
 {
-    enum wined3d_format_id format;
     WINED3DRESOURCETYPE resource_type;
+    enum wined3d_format_id format;
+    WINED3DMULTISAMPLE_TYPE multisample_type;
+    UINT multisample_quality;
     DWORD usage;
     WINED3DPOOL pool;
-    UINT size;
-    WINED3DMULTISAMPLE_TYPE multisample_type;
-    DWORD multisample_quality;
     UINT width;
     UINT height;
-} WINED3DSURFACE_DESC;
-
-typedef struct _WINED3DVOLUME_DESC
-{
-    enum wined3d_format_id Format;
-    WINED3DRESOURCETYPE Type;
-    DWORD Usage;
-    WINED3DPOOL Pool;
-    UINT Size;
-    UINT Width;
-    UINT Height;
-    UINT Depth;
-} WINED3DVOLUME_DESC;
+    UINT depth;
+    UINT size;
+};
 
 typedef struct _WINED3DCLIPSTATUS
 {
@@ -1835,14 +1824,6 @@ typedef struct WINED3DDEVINFO_VCACHE
                            non user modifiable (only valid if OptMethod==1) */
 } WINED3DDEVINFO_VCACHE;
 
-typedef struct _WINED3DBUFFER_DESC
-{
-    WINED3DRESOURCETYPE Type;
-    DWORD Usage;
-    WINED3DPOOL Pool;
-    UINT Size;
-} WINED3DBUFFER_DESC;
-
 typedef struct WineDirect3DStridedData
 {
     enum wined3d_format_id format;   /* Format of the data */
@@ -2246,7 +2227,7 @@ interface IWineD3DSurface : IWineD3DResource
     struct wined3d_resource *GetResource(
     );
     void GetDesc(
-        [out] WINED3DSURFACE_DESC *desc
+        [out] struct wined3d_resource_desc *desc
     );
     HRESULT Map(
         [out] WINED3DLOCKED_RECT *locked_rect,
@@ -2347,7 +2328,7 @@ interface IWineD3DSurface : IWineD3DResource
 interface IWineD3DVolume : IWineD3DResource
 {
     void GetDesc(
-        [out] WINED3DVOLUME_DESC *desc
+        [out] struct wined3d_resource_desc *desc
     );
     HRESULT Map(
         [out] WINED3DLOCKED_BOX *locked_box,
@@ -2392,7 +2373,7 @@ interface IWineD3DTexture : IWineD3DBaseTexture
 {
     HRESULT GetLevelDesc(
         [in] UINT sub_resource_idx,
-        [out] WINED3DSURFACE_DESC *desc
+        [out] struct wined3d_resource_desc *desc
     );
     HRESULT GetSurfaceLevel(
         [in] UINT sub_resource_idx,
@@ -2421,7 +2402,7 @@ interface IWineD3DCubeTexture : IWineD3DBaseTexture
 {
     HRESULT GetLevelDesc(
         [in] UINT sub_resource_idx,
-        [out] WINED3DSURFACE_DESC *desc
+        [out] struct wined3d_resource_desc *desc
     );
     HRESULT GetCubeMapSurface(
         [in] UINT sub_resource_idx,
@@ -2451,7 +2432,7 @@ interface IWineD3DVolumeTexture : IWineD3DBaseTexture
 {
     HRESULT GetLevelDesc(
         [in] UINT sub_resource_idx,
-        [out] WINED3DVOLUME_DESC *desc
+        [out] struct wined3d_resource_desc *desc
     );
     HRESULT GetVolumeLevel(
         [in] UINT sub_resource_idx,
@@ -3206,7 +3187,7 @@ HRESULT __cdecl wined3d_register_software_device(struct wined3d *wined3d, void *
 
 ULONG __cdecl wined3d_buffer_decref(struct wined3d_buffer *buffer);
 HRESULT __cdecl wined3d_buffer_free_private_data(struct wined3d_buffer *buffer, REFGUID guid);
-void __cdecl wined3d_buffer_get_desc(const struct wined3d_buffer *buffer, WINED3DBUFFER_DESC *desc);
+void __cdecl wined3d_buffer_get_desc(const struct wined3d_buffer *buffer, struct wined3d_resource_desc *desc);
 void * __cdecl wined3d_buffer_get_parent(const struct wined3d_buffer *buffer);
 DWORD __cdecl wined3d_buffer_get_priority(const struct wined3d_buffer *buffer);
 HRESULT __cdecl wined3d_buffer_get_private_data(const struct wined3d_buffer *buffer,
-- 
1.7.3.4




More information about the wine-patches mailing list