Henri Verbeet : wined3d: Add a separate function for rendertarget view initialization.
Alexandre Julliard
julliard at winehq.org
Wed Apr 14 11:24:55 CDT 2010
Module: wine
Branch: master
Commit: d1d8c81439dc118f551e4e2f45e63a14df60e2fc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d1d8c81439dc118f551e4e2f45e63a14df60e2fc
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Apr 13 20:46:24 2010 +0200
wined3d: Add a separate function for rendertarget view initialization.
---
dlls/wined3d/device.c | 10 +++++-----
dlls/wined3d/view.c | 12 +++++++++++-
dlls/wined3d/wined3d_private.h | 3 ++-
3 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 3b87878..ae777a7 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -838,6 +838,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateRendertargetView(IWineD3DDevice *
{
struct wined3d_rendertarget_view *object;
+ TRACE("iface %p, resource %p, parent %p, rendertarget_view %p.\n",
+ iface, resource, parent, rendertarget_view);
+
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
if (!object)
{
@@ -845,12 +848,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateRendertargetView(IWineD3DDevice *
return E_OUTOFMEMORY;
}
- object->vtbl = &wined3d_rendertarget_view_vtbl;
- object->refcount = 1;
- IWineD3DResource_AddRef(resource);
- object->resource = resource;
- object->parent = parent;
+ wined3d_rendertarget_view_init(object, resource, parent);
+ TRACE("Created render target view %p.\n", object);
*rendertarget_view = (IWineD3DRendertargetView *)object;
return WINED3D_OK;
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index bbf0f5f..0c9919d 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -97,7 +97,7 @@ static HRESULT STDMETHODCALLTYPE rendertarget_view_GetResource(IWineD3DRendertar
return WINED3D_OK;
}
-const struct IWineD3DRendertargetViewVtbl wined3d_rendertarget_view_vtbl =
+static const struct IWineD3DRendertargetViewVtbl wined3d_rendertarget_view_vtbl =
{
/* IUnknown methods */
rendertarget_view_QueryInterface,
@@ -108,3 +108,13 @@ const struct IWineD3DRendertargetViewVtbl wined3d_rendertarget_view_vtbl =
/* IWineD3DRendertargetView methods */
rendertarget_view_GetResource,
};
+
+void wined3d_rendertarget_view_init(struct wined3d_rendertarget_view *view,
+ IWineD3DResource *resource, IUnknown *parent)
+{
+ view->vtbl = &wined3d_rendertarget_view_vtbl;
+ view->refcount = 1;
+ IWineD3DResource_AddRef(resource);
+ view->resource = resource;
+ view->parent = parent;
+}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 09e1b81..699a49d 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2549,7 +2549,8 @@ struct wined3d_rendertarget_view
IUnknown *parent;
};
-extern const IWineD3DRendertargetViewVtbl wined3d_rendertarget_view_vtbl DECLSPEC_HIDDEN;
+void wined3d_rendertarget_view_init(struct wined3d_rendertarget_view *view,
+ IWineD3DResource *resource, IUnknown *parent) DECLSPEC_HIDDEN;
/*****************************************************************************
* IWineD3DSwapChainImpl implementation structure (extends IUnknown)
More information about the wine-cvs
mailing list