[PATCH 3/5] ddraw: Get rid of IDirect3DExecuteBufferImpl.
Henri Verbeet
hverbeet at codeweavers.com
Tue Apr 10 15:06:21 CDT 2012
---
dlls/ddraw/ddraw_private.h | 9 +-
dlls/ddraw/device.c | 8 +-
dlls/ddraw/executebuffer.c | 201 +++++++++++++++++++------------------------
3 files changed, 97 insertions(+), 121 deletions(-)
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index f1b78c0..3882079 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -40,7 +40,6 @@
extern const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops DECLSPEC_HIDDEN;
/* Typdef the interfaces */
-typedef struct IDirect3DExecuteBufferImpl IDirect3DExecuteBufferImpl;
typedef struct IDirect3DVertexBufferImpl IDirect3DVertexBufferImpl;
extern DWORD force_refresh_rate DECLSPEC_HIDDEN;
@@ -488,7 +487,7 @@ void d3d_viewport_init(struct d3d_viewport *viewport, struct ddraw *ddraw) DECLS
/*****************************************************************************
* IDirect3DExecuteBuffer - Wraps to D3D7
*****************************************************************************/
-struct IDirect3DExecuteBufferImpl
+struct d3d_execute_buffer
{
IDirect3DExecuteBuffer IDirect3DExecuteBuffer_iface;
LONG ref;
@@ -510,12 +509,12 @@ struct IDirect3DExecuteBufferImpl
BOOL need_free;
};
-HRESULT d3d_execute_buffer_init(IDirect3DExecuteBufferImpl *execute_buffer,
+HRESULT d3d_execute_buffer_init(struct d3d_execute_buffer *execute_buffer,
struct d3d_device *device, D3DEXECUTEBUFFERDESC *desc) DECLSPEC_HIDDEN;
-IDirect3DExecuteBufferImpl *unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface) DECLSPEC_HIDDEN;
+struct d3d_execute_buffer *unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface) DECLSPEC_HIDDEN;
/* The execute function */
-HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *execute_buffer,
+HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *execute_buffer,
struct d3d_device *device, struct d3d_viewport *viewport) DECLSPEC_HIDDEN;
/*****************************************************************************
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 464e905..a0c3411 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -659,7 +659,7 @@ static HRESULT WINAPI d3d_device1_CreateExecuteBuffer(IDirect3DDevice *iface,
D3DEXECUTEBUFFERDESC *buffer_desc, IDirect3DExecuteBuffer **ExecuteBuffer, IUnknown *outer_unknown)
{
struct d3d_device *device = impl_from_IDirect3DDevice(iface);
- IDirect3DExecuteBufferImpl* object;
+ struct d3d_execute_buffer *object;
HRESULT hr;
TRACE("iface %p, buffer_desc %p, buffer %p, outer_unknown %p.\n",
@@ -669,10 +669,10 @@ static HRESULT WINAPI d3d_device1_CreateExecuteBuffer(IDirect3DDevice *iface,
return CLASS_E_NOAGGREGATION;
/* Allocate the new Execute Buffer */
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DExecuteBufferImpl));
+ object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
if(!object)
{
- ERR("Out of memory when allocating a IDirect3DExecuteBufferImpl structure\n");
+ ERR("Failed to allocate execute buffer memory.\n");
return DDERR_OUTOFMEMORY;
}
@@ -710,7 +710,7 @@ static HRESULT WINAPI d3d_device1_Execute(IDirect3DDevice *iface,
IDirect3DExecuteBuffer *ExecuteBuffer, IDirect3DViewport *viewport, DWORD flags)
{
struct d3d_device *device = impl_from_IDirect3DDevice(iface);
- IDirect3DExecuteBufferImpl *buffer = unsafe_impl_from_IDirect3DExecuteBuffer(ExecuteBuffer);
+ struct d3d_execute_buffer *buffer = unsafe_impl_from_IDirect3DExecuteBuffer(ExecuteBuffer);
struct d3d_viewport *viewport_impl = unsafe_impl_from_IDirect3DViewport(viewport);
HRESULT hr;
diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index 6e37a7b..a217d9a 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -50,34 +50,12 @@ static void _dump_D3DEXECUTEBUFFERDESC(const D3DEXECUTEBUFFERDESC *lpDesc) {
TRACE("lpData : %p\n", lpDesc->lpData);
}
-/*****************************************************************************
- * IDirect3DExecuteBufferImpl_Execute
- *
- * The main functionality of the execute buffer
- * It transforms the vertices if necessary, and calls IDirect3DDevice7
- * for drawing the vertices. It is called from
- * IDirect3DDevice::Execute
- *
- * TODO: Perhaps some comments about the various opcodes wouldn't hurt
- *
- * Don't declare this static, as it's called from device.c,
- * IDirect3DDevice::Execute
- *
- * Params:
- * Device: 3D Device associated to use for drawing
- * Viewport: Viewport for this operation
- *
- *****************************************************************************/
-HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
+HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer,
struct d3d_device *device, struct d3d_viewport *viewport)
{
- /* DWORD bs = This->desc.dwBufferSize; */
- DWORD vs = This->data.dwVertexOffset;
- /* DWORD vc = This->data.dwVertexCount; */
- DWORD is = This->data.dwInstructionOffset;
- /* DWORD il = This->data.dwInstructionLength; */
-
- char *instr = (char *)This->desc.lpData + is;
+ DWORD vs = buffer->data.dwVertexOffset;
+ DWORD is = buffer->data.dwInstructionOffset;
+ char *instr = (char *)buffer->desc.lpData + is;
if (viewport->active_device != device)
{
@@ -91,7 +69,7 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
TRACE("ExecuteData :\n");
if (TRACE_ON(ddraw))
- _dump_executedata(&(This->data));
+ _dump_executedata(&(buffer->data));
while (1) {
LPD3DINSTRUCTION current = (LPD3DINSTRUCTION) instr;
@@ -115,15 +93,16 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
case D3DOP_TRIANGLE: {
int i;
- D3DTLVERTEX *tl_vx = This->vertex_data;
+ D3DTLVERTEX *tl_vx = buffer->vertex_data;
TRACE("TRIANGLE (%d)\n", count);
-
- if (count*3>This->nb_indices) {
- This->nb_indices = count * 3;
- HeapFree(GetProcessHeap(),0,This->indices);
- This->indices = HeapAlloc(GetProcessHeap(),0,sizeof(WORD)*This->nb_indices);
- }
-
+
+ if (buffer->nb_indices < count * 3)
+ {
+ buffer->nb_indices = count * 3;
+ HeapFree(GetProcessHeap(), 0, buffer->indices);
+ buffer->indices = HeapAlloc(GetProcessHeap(), 0, sizeof(*buffer->indices) * buffer->nb_indices);
+ }
+
for (i = 0; i < count; i++) {
LPD3DTRIANGLE ci = (LPD3DTRIANGLE) instr;
TRACE(" v1: %d v2: %d v3: %d\n",ci->u1.v1, ci->u2.v2, ci->u3.v3);
@@ -148,9 +127,9 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
TRACE("STARTFLAT(%u) ", ci->wFlags);
TRACE("\n");
}
- This->indices[(i * 3) ] = ci->u1.v1;
- This->indices[(i * 3) + 1] = ci->u2.v2;
- This->indices[(i * 3) + 2] = ci->u3.v3;
+ buffer->indices[(i * 3) ] = ci->u1.v1;
+ buffer->indices[(i * 3) + 1] = ci->u2.v2;
+ buffer->indices[(i * 3) + 2] = ci->u3.v3;
instr += size;
}
/* IDirect3DDevices have color keying always enabled -
@@ -158,7 +137,7 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
* render state. */
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_COLORKEYENABLE, 1);
IDirect3DDevice7_DrawIndexedPrimitive(&device->IDirect3DDevice7_iface,
- D3DPT_TRIANGLELIST, D3DFVF_TLVERTEX, tl_vx, 0, This->indices, count * 3, 0);
+ D3DPT_TRIANGLELIST, D3DFVF_TLVERTEX, tl_vx, 0, buffer->indices, count * 3, 0);
} break;
case D3DOP_MATRIXLOAD:
@@ -374,8 +353,8 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
/* Enough for the moment */
if (ci->dwFlags == D3DPROCESSVERTICES_TRANSFORMLIGHT) {
unsigned int nb;
- D3DVERTEX *src = ((LPD3DVERTEX) ((char *)This->desc.lpData + vs)) + ci->wStart;
- D3DTLVERTEX *dst = ((LPD3DTLVERTEX) (This->vertex_data)) + ci->wDest;
+ D3DVERTEX *src = ((D3DVERTEX *)((char *)buffer->desc.lpData + vs)) + ci->wStart;
+ D3DTLVERTEX *dst = ((D3DTLVERTEX *)buffer->vertex_data) + ci->wDest;
D3DVIEWPORT *Viewport = &viewport->viewports.vp1;
D3DMATRIX mat;
@@ -419,8 +398,8 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
}
} else if (ci->dwFlags == D3DPROCESSVERTICES_TRANSFORM) {
unsigned int nb;
- D3DLVERTEX *src = ((LPD3DLVERTEX) ((char *)This->desc.lpData + vs)) + ci->wStart;
- D3DTLVERTEX *dst = ((LPD3DTLVERTEX) (This->vertex_data)) + ci->wDest;
+ D3DLVERTEX *src = ((D3DLVERTEX *)((char *)buffer->desc.lpData + vs)) + ci->wStart;
+ D3DTLVERTEX *dst = ((D3DTLVERTEX *)buffer->vertex_data) + ci->wDest;
D3DVIEWPORT *Viewport = &viewport->viewports.vp1;
D3DMATRIX mat;
@@ -460,10 +439,12 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
src++;
dst++;
}
- } else if (ci->dwFlags == D3DPROCESSVERTICES_COPY) {
- D3DTLVERTEX *src = ((LPD3DTLVERTEX) ((char *)This->desc.lpData + vs)) + ci->wStart;
- D3DTLVERTEX *dst = ((LPD3DTLVERTEX) (This->vertex_data)) + ci->wDest;
-
+ }
+ else if (ci->dwFlags == D3DPROCESSVERTICES_COPY)
+ {
+ D3DTLVERTEX *src = ((D3DTLVERTEX *)((char *)buffer->desc.lpData + vs)) + ci->wStart;
+ D3DTLVERTEX *dst = ((D3DTLVERTEX *)buffer->vertex_data) + ci->wDest;
+
memcpy(dst, src, ci->dwCount * sizeof(D3DTLVERTEX));
} else {
ERR("Unhandled vertex processing flag %#x.\n", ci->dwFlags);
@@ -494,8 +475,10 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
for (i = 0; i < count; i++) {
LPD3DBRANCH ci = (LPD3DBRANCH) instr;
- if ((This->data.dsStatus.dwStatus & ci->dwMask) == ci->dwValue) {
- if (!ci->bNegate) {
+ if ((buffer->data.dsStatus.dwStatus & ci->dwMask) == ci->dwValue)
+ {
+ if (!ci->bNegate)
+ {
TRACE(" Branch to %d\n", ci->dwOffset);
if (ci->dwOffset) {
instr = (char*)current + ci->dwOffset;
@@ -529,7 +512,7 @@ HRESULT d3d_execute_buffer_execute(IDirect3DExecuteBufferImpl *This,
for (i = 0; i < count; i++) {
LPD3DSTATUS ci = (LPD3DSTATUS) instr;
- This->data.dsStatus = *ci;
+ buffer->data.dsStatus = *ci;
instr += size;
}
@@ -547,9 +530,9 @@ end_of_buffer:
return D3D_OK;
}
-static inline IDirect3DExecuteBufferImpl *impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface)
+static inline struct d3d_execute_buffer *impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface)
{
- return CONTAINING_RECORD(iface, IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer_iface);
+ return CONTAINING_RECORD(iface, struct d3d_execute_buffer, IDirect3DExecuteBuffer_iface);
}
/*****************************************************************************
@@ -568,10 +551,7 @@ static inline IDirect3DExecuteBufferImpl *impl_from_IDirect3DExecuteBuffer(IDire
* (E_NOINTERFACE?? Don't know what I really need)
*
*****************************************************************************/
-static HRESULT WINAPI
-IDirect3DExecuteBufferImpl_QueryInterface(IDirect3DExecuteBuffer *iface,
- REFIID riid,
- void **obj)
+static HRESULT WINAPI d3d_execute_buffer_QueryInterface(IDirect3DExecuteBuffer *iface, REFIID riid, void **obj)
{
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj);
@@ -603,12 +583,12 @@ IDirect3DExecuteBufferImpl_QueryInterface(IDirect3DExecuteBuffer *iface,
* The new refcount
*
*****************************************************************************/
-static ULONG WINAPI IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface)
+static ULONG WINAPI d3d_execute_buffer_AddRef(IDirect3DExecuteBuffer *iface)
{
- IDirect3DExecuteBufferImpl *This = impl_from_IDirect3DExecuteBuffer(iface);
- ULONG ref = InterlockedIncrement(&This->ref);
+ struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(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;
}
@@ -622,20 +602,20 @@ static ULONG WINAPI IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *if
* The new refcount
*
*****************************************************************************/
-static ULONG WINAPI IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *iface)
+static ULONG WINAPI d3d_execute_buffer_Release(IDirect3DExecuteBuffer *iface)
{
- IDirect3DExecuteBufferImpl *This = impl_from_IDirect3DExecuteBuffer(iface);
- ULONG ref = InterlockedDecrement(&This->ref);
-
- TRACE("%p decreasing refcount to %u.\n", This, ref);
-
- if (!ref) {
- if (This->need_free)
- HeapFree(GetProcessHeap(),0,This->desc.lpData);
- HeapFree(GetProcessHeap(),0,This->vertex_data);
- HeapFree(GetProcessHeap(),0,This->indices);
- HeapFree(GetProcessHeap(),0,This);
- return 0;
+ struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(iface);
+ ULONG ref = InterlockedDecrement(&buffer->ref);
+
+ TRACE("%p decreasing refcount to %u.\n", buffer, ref);
+
+ if (!ref)
+ {
+ if (buffer->need_free)
+ HeapFree(GetProcessHeap(), 0, buffer->desc.lpData);
+ HeapFree(GetProcessHeap(), 0, buffer->vertex_data);
+ HeapFree(GetProcessHeap(), 0, buffer->indices);
+ HeapFree(GetProcessHeap(), 0, buffer);
}
return ref;
@@ -651,7 +631,7 @@ static ULONG WINAPI IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *i
* D3D_OK
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuffer *iface,
+static HRESULT WINAPI d3d_execute_buffer_Initialize(IDirect3DExecuteBuffer *iface,
IDirect3DDevice *device, D3DEXECUTEBUFFERDESC *desc)
{
TRACE("iface %p, device %p, desc %p.\n", iface, device, desc);
@@ -672,21 +652,20 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuff
* This implementation always returns D3D_OK
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface,
- D3DEXECUTEBUFFERDESC *lpDesc)
+static HRESULT WINAPI d3d_execute_buffer_Lock(IDirect3DExecuteBuffer *iface, D3DEXECUTEBUFFERDESC *desc)
{
- IDirect3DExecuteBufferImpl *This = impl_from_IDirect3DExecuteBuffer(iface);
+ struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(iface);
DWORD dwSize;
- TRACE("iface %p, desc %p.\n", iface, lpDesc);
+ TRACE("iface %p, desc %p.\n", iface, desc);
- dwSize = lpDesc->dwSize;
- memcpy(lpDesc, &This->desc, dwSize);
+ dwSize = desc->dwSize;
+ memcpy(desc, &buffer->desc, dwSize);
if (TRACE_ON(ddraw))
{
TRACE(" Returning description :\n");
- _dump_D3DEXECUTEBUFFERDESC(lpDesc);
+ _dump_D3DEXECUTEBUFFERDESC(desc);
}
return D3D_OK;
}
@@ -700,7 +679,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *if
* This implementation always returns D3D_OK
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *iface)
+static HRESULT WINAPI d3d_execute_buffer_Unlock(IDirect3DExecuteBuffer *iface)
{
TRACE("iface %p.\n", iface);
@@ -721,25 +700,24 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *
* DDERR_OUTOFMEMORY if the vertex buffer allocation failed
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecuteBuffer *iface,
- D3DEXECUTEDATA *lpData)
+static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *iface, D3DEXECUTEDATA *data)
{
- IDirect3DExecuteBufferImpl *This = impl_from_IDirect3DExecuteBuffer(iface);
+ struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(iface);
DWORD nbvert;
- TRACE("iface %p, data %p.\n", iface, lpData);
+ TRACE("iface %p, data %p.\n", iface, data);
- memcpy(&This->data, lpData, lpData->dwSize);
+ memcpy(&buffer->data, data, data->dwSize);
/* Get the number of vertices in the execute buffer */
- nbvert = This->data.dwVertexCount;
+ nbvert = buffer->data.dwVertexCount;
/* Prepares the transformed vertex buffer */
- HeapFree(GetProcessHeap(), 0, This->vertex_data);
- This->vertex_data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nbvert * sizeof(D3DTLVERTEX));
+ HeapFree(GetProcessHeap(), 0, buffer->vertex_data);
+ buffer->vertex_data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nbvert * sizeof(D3DTLVERTEX));
if (TRACE_ON(ddraw))
- _dump_executedata(lpData);
+ _dump_executedata(data);
return D3D_OK;
}
@@ -756,21 +734,20 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecute
* D3D_OK on success
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecuteBuffer *iface,
- D3DEXECUTEDATA *lpData)
+static HRESULT WINAPI d3d_execute_buffer_GetExecuteData(IDirect3DExecuteBuffer *iface, D3DEXECUTEDATA *data)
{
- IDirect3DExecuteBufferImpl *This = impl_from_IDirect3DExecuteBuffer(iface);
+ struct d3d_execute_buffer *buffer = impl_from_IDirect3DExecuteBuffer(iface);
DWORD dwSize;
- TRACE("iface %p, data %p.\n", iface, lpData);
+ TRACE("iface %p, data %p.\n", iface, data);
- dwSize = lpData->dwSize;
- memcpy(lpData, &This->data, dwSize);
+ dwSize = data->dwSize;
+ memcpy(data, &buffer->data, dwSize);
if (TRACE_ON(ddraw))
{
TRACE("Returning data :\n");
- _dump_executedata(lpData);
+ _dump_executedata(data);
}
return DD_OK;
@@ -789,7 +766,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecute
* DDERR_UNSUPPORTED, because it's not implemented in Windows.
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface,
+static HRESULT WINAPI d3d_execute_buffer_Validate(IDirect3DExecuteBuffer *iface,
DWORD *offset, LPD3DVALIDATECALLBACK callback, void *context, DWORD reserved)
{
TRACE("iface %p, offset %p, callback %p, context %p, reserved %#x.\n",
@@ -813,7 +790,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer
* DDERR_UNSUPPORTED, because it's not implemented in Windows.
*
*****************************************************************************/
-static HRESULT WINAPI IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer *iface, DWORD reserved)
+static HRESULT WINAPI d3d_execute_buffer_Optimize(IDirect3DExecuteBuffer *iface, DWORD reserved)
{
TRACE("iface %p, reserved %#x.\n", iface, reserved);
@@ -824,19 +801,19 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer
static const struct IDirect3DExecuteBufferVtbl d3d_execute_buffer_vtbl =
{
- IDirect3DExecuteBufferImpl_QueryInterface,
- IDirect3DExecuteBufferImpl_AddRef,
- IDirect3DExecuteBufferImpl_Release,
- IDirect3DExecuteBufferImpl_Initialize,
- IDirect3DExecuteBufferImpl_Lock,
- IDirect3DExecuteBufferImpl_Unlock,
- IDirect3DExecuteBufferImpl_SetExecuteData,
- IDirect3DExecuteBufferImpl_GetExecuteData,
- IDirect3DExecuteBufferImpl_Validate,
- IDirect3DExecuteBufferImpl_Optimize,
+ d3d_execute_buffer_QueryInterface,
+ d3d_execute_buffer_AddRef,
+ d3d_execute_buffer_Release,
+ d3d_execute_buffer_Initialize,
+ d3d_execute_buffer_Lock,
+ d3d_execute_buffer_Unlock,
+ d3d_execute_buffer_SetExecuteData,
+ d3d_execute_buffer_GetExecuteData,
+ d3d_execute_buffer_Validate,
+ d3d_execute_buffer_Optimize,
};
-HRESULT d3d_execute_buffer_init(IDirect3DExecuteBufferImpl *execute_buffer,
+HRESULT d3d_execute_buffer_init(struct d3d_execute_buffer *execute_buffer,
struct d3d_device *device, D3DEXECUTEBUFFERDESC *desc)
{
execute_buffer->IDirect3DExecuteBuffer_iface.lpVtbl = &d3d_execute_buffer_vtbl;
@@ -871,7 +848,7 @@ HRESULT d3d_execute_buffer_init(IDirect3DExecuteBufferImpl *execute_buffer,
return D3D_OK;
}
-IDirect3DExecuteBufferImpl *unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface)
+struct d3d_execute_buffer *unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface)
{
if (!iface)
return NULL;
--
1.7.3.4
More information about the wine-patches
mailing list