Henri Verbeet : wined3d: IWineD3DBuffer_GetDesc() should never fail.
Alexandre Julliard
julliard at winehq.org
Tue Sep 14 17:35:26 CDT 2010
Module: wine
Branch: master
Commit: fd7c1cbf052b428e694d9b49c7a4f60f0ea08b27
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fd7c1cbf052b428e694d9b49c7a4f60f0ea08b27
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Sep 14 13:38:38 2010 +0200
wined3d: IWineD3DBuffer_GetDesc() should never fail.
---
dlls/d3d8/buffer.c | 38 +++++++++++++++-----------------------
dlls/d3d9/buffer.c | 38 +++++++++++++++-----------------------
dlls/ddraw/device.c | 7 +++----
dlls/ddraw/vertexbuffer.c | 19 +++----------------
dlls/wined3d/buffer.c | 4 +---
include/wine/wined3d.idl | 2 +-
6 files changed, 38 insertions(+), 70 deletions(-)
diff --git a/dlls/d3d8/buffer.c b/dlls/d3d8/buffer.c
index 513c655..f7dc12d 100644
--- a/dlls/d3d8/buffer.c
+++ b/dlls/d3d8/buffer.c
@@ -212,25 +212,21 @@ static HRESULT WINAPI d3d8_vertexbuffer_GetDesc(IDirect3DVertexBuffer8 *iface, D
{
IDirect3DVertexBuffer8Impl *buffer = (IDirect3DVertexBuffer8Impl *)iface;
WINED3DBUFFER_DESC wined3d_desc;
- HRESULT hr;
TRACE("iface %p, desc %p.\n", iface, desc);
wined3d_mutex_lock();
- hr = IWineD3DBuffer_GetDesc(buffer->wineD3DVertexBuffer, &wined3d_desc);
+ IWineD3DBuffer_GetDesc(buffer->wineD3DVertexBuffer, &wined3d_desc);
wined3d_mutex_unlock();
- if (SUCCEEDED(hr))
- {
- desc->Type = D3DRTYPE_VERTEXBUFFER;
- desc->Usage = wined3d_desc.Usage;
- desc->Pool = wined3d_desc.Pool;
- desc->Size = wined3d_desc.Size;
- desc->FVF = buffer->fvf;
- desc->Format = D3DFMT_VERTEXDATA;
- }
+ desc->Type = D3DRTYPE_VERTEXBUFFER;
+ desc->Usage = wined3d_desc.Usage;
+ desc->Pool = wined3d_desc.Pool;
+ desc->Size = wined3d_desc.Size;
+ desc->FVF = buffer->fvf;
+ desc->Format = D3DFMT_VERTEXDATA;
- return hr;
+ return D3D_OK;
}
static const IDirect3DVertexBuffer8Vtbl Direct3DVertexBuffer8_Vtbl =
@@ -479,25 +475,21 @@ static HRESULT WINAPI d3d8_indexbuffer_Unlock(IDirect3DIndexBuffer8 *iface)
static HRESULT WINAPI d3d8_indexbuffer_GetDesc(IDirect3DIndexBuffer8 *iface, D3DINDEXBUFFER_DESC *desc)
{
IDirect3DIndexBuffer8Impl *buffer = (IDirect3DIndexBuffer8Impl *)iface;
- HRESULT hr;
WINED3DBUFFER_DESC wined3d_desc;
TRACE("iface %p, desc %p.\n", iface, desc);
wined3d_mutex_lock();
- hr = IWineD3DBuffer_GetDesc(buffer->wineD3DIndexBuffer, &wined3d_desc);
+ IWineD3DBuffer_GetDesc(buffer->wineD3DIndexBuffer, &wined3d_desc);
wined3d_mutex_unlock();
- if (SUCCEEDED(hr))
- {
- 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->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;
- return hr;
+ return D3D_OK;
}
static const IDirect3DIndexBuffer8Vtbl d3d8_indexbuffer_vtbl =
diff --git a/dlls/d3d9/buffer.c b/dlls/d3d9/buffer.c
index c70aae9..ac8c244 100644
--- a/dlls/d3d9/buffer.c
+++ b/dlls/d3d9/buffer.c
@@ -214,25 +214,21 @@ static HRESULT WINAPI d3d9_vertexbuffer_GetDesc(IDirect3DVertexBuffer9 *iface, D
{
IDirect3DVertexBuffer9Impl *buffer = (IDirect3DVertexBuffer9Impl *)iface;
WINED3DBUFFER_DESC wined3d_desc;
- HRESULT hr;
TRACE("iface %p, desc %p.\n", iface, desc);
wined3d_mutex_lock();
- hr = IWineD3DBuffer_GetDesc(buffer->wineD3DVertexBuffer, &wined3d_desc);
+ IWineD3DBuffer_GetDesc(buffer->wineD3DVertexBuffer, &wined3d_desc);
wined3d_mutex_unlock();
- if (SUCCEEDED(hr))
- {
- desc->Format = D3DFMT_VERTEXDATA;
- desc->Usage = wined3d_desc.Usage;
- desc->Pool = wined3d_desc.Pool;
- desc->Size = wined3d_desc.Size;
- desc->Type = D3DRTYPE_VERTEXBUFFER;
- desc->FVF = buffer->fvf;
- }
+ desc->Format = D3DFMT_VERTEXDATA;
+ desc->Usage = wined3d_desc.Usage;
+ desc->Pool = wined3d_desc.Pool;
+ desc->Size = wined3d_desc.Size;
+ desc->Type = D3DRTYPE_VERTEXBUFFER;
+ desc->FVF = buffer->fvf;
- return hr;
+ return D3D_OK;
}
static const IDirect3DVertexBuffer9Vtbl d3d9_vertexbuffer_vtbl =
@@ -482,24 +478,20 @@ static HRESULT WINAPI d3d9_indexbuffer_GetDesc(IDirect3DIndexBuffer9 *iface, D3D
{
IDirect3DIndexBuffer9Impl *buffer = (IDirect3DIndexBuffer9Impl *)iface;
WINED3DBUFFER_DESC wined3d_desc;
- HRESULT hr;
TRACE("iface %p, desc %p.\n", iface, desc);
wined3d_mutex_lock();
- hr = IWineD3DBuffer_GetDesc(buffer->wineD3DIndexBuffer, &wined3d_desc);
+ IWineD3DBuffer_GetDesc(buffer->wineD3DIndexBuffer, &wined3d_desc);
wined3d_mutex_unlock();
- if (SUCCEEDED(hr))
- {
- desc->Format = d3dformat_from_wined3dformat(buffer->format);
- desc->Usage = wined3d_desc.Usage;
- desc->Pool = wined3d_desc.Pool;
- desc->Size = wined3d_desc.Size;
- desc->Type = D3DRTYPE_INDEXBUFFER;
- }
+ desc->Format = d3dformat_from_wined3dformat(buffer->format);
+ desc->Usage = wined3d_desc.Usage;
+ desc->Pool = wined3d_desc.Pool;
+ desc->Size = wined3d_desc.Size;
+ desc->Type = D3DRTYPE_INDEXBUFFER;
- return hr;
+ return D3D_OK;
}
static const IDirect3DIndexBuffer9Vtbl d3d9_indexbuffer_vtbl =
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 95526bd..8e25543 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -4345,10 +4345,9 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface,
}
/* check that the buffer is large enough to hold the indices,
- * reallocate if necessary.
- */
- hr = IWineD3DBuffer_GetDesc(This->indexbuffer, &desc);
- if(desc.Size < IndexCount * sizeof(WORD))
+ * reallocate if necessary. */
+ IWineD3DBuffer_GetDesc(This->indexbuffer, &desc);
+ if (desc.Size < IndexCount * sizeof(WORD))
{
UINT size = max(desc.Size * 2, IndexCount * sizeof(WORD));
IWineD3DBuffer *buffer;
diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c
index b40faa2..36087f2 100644
--- a/dlls/ddraw/vertexbuffer.c
+++ b/dlls/ddraw/vertexbuffer.c
@@ -232,13 +232,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface,
if(Size)
{
/* Get the size, for returning it, and for locking */
- hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &Desc);
- if(hr != D3D_OK)
- {
- ERR("(%p) IWineD3DBuffer::GetDesc failed with hr=%08x\n", This, hr);
- LeaveCriticalSection(&ddraw_cs);
- return hr;
- }
+ IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &Desc);
*Size = Desc.Size;
}
@@ -425,26 +419,19 @@ IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface,
{
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
WINED3DBUFFER_DESC WDesc;
- HRESULT hr;
TRACE("iface %p, desc %p.\n", iface, Desc);
if(!Desc) return DDERR_INVALIDPARAMS;
EnterCriticalSection(&ddraw_cs);
- hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &WDesc);
- if(hr != D3D_OK)
- {
- ERR("(%p) IWineD3DBuffer::GetDesc failed with hr=%08x\n", This, hr);
- LeaveCriticalSection(&ddraw_cs);
- return hr;
- }
+ IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &WDesc);
+ 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);
- LeaveCriticalSection(&ddraw_cs);
return D3D_OK;
}
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 166508a..e9b2172 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1413,7 +1413,7 @@ static HRESULT STDMETHODCALLTYPE buffer_Unmap(IWineD3DBuffer *iface)
return WINED3D_OK;
}
-static HRESULT STDMETHODCALLTYPE buffer_GetDesc(IWineD3DBuffer *iface, WINED3DBUFFER_DESC *desc)
+static void STDMETHODCALLTYPE buffer_GetDesc(IWineD3DBuffer *iface, WINED3DBUFFER_DESC *desc)
{
struct wined3d_buffer *This = (struct wined3d_buffer *)iface;
@@ -1423,8 +1423,6 @@ static HRESULT STDMETHODCALLTYPE buffer_GetDesc(IWineD3DBuffer *iface, WINED3DBU
desc->Usage = This->resource.usage;
desc->Pool = This->resource.pool;
desc->Size = This->resource.size;
-
- return WINED3D_OK;
}
static const struct IWineD3DBufferVtbl wined3d_buffer_vtbl =
diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl
index 80dabac..53bfeae 100644
--- a/include/wine/wined3d.idl
+++ b/include/wine/wined3d.idl
@@ -2736,7 +2736,7 @@ interface IWineD3DBuffer : IWineD3DResource
);
HRESULT Unmap(
);
- HRESULT GetDesc(
+ void GetDesc(
[out] WINED3DBUFFER_DESC *desc
);
}
More information about the wine-cvs
mailing list