From dc80a3ede53467f98842d9502eba46e84e996a98 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20D=C3=B6singer?= Date: Mon, 6 Apr 2009 13:28:02 +0200 Subject: [PATCH] d3d: Unify WINED3DVERTEXBUFFER_DESC and WINED3DINDEXBUFFER_DESC. --- dlls/d3d8/indexbuffer.c | 8 ++++++-- dlls/d3d8/vertexbuffer.c | 9 +++++++-- dlls/d3d9/indexbuffer.c | 19 +++++++++++-------- dlls/d3d9/vertexbuffer.c | 9 +++++++-- dlls/ddraw/device.c | 4 ++-- dlls/ddraw/vertexbuffer.c | 6 +++--- dlls/wined3d/buffer.c | 4 ++-- dlls/wined3d/device.c | 2 +- include/wine/wined3d.idl | 23 ++++++----------------- 9 files changed, 45 insertions(+), 39 deletions(-) diff --git a/dlls/d3d8/indexbuffer.c b/dlls/d3d8/indexbuffer.c index cf4f6023795..a35eb1c935c 100644 --- a/dlls/d3d8/indexbuffer.c +++ b/dlls/d3d8/indexbuffer.c @@ -180,15 +180,19 @@ static HRESULT WINAPI IDirect3DIndexBuffer8Impl_Unlock(LPDIRECT3DINDEXBUFFER8 if static HRESULT WINAPI IDirect3DIndexBuffer8Impl_GetDesc(LPDIRECT3DINDEXBUFFER8 iface, D3DINDEXBUFFER_DESC *pDesc) { IDirect3DIndexBuffer8Impl *This = (IDirect3DIndexBuffer8Impl *)iface; HRESULT hr; + WINED3DBUFFER_DESC desc; TRACE("(%p) Relay\n", This); EnterCriticalSection(&d3d8_cs); - hr = IWineD3DIndexBuffer_GetDesc(This->wineD3DIndexBuffer, (WINED3DINDEXBUFFER_DESC *) pDesc); + hr = IWineD3DIndexBuffer_GetDesc(This->wineD3DIndexBuffer, &desc); LeaveCriticalSection(&d3d8_cs); if (SUCCEEDED(hr)) { - pDesc->Format = d3dformat_from_wined3dformat(pDesc->Format); + pDesc->Format = d3dformat_from_wined3dformat(desc.Format); pDesc->Type = D3DRTYPE_INDEXBUFFER; + pDesc->Usage = desc.Usage; + pDesc->Pool = desc.Pool; + pDesc->Size = desc.Size; } return hr; diff --git a/dlls/d3d8/vertexbuffer.c b/dlls/d3d8/vertexbuffer.c index 3a95474c9f5..bcbb47f6e2a 100644 --- a/dlls/d3d8/vertexbuffer.c +++ b/dlls/d3d8/vertexbuffer.c @@ -182,15 +182,20 @@ static HRESULT WINAPI IDirect3DVertexBuffer8Impl_Unlock(LPDIRECT3DVERTEXBUFFER8 static HRESULT WINAPI IDirect3DVertexBuffer8Impl_GetDesc(LPDIRECT3DVERTEXBUFFER8 iface, D3DVERTEXBUFFER_DESC *pDesc) { IDirect3DVertexBuffer8Impl *This = (IDirect3DVertexBuffer8Impl *)iface; HRESULT hr; + WINED3DBUFFER_DESC desc; TRACE("(%p) Relay\n", This); EnterCriticalSection(&d3d8_cs); - hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, (WINED3DVERTEXBUFFER_DESC *)pDesc); + hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &desc); LeaveCriticalSection(&d3d8_cs); if (SUCCEEDED(hr)) { pDesc->Type = D3DRTYPE_VERTEXBUFFER; - pDesc->Format = d3dformat_from_wined3dformat(pDesc->Format); + pDesc->Usage = desc.Usage; + pDesc->Pool = desc.Pool; + pDesc->Size = desc.Size; + pDesc->FVF = desc.FVF; + pDesc->Format = d3dformat_from_wined3dformat(desc.Format); } return hr; diff --git a/dlls/d3d9/indexbuffer.c b/dlls/d3d9/indexbuffer.c index 2f3ca644039..3bb997df656 100644 --- a/dlls/d3d9/indexbuffer.c +++ b/dlls/d3d9/indexbuffer.c @@ -150,13 +150,9 @@ static void WINAPI IDirect3DIndexBuffer9Impl_PreLoad(LPDIRECT3DINDEXBUFFER9 ifac static D3DRESOURCETYPE WINAPI IDirect3DIndexBuffer9Impl_GetType(LPDIRECT3DINDEXBUFFER9 iface) { IDirect3DIndexBuffer9Impl *This = (IDirect3DIndexBuffer9Impl *)iface; - D3DRESOURCETYPE ret; - TRACE("(%p) Relay\n", This); + TRACE("(%p)\n", This); - EnterCriticalSection(&d3d9_cs); - ret = IWineD3DIndexBuffer_GetType(This->wineD3DIndexBuffer); - LeaveCriticalSection(&d3d9_cs); - return ret; + return D3DRTYPE_INDEXBUFFER; } /* IDirect3DIndexBuffer9 Interface follow: */ @@ -185,13 +181,20 @@ static HRESULT WINAPI IDirect3DIndexBuffer9Impl_Unlock(LPDIRECT3DINDEXBUFFER9 if static HRESULT WINAPI IDirect3DIndexBuffer9Impl_GetDesc(LPDIRECT3DINDEXBUFFER9 iface, D3DINDEXBUFFER_DESC *pDesc) { IDirect3DIndexBuffer9Impl *This = (IDirect3DIndexBuffer9Impl *)iface; HRESULT hr; + WINED3DBUFFER_DESC desc; TRACE("(%p) Relay\n", This); EnterCriticalSection(&d3d9_cs); - hr = IWineD3DIndexBuffer_GetDesc(This->wineD3DIndexBuffer, (WINED3DINDEXBUFFER_DESC *) pDesc); + hr = IWineD3DIndexBuffer_GetDesc(This->wineD3DIndexBuffer, &desc); LeaveCriticalSection(&d3d9_cs); - if (SUCCEEDED(hr)) pDesc->Format = d3dformat_from_wined3dformat(pDesc->Format); + if (SUCCEEDED(hr)) { + pDesc->Format = d3dformat_from_wined3dformat(desc.Format); + pDesc->Usage = desc.Usage; + pDesc->Pool = desc.Pool; + pDesc->Size = desc.Size; + pDesc->Type = D3DRTYPE_INDEXBUFFER; + } return hr; } diff --git a/dlls/d3d9/vertexbuffer.c b/dlls/d3d9/vertexbuffer.c index 7d8dcd8cba0..63cac926e72 100644 --- a/dlls/d3d9/vertexbuffer.c +++ b/dlls/d3d9/vertexbuffer.c @@ -185,14 +185,19 @@ static HRESULT WINAPI IDirect3DVertexBuffer9Impl_Unlock(LPDIRECT3DVERTEXBUFFER9 static HRESULT WINAPI IDirect3DVertexBuffer9Impl_GetDesc(LPDIRECT3DVERTEXBUFFER9 iface, D3DVERTEXBUFFER_DESC* pDesc) { IDirect3DVertexBuffer9Impl *This = (IDirect3DVertexBuffer9Impl *)iface; HRESULT hr; + WINED3DBUFFER_DESC desc; TRACE("(%p) Relay\n", This); EnterCriticalSection(&d3d9_cs); - hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, (WINED3DVERTEXBUFFER_DESC *)pDesc); + hr = IWineD3DBuffer_GetDesc(This->wineD3DVertexBuffer, &desc); LeaveCriticalSection(&d3d9_cs); if (SUCCEEDED(hr)) { - pDesc->Format = d3dformat_from_wined3dformat(pDesc->Format); + pDesc->Format = d3dformat_from_wined3dformat(desc.Format); + pDesc->Usage = desc.Usage; + pDesc->Pool = desc.Pool; + pDesc->Size = desc.Size; + pDesc->FVF = desc.FVF; pDesc->Type = D3DRTYPE_VERTEXBUFFER; } diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 517e7bf5d72..e8791bdc7bf 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -4104,7 +4104,7 @@ IDirect3DDeviceImpl_7_DrawPrimitiveVB(IDirect3DDevice7 *iface, IDirect3DVertexBufferImpl *vb = (IDirect3DVertexBufferImpl *)D3DVertexBuf; HRESULT hr; DWORD stride; - WINED3DVERTEXBUFFER_DESC Desc; + WINED3DBUFFER_DESC Desc; TRACE("(%p)->(%08x,%p,%08x,%08x,%08x)\n", This, PrimitiveType, D3DVertexBuf, StartVertex, NumVertices, Flags); @@ -4232,7 +4232,7 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, DWORD stride; WORD *LockedIndices; HRESULT hr; - WINED3DVERTEXBUFFER_DESC Desc; + WINED3DBUFFER_DESC Desc; TRACE("(%p)->(%08x,%p,%d,%d,%p,%d,%08x)\n", This, PrimitiveType, vb, StartVertex, NumVertices, Indices, IndexCount, Flags); diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c index 277591c1c78..225e6ffb63c 100644 --- a/dlls/ddraw/vertexbuffer.c +++ b/dlls/ddraw/vertexbuffer.c @@ -234,7 +234,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface, DWORD *Size) { IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; - WINED3DVERTEXBUFFER_DESC Desc; + WINED3DBUFFER_DESC Desc; HRESULT hr; TRACE("(%p)->(%08x,%p,%p)\n", This, Flags, Data, Size); @@ -340,7 +340,7 @@ IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexBuffer7 *iface, IDirect3DDeviceImpl *D3D = (IDirect3DDeviceImpl *)D3DDevice; BOOL oldClip, doClip; HRESULT hr; - WINED3DVERTEXBUFFER_DESC Desc; + WINED3DBUFFER_DESC Desc; TRACE("(%p)->(%08x,%d,%d,%p,%d,%p,%08x)\n", This, VertexOp, DestIndex, Count, Src, SrcIndex, D3D, Flags); @@ -435,7 +435,7 @@ IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface, D3DVERTEXBUFFERDESC *Desc) { IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; - WINED3DVERTEXBUFFER_DESC WDesc; + WINED3DBUFFER_DESC WDesc; HRESULT hr; TRACE("(%p)->(%p)\n", This, Desc); diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index 9e2abeb9cab..6a66c734ada 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -908,7 +908,7 @@ static HRESULT STDMETHODCALLTYPE buffer_Unmap(IWineD3DBuffer *iface) return WINED3D_OK; } -static HRESULT STDMETHODCALLTYPE buffer_GetDesc(IWineD3DBuffer *iface, WINED3DVERTEXBUFFER_DESC *desc) +static HRESULT STDMETHODCALLTYPE buffer_GetDesc(IWineD3DBuffer *iface, WINED3DBUFFER_DESC *desc) { struct wined3d_buffer *This = (struct wined3d_buffer *)iface; @@ -1159,7 +1159,7 @@ static HRESULT STDMETHODCALLTYPE IWineD3DIndexBufferImpl_Unlock(IWineD3DIndexBuf } static HRESULT STDMETHODCALLTYPE IWineD3DIndexBufferImpl_GetDesc(IWineD3DIndexBuffer *iface, - WINED3DINDEXBUFFER_DESC *pDesc) + WINED3DBUFFER_DESC *pDesc) { IWineD3DIndexBufferImpl *This = (IWineD3DIndexBufferImpl *)iface; diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index ca47eb380a2..cc8a096ff38 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5678,7 +5678,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_DrawIndexedPrimitive(IWineD3DDevice *if IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; UINT idxStride = 2; IWineD3DIndexBuffer *pIB; - WINED3DINDEXBUFFER_DESC IdxBufDsc; + WINED3DBUFFER_DESC IdxBufDsc; GLuint vbo; pIB = This->stateBlock->pIndexData; diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl index 604781b9397..96c59272bb6 100644 --- a/include/wine/wined3d.idl +++ b/include/wine/wined3d.idl @@ -766,12 +766,10 @@ typedef enum _WINED3DRESOURCETYPE WINED3DRTYPE_TEXTURE = 3, WINED3DRTYPE_VOLUMETEXTURE = 4, WINED3DRTYPE_CUBETEXTURE = 5, - WINED3DRTYPE_VERTEXBUFFER = 6, - WINED3DRTYPE_INDEXBUFFER = 7, - WINED3DRTYPE_BUFFER = 8, + WINED3DRTYPE_BUFFER = 6, WINED3DRTYPE_FORCE_DWORD = 0x7fffffff } WINED3DRESOURCETYPE; -const UINT WINED3DRTYPECOUNT = WINED3DRTYPE_INDEXBUFFER + 1; +const UINT WINED3DRTYPECOUNT = WINED3DRTYPE_BUFFER + 1; typedef enum _WINED3DPOOL { @@ -1864,7 +1862,7 @@ typedef struct WINED3DDEVINFO_VCACHE non user modifiable (only valid if OptMethod==1) */ } WINED3DDEVINFO_VCACHE; -typedef struct _WINED3DVERTEXBUFFER_DESC +typedef struct _WINED3DBUFFER_DESC { WINED3DFORMAT Format; WINED3DRESOURCETYPE Type; @@ -1872,16 +1870,7 @@ typedef struct _WINED3DVERTEXBUFFER_DESC WINED3DPOOL Pool; UINT Size; DWORD FVF; -} WINED3DVERTEXBUFFER_DESC; - -typedef struct _WINED3DINDEXBUFFER_DESC -{ - WINED3DFORMAT Format; - WINED3DRESOURCETYPE Type; - DWORD Usage; - WINED3DPOOL Pool; - UINT Size; -} WINED3DINDEXBUFFER_DESC; +} WINED3DBUFFER_DESC; typedef struct glDescriptor { @@ -2366,7 +2355,7 @@ interface IWineD3DIndexBuffer : IWineD3DResource HRESULT Unlock( ); HRESULT GetDesc( - [out] WINED3DINDEXBUFFER_DESC *desc + [out] WINED3DBUFFER_DESC *desc ); } @@ -2844,7 +2833,7 @@ interface IWineD3DBuffer : IWineD3DResource HRESULT Unmap( ); HRESULT GetDesc( - [out] WINED3DVERTEXBUFFER_DESC *desc + [out] WINED3DBUFFER_DESC *desc ); } -- 2.11.4.GIT