[PATCH 3/5] ddraw: Get rid of IDirect3DVertexBufferImpl.

Henri Verbeet hverbeet at codeweavers.com
Wed Apr 11 15:52:04 CDT 2012


---
 dlls/ddraw/ddraw.c         |    4 +-
 dlls/ddraw/ddraw_private.h |   12 +--
 dlls/ddraw/device.c        |    8 +-
 dlls/ddraw/vertexbuffer.c  |  279 +++++++++++++++++++++-----------------------
 4 files changed, 145 insertions(+), 158 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index daf614e..4da67ef 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -4527,7 +4527,7 @@ static HRESULT WINAPI d3d7_CreateVertexBuffer(IDirect3D7 *iface, D3DVERTEXBUFFER
         IDirect3DVertexBuffer7 **vertex_buffer, DWORD flags)
 {
     struct ddraw *ddraw = impl_from_IDirect3D7(iface);
-    IDirect3DVertexBufferImpl *object;
+    struct d3d_vertex_buffer *object;
     HRESULT hr;
 
     TRACE("iface %p, desc %p, vertex_buffer %p, flags %#x.\n",
@@ -4551,7 +4551,7 @@ static HRESULT WINAPI d3d3_CreateVertexBuffer(IDirect3D3 *iface, D3DVERTEXBUFFER
         IDirect3DVertexBuffer **vertex_buffer, DWORD flags, IUnknown *outer_unknown)
 {
     struct ddraw *ddraw = impl_from_IDirect3D3(iface);
-    IDirect3DVertexBufferImpl *object;
+    struct d3d_vertex_buffer *object;
     HRESULT hr;
 
     TRACE("iface %p, desc %p, vertex_buffer %p, flags %#x, outer_unknown %p.\n",
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index 3882079..6a29b0f 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -38,10 +38,6 @@
 #include "wine/wined3d.h"
 
 extern const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops DECLSPEC_HIDDEN;
-
-/* Typdef the interfaces */
-typedef struct IDirect3DVertexBufferImpl  IDirect3DVertexBufferImpl;
-
 extern DWORD force_refresh_rate DECLSPEC_HIDDEN;
 
 /*****************************************************************************
@@ -520,7 +516,7 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *execute_buffer,
 /*****************************************************************************
  * IDirect3DVertexBuffer
  *****************************************************************************/
-struct IDirect3DVertexBufferImpl
+struct d3d_vertex_buffer
 {
     IDirect3DVertexBuffer7 IDirect3DVertexBuffer7_iface;
     IDirect3DVertexBuffer IDirect3DVertexBuffer_iface;
@@ -536,10 +532,10 @@ struct IDirect3DVertexBufferImpl
     DWORD                fvf;
 };
 
-HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, struct ddraw *ddraw,
+HRESULT d3d_vertex_buffer_create(struct d3d_vertex_buffer **buffer, struct ddraw *ddraw,
         D3DVERTEXBUFFERDESC *desc) DECLSPEC_HIDDEN;
-IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface) DECLSPEC_HIDDEN;
-IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface) DECLSPEC_HIDDEN;
+struct d3d_vertex_buffer *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface) DECLSPEC_HIDDEN;
+struct d3d_vertex_buffer *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface) DECLSPEC_HIDDEN;
 
 /*****************************************************************************
  * Helper functions from utils.c
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index a0c3411..266facc 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -3996,7 +3996,7 @@ static HRESULT d3d_device7_DrawPrimitiveVB(IDirect3DDevice7 *iface, D3DPRIMITIVE
         IDirect3DVertexBuffer7 *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, DWORD Flags)
 {
     struct d3d_device *device = impl_from_IDirect3DDevice7(iface);
-    IDirect3DVertexBufferImpl *vb = unsafe_impl_from_IDirect3DVertexBuffer7(D3DVertexBuf);
+    struct d3d_vertex_buffer *vb = unsafe_impl_from_IDirect3DVertexBuffer7(D3DVertexBuf);
     HRESULT hr;
     DWORD stride;
 
@@ -4060,7 +4060,7 @@ static HRESULT WINAPI d3d_device3_DrawPrimitiveVB(IDirect3DDevice3 *iface, D3DPR
         IDirect3DVertexBuffer *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, DWORD Flags)
 {
     struct d3d_device *device = impl_from_IDirect3DDevice3(iface);
-    IDirect3DVertexBufferImpl *vb = unsafe_impl_from_IDirect3DVertexBuffer(D3DVertexBuf);
+    struct d3d_vertex_buffer *vb = unsafe_impl_from_IDirect3DVertexBuffer(D3DVertexBuf);
 
     TRACE("iface %p, primitive_type %#x, vb %p, start_vertex %u, vertex_count %u, flags %#x.\n",
             iface, PrimitiveType, D3DVertexBuf, StartVertex, NumVertices, Flags);
@@ -4092,7 +4092,7 @@ static HRESULT d3d_device7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface,
         DWORD StartVertex, DWORD NumVertices, WORD *Indices, DWORD IndexCount, DWORD Flags)
 {
     struct d3d_device *This = impl_from_IDirect3DDevice7(iface);
-    IDirect3DVertexBufferImpl *vb = unsafe_impl_from_IDirect3DVertexBuffer7(D3DVertexBuf);
+    struct d3d_vertex_buffer *vb = unsafe_impl_from_IDirect3DVertexBuffer7(D3DVertexBuf);
     DWORD stride = get_flexible_vertex_size(vb->fvf);
     struct wined3d_resource *wined3d_resource;
     struct wined3d_resource_desc desc;
@@ -4208,7 +4208,7 @@ static HRESULT WINAPI d3d_device3_DrawIndexedPrimitiveVB(IDirect3DDevice3 *iface
         DWORD IndexCount, DWORD Flags)
 {
     struct d3d_device *device = impl_from_IDirect3DDevice3(iface);
-    IDirect3DVertexBufferImpl *vb = unsafe_impl_from_IDirect3DVertexBuffer(D3DVertexBuf);
+    struct d3d_vertex_buffer *vb = unsafe_impl_from_IDirect3DVertexBuffer(D3DVertexBuf);
 
     TRACE("iface %p, primitive_type %#x, vb %p, indices %p, index_count %u, flags %#x.\n",
             iface, PrimitiveType, D3DVertexBuf, Indices, IndexCount, Flags);
diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c
index d17c91a..11a4aa9 100644
--- a/dlls/ddraw/vertexbuffer.c
+++ b/dlls/ddraw/vertexbuffer.c
@@ -26,14 +26,14 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
 
-static inline IDirect3DVertexBufferImpl *impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface)
+static inline struct d3d_vertex_buffer *impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface)
 {
-    return CONTAINING_RECORD(iface, IDirect3DVertexBufferImpl, IDirect3DVertexBuffer_iface);
+    return CONTAINING_RECORD(iface, struct d3d_vertex_buffer, IDirect3DVertexBuffer_iface);
 }
 
-static inline IDirect3DVertexBufferImpl *impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
+static inline struct d3d_vertex_buffer *impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
 {
-    return CONTAINING_RECORD(iface, IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7_iface);
+    return CONTAINING_RECORD(iface, struct d3d_vertex_buffer, IDirect3DVertexBuffer7_iface);
 }
 
 /*****************************************************************************
@@ -55,10 +55,9 @@ static inline IDirect3DVertexBufferImpl *impl_from_IDirect3DVertexBuffer7(IDirec
  *  E_NOINTERFACE if the interface wasn't found
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBuffer7 *iface,
-        REFIID riid, void  **obj)
+static HRESULT WINAPI d3d_vertex_buffer7_QueryInterface(IDirect3DVertexBuffer7 *iface, REFIID riid, void  **obj)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
 
     TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
 
@@ -75,7 +74,7 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBu
     if ( IsEqualGUID( &IID_IDirect3DVertexBuffer, riid ) )
     {
         IUnknown_AddRef(iface);
-        *obj = &This->IDirect3DVertexBuffer_iface;
+        *obj = &buffer->IDirect3DVertexBuffer_iface;
         TRACE("  Creating IDirect3DVertexBuffer interface %p\n", *obj);
         return S_OK;
     }
@@ -86,18 +85,19 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBu
         TRACE("  Creating IDirect3DVertexBuffer7 interface %p\n", *obj);
         return S_OK;
     }
-    FIXME("(%p): interface for IID %s NOT found!\n", This, debugstr_guid(riid));
+
+    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
+
     return E_NOINTERFACE;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface,
-        REFIID riid, void **obj)
+static HRESULT WINAPI d3d_vertex_buffer1_QueryInterface(IDirect3DVertexBuffer *iface, REFIID riid, void **obj)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
     TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
 
-    return IDirect3DVertexBuffer7_QueryInterface(&This->IDirect3DVertexBuffer7_iface, riid, obj);
+    return d3d_vertex_buffer7_QueryInterface(&buffer->IDirect3DVertexBuffer7_iface, riid, obj);
 }
 
 /*****************************************************************************
@@ -109,23 +109,23 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertex
  *  The new refcount
  *
  *****************************************************************************/
-static ULONG WINAPI IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface)
+static ULONG WINAPI d3d_vertex_buffer7_AddRef(IDirect3DVertexBuffer7 *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
-    ULONG ref = InterlockedIncrement(&This->ref);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
+    ULONG ref = InterlockedIncrement(&buffer->ref);
 
-    TRACE("%p increasing refcount to %u.\n", This, ref);
+    TRACE("%p increasing refcount to %u.\n", buffer, ref);
 
     return ref;
 }
 
-static ULONG WINAPI IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface)
+static ULONG WINAPI d3d_vertex_buffer1_AddRef(IDirect3DVertexBuffer *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
     TRACE("iface %p.\n", iface);
 
-    return IDirect3DVertexBuffer7_AddRef(&This->IDirect3DVertexBuffer7_iface);
+    return d3d_vertex_buffer7_AddRef(&buffer->IDirect3DVertexBuffer7_iface);
 }
 
 
@@ -138,12 +138,12 @@ static ULONG WINAPI IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *if
  *  The new refcount
  *
  *****************************************************************************/
-static ULONG WINAPI IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface)
+static ULONG WINAPI d3d_vertex_buffer7_Release(IDirect3DVertexBuffer7 *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
-    ULONG ref = InterlockedDecrement(&This->ref);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
+    ULONG ref = InterlockedDecrement(&buffer->ref);
 
-    TRACE("%p decreasing refcount to %u.\n", This, ref);
+    TRACE("%p decreasing refcount to %u.\n", buffer, ref);
 
     if (ref == 0)
     {
@@ -155,31 +155,30 @@ static ULONG WINAPI IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *if
          * stream source in wined3d, and they should get unset there before
          * they are destroyed. */
         wined3d_mutex_lock();
-        wined3d_device_get_stream_source(This->ddraw->wined3d_device,
+        wined3d_device_get_stream_source(buffer->ddraw->wined3d_device,
                 0, &curVB, &offset, &stride);
-        if (curVB == This->wineD3DVertexBuffer)
-            wined3d_device_set_stream_source(This->ddraw->wined3d_device, 0, NULL, 0, 0);
+        if (curVB == buffer->wineD3DVertexBuffer)
+            wined3d_device_set_stream_source(buffer->ddraw->wined3d_device, 0, NULL, 0, 0);
         if (curVB)
             wined3d_buffer_decref(curVB); /* For the GetStreamSource */
 
-        wined3d_vertex_declaration_decref(This->wineD3DVertexDeclaration);
-        wined3d_buffer_decref(This->wineD3DVertexBuffer);
+        wined3d_vertex_declaration_decref(buffer->wineD3DVertexDeclaration);
+        wined3d_buffer_decref(buffer->wineD3DVertexBuffer);
         wined3d_mutex_unlock();
 
-        HeapFree(GetProcessHeap(), 0, This);
-
-        return 0;
+        HeapFree(GetProcessHeap(), 0, buffer);
     }
+
     return ref;
 }
 
-static ULONG WINAPI IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *iface)
+static ULONG WINAPI d3d_vertex_buffer1_Release(IDirect3DVertexBuffer *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
     TRACE("iface %p.\n", iface);
 
-    return IDirect3DVertexBuffer7_Release(&This->IDirect3DVertexBuffer7_iface);
+    return d3d_vertex_buffer7_Release(&buffer->IDirect3DVertexBuffer7_iface);
 }
 
 /*****************************************************************************
@@ -205,48 +204,52 @@ static ULONG WINAPI IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *i
  *  D3DERR_VERTEXBUFFEROPTIMIZED if called on an optimized buffer(WineD3D)
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface, DWORD Flags,
-        void **Data, DWORD *Size)
+static HRESULT WINAPI d3d_vertex_buffer7_Lock(IDirect3DVertexBuffer7 *iface,
+        DWORD flags, void **data, DWORD *data_size)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
     struct wined3d_resource_desc wined3d_desc;
     struct wined3d_resource *wined3d_resource;
     HRESULT hr;
     DWORD wined3d_flags = 0;
 
-    TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, Flags, Data, Size);
+    TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, flags, data, data_size);
 
     /* Writeonly: Pointless. Event: Unsupported by native according to the sdk
      * nosyslock: Not applicable
      */
-    if(!(Flags & DDLOCK_WAIT))          wined3d_flags |= WINED3DLOCK_DONOTWAIT;
-    if(Flags & DDLOCK_READONLY)         wined3d_flags |= WINED3DLOCK_READONLY;
-    if(Flags & DDLOCK_NOOVERWRITE)      wined3d_flags |= WINED3DLOCK_NOOVERWRITE;
-    if(Flags & DDLOCK_DISCARDCONTENTS)  wined3d_flags |= WINED3DLOCK_DISCARD;
+    if (!(flags & DDLOCK_WAIT))
+        wined3d_flags |= WINED3DLOCK_DONOTWAIT;
+    if (flags & DDLOCK_READONLY)
+        wined3d_flags |= WINED3DLOCK_READONLY;
+    if (flags & DDLOCK_NOOVERWRITE)
+        wined3d_flags |= WINED3DLOCK_NOOVERWRITE;
+    if (flags & DDLOCK_DISCARDCONTENTS)
+        wined3d_flags |= WINED3DLOCK_DISCARD;
 
     wined3d_mutex_lock();
-    if(Size)
+    if (data_size)
     {
         /* Get the size, for returning it, and for locking */
-        wined3d_resource = wined3d_buffer_get_resource(This->wineD3DVertexBuffer);
+        wined3d_resource = wined3d_buffer_get_resource(buffer->wineD3DVertexBuffer);
         wined3d_resource_get_desc(wined3d_resource, &wined3d_desc);
-        *Size = wined3d_desc.size;
+        *data_size = wined3d_desc.size;
     }
 
-    hr = wined3d_buffer_map(This->wineD3DVertexBuffer, 0, 0, (BYTE **)Data, wined3d_flags);
+    hr = wined3d_buffer_map(buffer->wineD3DVertexBuffer, 0, 0, (BYTE **)data, wined3d_flags);
     wined3d_mutex_unlock();
 
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface, DWORD Flags,
-        void **Data, DWORD *Size)
+static HRESULT WINAPI d3d_vertex_buffer1_Lock(IDirect3DVertexBuffer *iface,
+        DWORD flags, void **data, DWORD *data_size)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
-    TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, Flags, Data, Size);
+    TRACE("iface %p, flags %#x, data %p, data_size %p.\n", iface, flags, data, data_size);
 
-    return IDirect3DVertexBuffer7_Lock(&This->IDirect3DVertexBuffer7_iface, Flags, Data, Size);
+    return d3d_vertex_buffer7_Lock(&buffer->IDirect3DVertexBuffer7_iface, flags, data, data_size);
 }
 
 /*****************************************************************************
@@ -258,26 +261,26 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *if
  *  D3D_OK on success
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
+static HRESULT WINAPI d3d_vertex_buffer7_Unlock(IDirect3DVertexBuffer7 *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
 
     TRACE("iface %p.\n", iface);
 
     wined3d_mutex_lock();
-    wined3d_buffer_unmap(This->wineD3DVertexBuffer);
+    wined3d_buffer_unmap(buffer->wineD3DVertexBuffer);
     wined3d_mutex_unlock();
 
     return D3D_OK;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *iface)
+static HRESULT WINAPI d3d_vertex_buffer1_Unlock(IDirect3DVertexBuffer *iface)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
     TRACE("iface %p.\n", iface);
 
-    return IDirect3DVertexBuffer7_Unlock(&This->IDirect3DVertexBuffer7_iface);
+    return d3d_vertex_buffer7_Unlock(&buffer->IDirect3DVertexBuffer7_iface);
 }
 
 
@@ -303,18 +306,18 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *
  *  DDERR_INVALIDPARAMS If D3DVOP_TRANSFORM wasn't passed
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexBuffer7 *iface,
-        DWORD VertexOp, DWORD DestIndex, DWORD Count, IDirect3DVertexBuffer7 *SrcBuffer,
-        DWORD SrcIndex, IDirect3DDevice7 *device, DWORD Flags)
+static HRESULT WINAPI d3d_vertex_buffer7_ProcessVertices(IDirect3DVertexBuffer7 *iface,
+        DWORD vertex_op, DWORD dst_idx, DWORD count, IDirect3DVertexBuffer7 *src_buffer,
+        DWORD src_idx, IDirect3DDevice7 *device, DWORD flags)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
-    IDirect3DVertexBufferImpl *Src = unsafe_impl_from_IDirect3DVertexBuffer7(SrcBuffer);
+    struct d3d_vertex_buffer *dst_buffer_impl = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *src_buffer_impl = unsafe_impl_from_IDirect3DVertexBuffer7(src_buffer);
     struct d3d_device *device_impl = unsafe_impl_from_IDirect3DDevice7(device);
     BOOL oldClip, doClip;
     HRESULT hr;
 
     TRACE("iface %p, vertex_op %#x, dst_idx %u, count %u, src_buffer %p, src_idx %u, device %p, flags %#x.\n",
-            iface, VertexOp, DestIndex, Count, SrcBuffer, SrcIndex, device, Flags);
+            iface, vertex_op, dst_idx, count, src_buffer, src_idx, device, flags);
 
     /* Vertex operations:
      * D3DVOP_CLIP: Clips vertices outside the viewing frustrum. Needs clipping information
@@ -326,7 +329,8 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexB
      * WineD3D only transforms and clips the vertices by now, so EXTENTS and LIGHT
      * are not implemented. Clipping is disabled ATM, because of unsure conditions.
      */
-    if( !(VertexOp & D3DVOP_TRANSFORM) ) return DDERR_INVALIDPARAMS;
+    if (!(vertex_op & D3DVOP_TRANSFORM))
+        return DDERR_INVALIDPARAMS;
 
     wined3d_mutex_lock();
 
@@ -334,16 +338,16 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexB
      * render states instead. Set the render states according to
      * the vertex ops
      */
-    doClip = VertexOp & D3DVOP_CLIP ? TRUE : FALSE;
+    doClip = !!(vertex_op & D3DVOP_CLIP);
     wined3d_device_get_render_state(device_impl->wined3d_device, WINED3D_RS_CLIPPING, (DWORD *)&oldClip);
     if (doClip != oldClip)
         wined3d_device_set_render_state(device_impl->wined3d_device, WINED3D_RS_CLIPPING, doClip);
 
     wined3d_device_set_stream_source(device_impl->wined3d_device,
-            0, Src->wineD3DVertexBuffer, 0, get_flexible_vertex_size(Src->fvf));
-    wined3d_device_set_vertex_declaration(device_impl->wined3d_device, Src->wineD3DVertexDeclaration);
-    hr = wined3d_device_process_vertices(device_impl->wined3d_device, SrcIndex, DestIndex,
-            Count, This->wineD3DVertexBuffer, NULL, Flags, This->fvf);
+            0, src_buffer_impl->wineD3DVertexBuffer, 0, get_flexible_vertex_size(src_buffer_impl->fvf));
+    wined3d_device_set_vertex_declaration(device_impl->wined3d_device, src_buffer_impl->wineD3DVertexDeclaration);
+    hr = wined3d_device_process_vertices(device_impl->wined3d_device, src_idx, dst_idx,
+            count, dst_buffer_impl->wineD3DVertexBuffer, NULL, flags, dst_buffer_impl->fvf);
 
     /* Restore the states if needed */
     if (doClip != oldClip)
@@ -354,20 +358,20 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexB
     return hr;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_ProcessVertices(IDirect3DVertexBuffer *iface,
-        DWORD VertexOp, DWORD DestIndex, DWORD Count, IDirect3DVertexBuffer *SrcBuffer,
-        DWORD SrcIndex, IDirect3DDevice3 *device, DWORD Flags)
+static HRESULT WINAPI d3d_vertex_buffer1_ProcessVertices(IDirect3DVertexBuffer *iface,
+        DWORD vertex_op, DWORD dst_idx, DWORD count, IDirect3DVertexBuffer *src_buffer,
+        DWORD src_idx, IDirect3DDevice3 *device, DWORD flags)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
-    IDirect3DVertexBufferImpl *Src = unsafe_impl_from_IDirect3DVertexBuffer(SrcBuffer);
+    struct d3d_vertex_buffer *dst_buffer_impl = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *src_buffer_impl = unsafe_impl_from_IDirect3DVertexBuffer(src_buffer);
     struct d3d_device *device_impl = unsafe_impl_from_IDirect3DDevice3(device);
 
     TRACE("iface %p, vertex_op %#x, dst_idx %u, count %u, src_buffer %p, src_idx %u, device %p, flags %#x.\n",
-            iface, VertexOp, DestIndex, Count, SrcBuffer, SrcIndex, device, Flags);
+            iface, vertex_op, dst_idx, count, src_buffer, src_idx, device, flags);
 
-    return IDirect3DVertexBuffer7_ProcessVertices(&This->IDirect3DVertexBuffer7_iface, VertexOp,
-            DestIndex, Count, &Src->IDirect3DVertexBuffer7_iface, SrcIndex,
-            device_impl ? &device_impl->IDirect3DDevice7_iface : NULL, Flags);
+    return d3d_vertex_buffer7_ProcessVertices(&dst_buffer_impl->IDirect3DVertexBuffer7_iface, vertex_op,
+            dst_idx, count, &src_buffer_impl->IDirect3DVertexBuffer7_iface, src_idx,
+            device_impl ? &device_impl->IDirect3DDevice7_iface : NULL, flags);
 }
 
 /*****************************************************************************
@@ -383,38 +387,36 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_ProcessVertices(IDirect3DVerte
  *  D3D_OK on success
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface,
-        D3DVERTEXBUFFERDESC *Desc)
+static HRESULT WINAPI d3d_vertex_buffer7_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface, D3DVERTEXBUFFERDESC *desc)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
     struct wined3d_resource_desc wined3d_desc;
     struct wined3d_resource *wined3d_resource;
 
-    TRACE("iface %p, desc %p.\n", iface, Desc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
-    if(!Desc) return DDERR_INVALIDPARAMS;
+    if (!desc) return DDERR_INVALIDPARAMS;
 
     wined3d_mutex_lock();
-    wined3d_resource = wined3d_buffer_get_resource(This->wineD3DVertexBuffer);
+    wined3d_resource = wined3d_buffer_get_resource(buffer->wineD3DVertexBuffer);
     wined3d_resource_get_desc(wined3d_resource, &wined3d_desc);
     wined3d_mutex_unlock();
 
-    /* Now fill the Desc structure */
-    Desc->dwCaps = This->Caps;
-    Desc->dwFVF = This->fvf;
-    Desc->dwNumVertices = wined3d_desc.size / get_flexible_vertex_size(This->fvf);
+    /* Now fill the desc structure */
+    desc->dwCaps = buffer->Caps;
+    desc->dwFVF = buffer->fvf;
+    desc->dwNumVertices = wined3d_desc.size / get_flexible_vertex_size(buffer->fvf);
 
     return D3D_OK;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface,
-        D3DVERTEXBUFFERDESC *Desc)
+static HRESULT WINAPI d3d_vertex_buffer1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface, D3DVERTEXBUFFERDESC *desc)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
 
-    TRACE("iface %p, desc %p.\n", iface, Desc);
+    TRACE("iface %p, desc %p.\n", iface, desc);
 
-    return IDirect3DVertexBuffer7_GetVertexBufferDesc(&This->IDirect3DVertexBuffer7_iface, Desc);
+    return d3d_vertex_buffer7_GetVertexBufferDesc(&buffer->IDirect3DVertexBuffer7_iface, desc);
 }
 
 
@@ -431,17 +433,17 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DV
  *  D3D_OK, because it's a stub
  *
  *****************************************************************************/
-static HRESULT WINAPI IDirect3DVertexBufferImpl_Optimize(IDirect3DVertexBuffer7 *iface,
-        IDirect3DDevice7 *D3DDevice, DWORD Flags)
+static HRESULT WINAPI d3d_vertex_buffer7_Optimize(IDirect3DVertexBuffer7 *iface,
+        IDirect3DDevice7 *device, DWORD flags)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);
     static BOOL hide = FALSE;
 
-    TRACE("iface %p, device %p, flags %#x.\n", iface, D3DDevice, Flags);
+    TRACE("iface %p, device %p, flags %#x.\n", iface, device, flags);
 
     if (!hide)
     {
-        FIXME("iface %p, device %p, flags %#x stub!\n", iface, D3DDevice, Flags);
+        FIXME("iface %p, device %p, flags %#x stub!\n", iface, device, flags);
         hide = TRUE;
     }
 
@@ -449,22 +451,22 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_Optimize(IDirect3DVertexBuffer7
      * of it once we use OpenGL vertex buffers
      */
     wined3d_mutex_lock();
-    This->Caps |= D3DVBCAPS_OPTIMIZED;
+    buffer->Caps |= D3DVBCAPS_OPTIMIZED;
     wined3d_mutex_unlock();
 
     return DD_OK;
 }
 
-static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Optimize(IDirect3DVertexBuffer *iface,
-        IDirect3DDevice3 *device, DWORD Flags)
+static HRESULT WINAPI d3d_vertex_buffer1_Optimize(IDirect3DVertexBuffer *iface,
+        IDirect3DDevice3 *device, DWORD flags)
 {
-    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface);
+    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer(iface);
     struct d3d_device *device_impl = unsafe_impl_from_IDirect3DDevice3(device);
 
-    TRACE("iface %p, device %p, flags %#x.\n", iface, device, Flags);
+    TRACE("iface %p, device %p, flags %#x.\n", iface, device, flags);
 
-    return IDirect3DVertexBuffer7_Optimize(&This->IDirect3DVertexBuffer7_iface,
-            device_impl ? &device_impl->IDirect3DDevice7_iface : NULL, Flags);
+    return d3d_vertex_buffer7_Optimize(&buffer->IDirect3DVertexBuffer7_iface,
+            device_impl ? &device_impl->IDirect3DDevice7_iface : NULL, flags);
 }
 
 /*****************************************************************************
@@ -489,18 +491,12 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_1_Optimize(IDirect3DVertexBuffer
  *  D3D_OK on success, or DDERR_*
  *
  *****************************************************************************/
-static HRESULT WINAPI
-IDirect3DVertexBufferImpl_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface,
-                                                 DWORD VertexOp,
-                                                 DWORD DestIndex,
-                                                 DWORD Count,
-                                                 D3DDRAWPRIMITIVESTRIDEDDATA *StrideData,
-                                                 DWORD VertexTypeDesc,
-                                                 IDirect3DDevice7 *D3DDevice,
-                                                 DWORD Flags)
+static HRESULT WINAPI d3d_vertex_buffer7_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface,
+        DWORD vertex_op, DWORD dst_idx, DWORD count, D3DDRAWPRIMITIVESTRIDEDDATA *data,
+        DWORD fvf, IDirect3DDevice7 *device, DWORD flags)
 {
-    FIXME("iface %p, vertex_op %#x, dst_idx %u, count %u, data %p, vertex_type %#x, device %p, flags %#x stub!\n",
-            iface, VertexOp, DestIndex, Count, StrideData, VertexTypeDesc, D3DDevice, Flags);
+    FIXME("iface %p, vertex_op %#x, dst_idx %u, count %u, data %p, fvf %#x, device %p, flags %#x stub!\n",
+            iface, vertex_op, dst_idx, count, data, fvf, device, flags);
 
     return DD_OK;
 }
@@ -511,38 +507,33 @@ IDirect3DVertexBufferImpl_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface,
 
 static const struct IDirect3DVertexBuffer7Vtbl d3d_vertex_buffer7_vtbl =
 {
-    /*** IUnknown Methods ***/
-    IDirect3DVertexBufferImpl_QueryInterface,
-    IDirect3DVertexBufferImpl_AddRef,
-    IDirect3DVertexBufferImpl_Release,
-    /*** IDirect3DVertexBuffer Methods ***/
-    IDirect3DVertexBufferImpl_Lock,
-    IDirect3DVertexBufferImpl_Unlock,
-    IDirect3DVertexBufferImpl_ProcessVertices,
-    IDirect3DVertexBufferImpl_GetVertexBufferDesc,
-    IDirect3DVertexBufferImpl_Optimize,
-    /*** IDirect3DVertexBuffer7 Methods ***/
-    IDirect3DVertexBufferImpl_ProcessVerticesStrided
+    d3d_vertex_buffer7_QueryInterface,
+    d3d_vertex_buffer7_AddRef,
+    d3d_vertex_buffer7_Release,
+    d3d_vertex_buffer7_Lock,
+    d3d_vertex_buffer7_Unlock,
+    d3d_vertex_buffer7_ProcessVertices,
+    d3d_vertex_buffer7_GetVertexBufferDesc,
+    d3d_vertex_buffer7_Optimize,
+    d3d_vertex_buffer7_ProcessVerticesStrided,
 };
 
 static const struct IDirect3DVertexBufferVtbl d3d_vertex_buffer1_vtbl =
 {
-    /*** IUnknown Methods ***/
-    IDirect3DVertexBufferImpl_1_QueryInterface,
-    IDirect3DVertexBufferImpl_1_AddRef,
-    IDirect3DVertexBufferImpl_1_Release,
-    /*** IDirect3DVertexBuffer Methods ***/
-    IDirect3DVertexBufferImpl_1_Lock,
-    IDirect3DVertexBufferImpl_1_Unlock,
-    IDirect3DVertexBufferImpl_1_ProcessVertices,
-    IDirect3DVertexBufferImpl_1_GetVertexBufferDesc,
-    IDirect3DVertexBufferImpl_1_Optimize
+    d3d_vertex_buffer1_QueryInterface,
+    d3d_vertex_buffer1_AddRef,
+    d3d_vertex_buffer1_Release,
+    d3d_vertex_buffer1_Lock,
+    d3d_vertex_buffer1_Unlock,
+    d3d_vertex_buffer1_ProcessVertices,
+    d3d_vertex_buffer1_GetVertexBufferDesc,
+    d3d_vertex_buffer1_Optimize,
 };
 
-HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, struct ddraw *ddraw,
-        D3DVERTEXBUFFERDESC *desc)
+HRESULT d3d_vertex_buffer_create(struct d3d_vertex_buffer **vertex_buf,
+        struct ddraw *ddraw, D3DVERTEXBUFFERDESC *desc)
 {
-    IDirect3DVertexBufferImpl *buffer;
+    struct d3d_vertex_buffer *buffer;
     DWORD usage;
     HRESULT hr = D3D_OK;
 
@@ -601,7 +592,7 @@ end:
     return hr;
 }
 
-IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface)
+struct d3d_vertex_buffer *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface)
 {
     if (!iface)
         return NULL;
@@ -610,7 +601,7 @@ IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVerte
     return impl_from_IDirect3DVertexBuffer(iface);
 }
 
-IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
+struct d3d_vertex_buffer *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
 {
     if (!iface)
         return NULL;
-- 
1.7.3.4




More information about the wine-patches mailing list