ddraw: Get rid of IDirectDrawImpl.
This commit is contained in:
parent
06aab27197
commit
1cee1891fd
File diff suppressed because it is too large
Load Diff
|
@ -41,7 +41,6 @@ extern const struct wined3d_parent_ops ddraw_surface_wined3d_parent_ops DECLSPEC
|
||||||
extern const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops DECLSPEC_HIDDEN;
|
extern const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* Typdef the interfaces */
|
/* Typdef the interfaces */
|
||||||
typedef struct IDirectDrawImpl IDirectDrawImpl;
|
|
||||||
typedef struct IDirectDrawSurfaceImpl IDirectDrawSurfaceImpl;
|
typedef struct IDirectDrawSurfaceImpl IDirectDrawSurfaceImpl;
|
||||||
typedef struct IDirectDrawPaletteImpl IDirectDrawPaletteImpl;
|
typedef struct IDirectDrawPaletteImpl IDirectDrawPaletteImpl;
|
||||||
typedef struct IDirect3DDeviceImpl IDirect3DDeviceImpl;
|
typedef struct IDirect3DDeviceImpl IDirect3DDeviceImpl;
|
||||||
|
@ -62,7 +61,7 @@ struct FvfToDecl
|
||||||
struct wined3d_vertex_declaration *decl;
|
struct wined3d_vertex_declaration *decl;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IDirectDrawImpl
|
struct ddraw
|
||||||
{
|
{
|
||||||
/* Interfaces */
|
/* Interfaces */
|
||||||
IDirectDraw7 IDirectDraw7_iface;
|
IDirectDraw7 IDirectDraw7_iface;
|
||||||
|
@ -122,10 +121,10 @@ struct IDirectDrawImpl
|
||||||
|
|
||||||
#define DDRAW_WINDOW_CLASS_NAME "DirectDrawDeviceWnd"
|
#define DDRAW_WINDOW_CLASS_NAME "DirectDrawDeviceWnd"
|
||||||
|
|
||||||
HRESULT ddraw_init(IDirectDrawImpl *ddraw, enum wined3d_device_type device_type) DECLSPEC_HIDDEN;
|
HRESULT ddraw_init(struct ddraw *ddraw, enum wined3d_device_type device_type) DECLSPEC_HIDDEN;
|
||||||
void ddraw_destroy_swapchain(IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
|
void ddraw_destroy_swapchain(struct ddraw *ddraw) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
static inline void ddraw_set_swapchain_window(struct IDirectDrawImpl *ddraw, HWND window)
|
static inline void ddraw_set_swapchain_window(struct ddraw *ddraw, HWND window)
|
||||||
{
|
{
|
||||||
if (window == GetDesktopWindow())
|
if (window == GetDesktopWindow())
|
||||||
window = NULL;
|
window = NULL;
|
||||||
|
@ -135,7 +134,7 @@ static inline void ddraw_set_swapchain_window(struct IDirectDrawImpl *ddraw, HWN
|
||||||
/* Utility functions */
|
/* Utility functions */
|
||||||
void DDRAW_Convert_DDSCAPS_1_To_2(const DDSCAPS *pIn, DDSCAPS2 *pOut) DECLSPEC_HIDDEN;
|
void DDRAW_Convert_DDSCAPS_1_To_2(const DDSCAPS *pIn, DDSCAPS2 *pOut) DECLSPEC_HIDDEN;
|
||||||
void DDRAW_Convert_DDDEVICEIDENTIFIER_2_To_1(const DDDEVICEIDENTIFIER2 *pIn, DDDEVICEIDENTIFIER *pOut) DECLSPEC_HIDDEN;
|
void DDRAW_Convert_DDDEVICEIDENTIFIER_2_To_1(const DDDEVICEIDENTIFIER2 *pIn, DDDEVICEIDENTIFIER *pOut) DECLSPEC_HIDDEN;
|
||||||
struct wined3d_vertex_declaration *ddraw_find_decl(IDirectDrawImpl *This, DWORD fvf) DECLSPEC_HIDDEN;
|
struct wined3d_vertex_declaration *ddraw_find_decl(struct ddraw *ddraw, DWORD fvf) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* The default surface type */
|
/* The default surface type */
|
||||||
extern enum wined3d_surface_type DefaultSurfaceType DECLSPEC_HIDDEN;
|
extern enum wined3d_surface_type DefaultSurfaceType DECLSPEC_HIDDEN;
|
||||||
|
@ -162,7 +161,7 @@ struct IDirectDrawSurfaceImpl
|
||||||
int version;
|
int version;
|
||||||
|
|
||||||
/* Connections to other Objects */
|
/* Connections to other Objects */
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
struct wined3d_surface *wined3d_surface;
|
struct wined3d_surface *wined3d_surface;
|
||||||
struct wined3d_texture *wined3d_texture;
|
struct wined3d_texture *wined3d_texture;
|
||||||
|
|
||||||
|
@ -200,7 +199,7 @@ struct IDirectDrawSurfaceImpl
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT ddraw_surface_create_texture(IDirectDrawSurfaceImpl *surface) DECLSPEC_HIDDEN;
|
HRESULT ddraw_surface_create_texture(IDirectDrawSurfaceImpl *surface) DECLSPEC_HIDDEN;
|
||||||
HRESULT ddraw_surface_init(IDirectDrawSurfaceImpl *surface, IDirectDrawImpl *ddraw,
|
HRESULT ddraw_surface_init(IDirectDrawSurfaceImpl *surface, struct ddraw *ddraw,
|
||||||
DDSURFACEDESC2 *desc, UINT mip_level, UINT version) DECLSPEC_HIDDEN;
|
DDSURFACEDESC2 *desc, UINT mip_level, UINT version) DECLSPEC_HIDDEN;
|
||||||
ULONG ddraw_surface_release_iface(IDirectDrawSurfaceImpl *This) DECLSPEC_HIDDEN;
|
ULONG ddraw_surface_release_iface(IDirectDrawSurfaceImpl *This) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
|
@ -288,7 +287,7 @@ struct IDirect3DDeviceImpl
|
||||||
|
|
||||||
/* Other object connections */
|
/* Other object connections */
|
||||||
struct wined3d_device *wined3d_device;
|
struct wined3d_device *wined3d_device;
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
struct wined3d_buffer *indexbuffer;
|
struct wined3d_buffer *indexbuffer;
|
||||||
IDirectDrawSurfaceImpl *target;
|
IDirectDrawSurfaceImpl *target;
|
||||||
|
|
||||||
|
@ -321,7 +320,7 @@ struct IDirect3DDeviceImpl
|
||||||
D3DMATRIXHANDLE world, proj, view;
|
D3DMATRIXHANDLE world, proj, view;
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT d3d_device_init(IDirect3DDeviceImpl *device, IDirectDrawImpl *ddraw,
|
HRESULT d3d_device_init(IDirect3DDeviceImpl *device, struct ddraw *ddraw,
|
||||||
IDirectDrawSurfaceImpl *target) DECLSPEC_HIDDEN;
|
IDirectDrawSurfaceImpl *target) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* The IID */
|
/* The IID */
|
||||||
|
@ -392,7 +391,7 @@ static inline IDirectDrawPaletteImpl *impl_from_IDirectDrawPalette(IDirectDrawPa
|
||||||
IDirectDrawPaletteImpl *unsafe_impl_from_IDirectDrawPalette(IDirectDrawPalette *iface) DECLSPEC_HIDDEN;
|
IDirectDrawPaletteImpl *unsafe_impl_from_IDirectDrawPalette(IDirectDrawPalette *iface) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
HRESULT ddraw_palette_init(IDirectDrawPaletteImpl *palette,
|
HRESULT ddraw_palette_init(IDirectDrawPaletteImpl *palette,
|
||||||
IDirectDrawImpl *ddraw, DWORD flags, PALETTEENTRY *entries) DECLSPEC_HIDDEN;
|
struct ddraw *ddraw, DWORD flags, PALETTEENTRY *entries) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/* Helper structures */
|
/* Helper structures */
|
||||||
struct object_creation_info
|
struct object_creation_info
|
||||||
|
@ -411,7 +410,7 @@ struct IDirect3DLightImpl
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
|
||||||
/* IDirect3DLight fields */
|
/* IDirect3DLight fields */
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
|
|
||||||
/* If this light is active for one viewport, put the viewport here */
|
/* If this light is active for one viewport, put the viewport here */
|
||||||
IDirect3DViewportImpl *active_viewport;
|
IDirect3DViewportImpl *active_viewport;
|
||||||
|
@ -427,7 +426,7 @@ struct IDirect3DLightImpl
|
||||||
/* Helper functions */
|
/* Helper functions */
|
||||||
void light_activate(IDirect3DLightImpl *light) DECLSPEC_HIDDEN;
|
void light_activate(IDirect3DLightImpl *light) DECLSPEC_HIDDEN;
|
||||||
void light_deactivate(IDirect3DLightImpl *light) DECLSPEC_HIDDEN;
|
void light_deactivate(IDirect3DLightImpl *light) DECLSPEC_HIDDEN;
|
||||||
void d3d_light_init(IDirect3DLightImpl *light, IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
|
void d3d_light_init(IDirect3DLightImpl *light, struct ddraw *ddraw) DECLSPEC_HIDDEN;
|
||||||
IDirect3DLightImpl *unsafe_impl_from_IDirect3DLight(IDirect3DLight *iface) DECLSPEC_HIDDEN;
|
IDirect3DLightImpl *unsafe_impl_from_IDirect3DLight(IDirect3DLight *iface) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
@ -441,7 +440,7 @@ struct IDirect3DMaterialImpl
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
|
||||||
/* IDirect3DMaterial2 fields */
|
/* IDirect3DMaterial2 fields */
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
IDirect3DDeviceImpl *active_device;
|
IDirect3DDeviceImpl *active_device;
|
||||||
|
|
||||||
D3DMATERIAL mat;
|
D3DMATERIAL mat;
|
||||||
|
@ -450,7 +449,7 @@ struct IDirect3DMaterialImpl
|
||||||
|
|
||||||
/* Helper functions */
|
/* Helper functions */
|
||||||
void material_activate(IDirect3DMaterialImpl* This) DECLSPEC_HIDDEN;
|
void material_activate(IDirect3DMaterialImpl* This) DECLSPEC_HIDDEN;
|
||||||
IDirect3DMaterialImpl *d3d_material_create(IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
|
IDirect3DMaterialImpl *d3d_material_create(struct ddraw *ddraw) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDirect3DViewport - Wraps to D3D7
|
* IDirect3DViewport - Wraps to D3D7
|
||||||
|
@ -461,7 +460,7 @@ struct IDirect3DViewportImpl
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
|
||||||
/* IDirect3DViewport fields */
|
/* IDirect3DViewport fields */
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
|
|
||||||
/* If this viewport is active for one device, put the device here */
|
/* If this viewport is active for one device, put the device here */
|
||||||
IDirect3DDeviceImpl *active_device;
|
IDirect3DDeviceImpl *active_device;
|
||||||
|
@ -490,7 +489,7 @@ IDirect3DViewportImpl *unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *ifa
|
||||||
|
|
||||||
/* Helper functions */
|
/* Helper functions */
|
||||||
void viewport_activate(IDirect3DViewportImpl* This, BOOL ignore_lights) DECLSPEC_HIDDEN;
|
void viewport_activate(IDirect3DViewportImpl* This, BOOL ignore_lights) DECLSPEC_HIDDEN;
|
||||||
void d3d_viewport_init(IDirect3DViewportImpl *viewport, IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
|
void d3d_viewport_init(IDirect3DViewportImpl *viewport, struct ddraw *ddraw) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDirect3DExecuteBuffer - Wraps to D3D7
|
* IDirect3DExecuteBuffer - Wraps to D3D7
|
||||||
|
@ -500,7 +499,7 @@ struct IDirect3DExecuteBufferImpl
|
||||||
IDirect3DExecuteBuffer IDirect3DExecuteBuffer_iface;
|
IDirect3DExecuteBuffer IDirect3DExecuteBuffer_iface;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
/* IDirect3DExecuteBuffer fields */
|
/* IDirect3DExecuteBuffer fields */
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
IDirect3DDeviceImpl *d3ddev;
|
IDirect3DDeviceImpl *d3ddev;
|
||||||
|
|
||||||
D3DEXECUTEBUFFERDESC desc;
|
D3DEXECUTEBUFFERDESC desc;
|
||||||
|
@ -537,14 +536,14 @@ struct IDirect3DVertexBufferImpl
|
||||||
/*** WineD3D and ddraw links ***/
|
/*** WineD3D and ddraw links ***/
|
||||||
struct wined3d_buffer *wineD3DVertexBuffer;
|
struct wined3d_buffer *wineD3DVertexBuffer;
|
||||||
struct wined3d_vertex_declaration *wineD3DVertexDeclaration;
|
struct wined3d_vertex_declaration *wineD3DVertexDeclaration;
|
||||||
IDirectDrawImpl *ddraw;
|
struct ddraw *ddraw;
|
||||||
|
|
||||||
/*** Storage for D3D7 specific things ***/
|
/*** Storage for D3D7 specific things ***/
|
||||||
DWORD Caps;
|
DWORD Caps;
|
||||||
DWORD fvf;
|
DWORD fvf;
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, IDirectDrawImpl *ddraw,
|
HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, struct ddraw *ddraw,
|
||||||
D3DVERTEXBUFFERDESC *desc) DECLSPEC_HIDDEN;
|
D3DVERTEXBUFFERDESC *desc) DECLSPEC_HIDDEN;
|
||||||
IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface) DECLSPEC_HIDDEN;
|
IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer(IDirect3DVertexBuffer *iface) DECLSPEC_HIDDEN;
|
||||||
IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface) DECLSPEC_HIDDEN;
|
IDirect3DVertexBufferImpl *unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -7019,7 +7019,7 @@ enum wined3d_depth_buffer_type IDirect3DDeviceImpl_UpdateDepthStencil(IDirect3DD
|
||||||
return WINED3D_ZB_TRUE;
|
return WINED3D_ZB_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT d3d_device_init(IDirect3DDeviceImpl *device, IDirectDrawImpl *ddraw, IDirectDrawSurfaceImpl *target)
|
HRESULT d3d_device_init(IDirect3DDeviceImpl *device, struct ddraw *ddraw, IDirectDrawSurfaceImpl *target)
|
||||||
{
|
{
|
||||||
static const D3DMATRIX ident =
|
static const D3DMATRIX ident =
|
||||||
{
|
{
|
||||||
|
|
|
@ -276,7 +276,7 @@ static const struct IDirect3DLightVtbl d3d_light_vtbl =
|
||||||
IDirect3DLightImpl_GetLight
|
IDirect3DLightImpl_GetLight
|
||||||
};
|
};
|
||||||
|
|
||||||
void d3d_light_init(IDirect3DLightImpl *light, IDirectDrawImpl *ddraw)
|
void d3d_light_init(IDirect3DLightImpl *light, struct ddraw *ddraw)
|
||||||
{
|
{
|
||||||
light->IDirect3DLight_iface.lpVtbl = &d3d_light_vtbl;
|
light->IDirect3DLight_iface.lpVtbl = &d3d_light_vtbl;
|
||||||
light->ref = 1;
|
light->ref = 1;
|
||||||
|
|
|
@ -187,7 +187,7 @@ DDRAW_Create(const GUID *guid,
|
||||||
REFIID iid)
|
REFIID iid)
|
||||||
{
|
{
|
||||||
enum wined3d_device_type device_type;
|
enum wined3d_device_type device_type;
|
||||||
IDirectDrawImpl *This;
|
struct ddraw *ddraw;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
TRACE("driver_guid %s, ddraw %p, outer_unknown %p, interface_iid %s.\n",
|
TRACE("driver_guid %s, ddraw %p, outer_unknown %p, interface_iid %s.\n",
|
||||||
|
@ -220,25 +220,27 @@ DDRAW_Create(const GUID *guid,
|
||||||
return CLASS_E_NOAGGREGATION;
|
return CLASS_E_NOAGGREGATION;
|
||||||
|
|
||||||
/* DirectDraw creation comes here */
|
/* DirectDraw creation comes here */
|
||||||
This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
|
ddraw = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*ddraw));
|
||||||
if(!This)
|
if (!ddraw)
|
||||||
{
|
{
|
||||||
ERR("Out of memory when creating DirectDraw\n");
|
ERR("Out of memory when creating DirectDraw\n");
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = ddraw_init(This, device_type);
|
hr = ddraw_init(ddraw, device_type);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
WARN("Failed to initialize ddraw object, hr %#x.\n", hr);
|
WARN("Failed to initialize ddraw object, hr %#x.\n", hr);
|
||||||
HeapFree(GetProcessHeap(), 0, This);
|
HeapFree(GetProcessHeap(), 0, ddraw);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = IDirectDraw7_QueryInterface(&This->IDirectDraw7_iface, iid, DD);
|
hr = IDirectDraw7_QueryInterface(&ddraw->IDirectDraw7_iface, iid, DD);
|
||||||
IDirectDraw7_Release(&This->IDirectDraw7_iface);
|
IDirectDraw7_Release(&ddraw->IDirectDraw7_iface);
|
||||||
if (SUCCEEDED(hr)) list_add_head(&global_ddraw_list, &This->ddraw_list_entry);
|
if (SUCCEEDED(hr))
|
||||||
else WARN("Failed to query interface %s from ddraw object %p.\n", debugstr_guid(iid), This);
|
list_add_head(&global_ddraw_list, &ddraw->ddraw_list_entry);
|
||||||
|
else
|
||||||
|
WARN("Failed to query interface %s from ddraw object %p.\n", debugstr_guid(iid), ddraw);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
@ -928,10 +930,10 @@ DllMain(HINSTANCE hInstDLL,
|
||||||
/* We remove elements from this loop */
|
/* We remove elements from this loop */
|
||||||
LIST_FOR_EACH_SAFE(entry, entry2, &global_ddraw_list)
|
LIST_FOR_EACH_SAFE(entry, entry2, &global_ddraw_list)
|
||||||
{
|
{
|
||||||
|
struct ddraw *ddraw = LIST_ENTRY(entry, struct ddraw, ddraw_list_entry);
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
DDSURFACEDESC2 desc;
|
DDSURFACEDESC2 desc;
|
||||||
int i;
|
int i;
|
||||||
IDirectDrawImpl *ddraw = LIST_ENTRY(entry, IDirectDrawImpl, ddraw_list_entry);
|
|
||||||
|
|
||||||
WARN("DDraw %p has a refcount of %d\n", ddraw, ddraw->ref7 + ddraw->ref4 + ddraw->ref3 + ddraw->ref2 + ddraw->ref1);
|
WARN("DDraw %p has a refcount of %d\n", ddraw, ddraw->ref7 + ddraw->ref4 + ddraw->ref3 + ddraw->ref2 + ddraw->ref1);
|
||||||
|
|
||||||
|
|
|
@ -506,7 +506,7 @@ static const struct IDirect3DMaterialVtbl d3d_material1_vtbl =
|
||||||
IDirect3DMaterialImpl_Unreserve
|
IDirect3DMaterialImpl_Unreserve
|
||||||
};
|
};
|
||||||
|
|
||||||
IDirect3DMaterialImpl *d3d_material_create(IDirectDrawImpl *ddraw)
|
IDirect3DMaterialImpl *d3d_material_create(struct ddraw *ddraw)
|
||||||
{
|
{
|
||||||
IDirect3DMaterialImpl *material;
|
IDirect3DMaterialImpl *material;
|
||||||
|
|
||||||
|
|
|
@ -269,7 +269,7 @@ IDirectDrawPaletteImpl *unsafe_impl_from_IDirectDrawPalette(IDirectDrawPalette *
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT ddraw_palette_init(IDirectDrawPaletteImpl *palette,
|
HRESULT ddraw_palette_init(IDirectDrawPaletteImpl *palette,
|
||||||
IDirectDrawImpl *ddraw, DWORD flags, PALETTEENTRY *entries)
|
struct ddraw *ddraw, DWORD flags, PALETTEENTRY *entries)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
|
|
|
@ -5503,7 +5503,7 @@ HRESULT ddraw_surface_create_texture(IDirectDrawSurfaceImpl *surface)
|
||||||
levels, 0, format, pool, surface, &ddraw_texture_wined3d_parent_ops, &surface->wined3d_texture);
|
levels, 0, format, pool, surface, &ddraw_texture_wined3d_parent_ops, &surface->wined3d_texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT ddraw_surface_init(IDirectDrawSurfaceImpl *surface, IDirectDrawImpl *ddraw,
|
HRESULT ddraw_surface_init(IDirectDrawSurfaceImpl *surface, struct ddraw *ddraw,
|
||||||
DDSURFACEDESC2 *desc, UINT mip_level, UINT version)
|
DDSURFACEDESC2 *desc, UINT mip_level, UINT version)
|
||||||
{
|
{
|
||||||
enum wined3d_pool pool = WINED3D_POOL_DEFAULT;
|
enum wined3d_pool pool = WINED3D_POOL_DEFAULT;
|
||||||
|
|
|
@ -539,7 +539,7 @@ static const struct IDirect3DVertexBufferVtbl d3d_vertex_buffer1_vtbl =
|
||||||
IDirect3DVertexBufferImpl_1_Optimize
|
IDirect3DVertexBufferImpl_1_Optimize
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, IDirectDrawImpl *ddraw,
|
HRESULT d3d_vertex_buffer_create(IDirect3DVertexBufferImpl **vertex_buf, struct ddraw *ddraw,
|
||||||
D3DVERTEXBUFFERDESC *desc)
|
D3DVERTEXBUFFERDESC *desc)
|
||||||
{
|
{
|
||||||
IDirect3DVertexBufferImpl *buffer;
|
IDirect3DVertexBufferImpl *buffer;
|
||||||
|
|
|
@ -1191,7 +1191,7 @@ IDirect3DViewportImpl *unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *ifa
|
||||||
return CONTAINING_RECORD(iface, IDirect3DViewportImpl, IDirect3DViewport3_iface);
|
return CONTAINING_RECORD(iface, IDirect3DViewportImpl, IDirect3DViewport3_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
void d3d_viewport_init(IDirect3DViewportImpl *viewport, IDirectDrawImpl *ddraw)
|
void d3d_viewport_init(IDirect3DViewportImpl *viewport, struct ddraw *ddraw)
|
||||||
{
|
{
|
||||||
viewport->IDirect3DViewport3_iface.lpVtbl = &d3d_viewport_vtbl;
|
viewport->IDirect3DViewport3_iface.lpVtbl = &d3d_viewport_vtbl;
|
||||||
viewport->ref = 1;
|
viewport->ref = 1;
|
||||||
|
|
Loading…
Reference in New Issue