Module: wine Branch: master Commit: 5fc53941efc82cee0d6ec2beddb1fd31e7eb5f1e URL: http://source.winehq.org/git/wine.git/?a=commit;h=5fc53941efc82cee0d6ec2bedd...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Dec 7 18:47:06 2010 +0100
wined3d: Pass a wined3d_buffer structure to buffer_get_memory().
---
dlls/wined3d/buffer.c | 23 +++++++++++------------ dlls/wined3d/device.c | 2 +- dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index 09c07fe..3048834 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -4,7 +4,7 @@ * Copyright 2004 Christian Costa * Copyright 2005 Oliver Stieber * Copyright 2007-2010 Stefan Dösinger for CodeWeavers - * Copyright 2009 Henri Verbeet for CodeWeavers + * Copyright 2009-2010 Henri Verbeet for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -611,24 +611,23 @@ static inline void fixup_transformed_pos(float *p) }
/* Context activation is done by the caller. */ -const BYTE *buffer_get_memory(IWineD3DBuffer *iface, const struct wined3d_gl_info *gl_info, GLuint *buffer_object) +const BYTE *buffer_get_memory(struct wined3d_buffer *buffer, + const struct wined3d_gl_info *gl_info, GLuint *buffer_object) { - struct wined3d_buffer *This = (struct wined3d_buffer *)iface; - - *buffer_object = This->buffer_object; - if (!This->buffer_object) + *buffer_object = buffer->buffer_object; + if (!buffer->buffer_object) { - if (This->flags & WINED3D_BUFFER_CREATEBO) + if (buffer->flags & WINED3D_BUFFER_CREATEBO) { - buffer_create_buffer_object(This, gl_info); - This->flags &= ~WINED3D_BUFFER_CREATEBO; - if (This->buffer_object) + buffer_create_buffer_object(buffer, gl_info); + buffer->flags &= ~WINED3D_BUFFER_CREATEBO; + if (buffer->buffer_object) { - *buffer_object = This->buffer_object; + *buffer_object = buffer->buffer_object; return NULL; } } - return This->resource.allocatedMemory; + return buffer->resource.allocatedMemory; } else { diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index c9920e8..ec50693 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -213,7 +213,7 @@ void device_stream_info_from_declaration(IWineD3DDeviceImpl *This, else { TRACE("Stream %u isn't UP, %p\n", element->input_slot, buffer); - data = buffer_get_memory((IWineD3DBuffer *)buffer, &This->adapter->gl_info, &buffer_object); + data = buffer_get_memory(buffer, &This->adapter->gl_info, &buffer_object);
/* Can't use vbo's if the base vertex index is negative. OpenGL doesn't accept negative offsets * (or rather offsets bigger than the vbo, because the pointer is unsigned), so use system memory diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 8165f18..310fa87 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -2545,7 +2545,7 @@ struct wined3d_buffer UINT *conversion_shift; /* NULL if no shifted conversion */ };
-const BYTE *buffer_get_memory(IWineD3DBuffer *iface, const struct wined3d_gl_info *gl_info, +const BYTE *buffer_get_memory(struct wined3d_buffer *buffer, const struct wined3d_gl_info *gl_info, GLuint *buffer_object) DECLSPEC_HIDDEN; BYTE *buffer_get_sysmem(struct wined3d_buffer *This, const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN; HRESULT buffer_init(struct wined3d_buffer *buffer, IWineD3DDeviceImpl *device,