Henri Verbeet : wined3d: Return data as struct wined3d_bo_address in buffer_get_memory().
Alexandre Julliard
julliard at winehq.org
Mon Jul 11 13:17:48 CDT 2011
Module: wine
Branch: master
Commit: 89bf30a25e5c9342de52b1c6d742009a9b03f8ce
URL: http://source.winehq.org/git/wine.git/?a=commit;h=89bf30a25e5c9342de52b1c6d742009a9b03f8ce
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Mon Jul 11 01:06:45 2011 +0200
wined3d: Return data as struct wined3d_bo_address in buffer_get_memory().
---
dlls/wined3d/buffer.c | 15 ++++++++-------
dlls/wined3d/device.c | 2 +-
dlls/wined3d/wined3d_private.h | 4 ++--
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index fa14f3a..305b5e9 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -467,10 +467,10 @@ static inline void fixup_transformed_pos(float *p)
}
/* Context activation is done by the caller. */
-const BYTE *buffer_get_memory(struct wined3d_buffer *buffer,
- const struct wined3d_gl_info *gl_info, GLuint *buffer_object)
+void buffer_get_memory(struct wined3d_buffer *buffer, const struct wined3d_gl_info *gl_info,
+ struct wined3d_bo_address *data)
{
- *buffer_object = buffer->buffer_object;
+ data->buffer_object = buffer->buffer_object;
if (!buffer->buffer_object)
{
if (buffer->flags & WINED3D_BUFFER_CREATEBO)
@@ -479,15 +479,16 @@ const BYTE *buffer_get_memory(struct wined3d_buffer *buffer,
buffer->flags &= ~WINED3D_BUFFER_CREATEBO;
if (buffer->buffer_object)
{
- *buffer_object = buffer->buffer_object;
- return NULL;
+ data->buffer_object = buffer->buffer_object;
+ data->addr = NULL;
+ return;
}
}
- return buffer->resource.allocatedMemory;
+ data->addr = buffer->resource.allocatedMemory;
}
else
{
- return NULL;
+ data->addr = NULL;
}
}
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 7c03df3..5cc1c84 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -213,7 +213,7 @@ void device_stream_info_from_declaration(struct wined3d_device *device,
else
{
TRACE("Stream %u isn't UP, %p\n", element->input_slot, buffer);
- data.addr = buffer_get_memory(buffer, &device->adapter->gl_info, &data.buffer_object);
+ buffer_get_memory(buffer, &device->adapter->gl_info, &data);
/* 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 ca852ee..6119a06 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2405,8 +2405,8 @@ static inline struct wined3d_buffer *buffer_from_resource(struct wined3d_resourc
return CONTAINING_RECORD(resource, struct wined3d_buffer, resource);
}
-const BYTE *buffer_get_memory(struct wined3d_buffer *buffer, const struct wined3d_gl_info *gl_info,
- GLuint *buffer_object) DECLSPEC_HIDDEN;
+void buffer_get_memory(struct wined3d_buffer *buffer, const struct wined3d_gl_info *gl_info,
+ struct wined3d_bo_address *data) DECLSPEC_HIDDEN;
BYTE *buffer_get_sysmem(struct wined3d_buffer *This, const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
struct wined3d_rendertarget_view
More information about the wine-cvs
mailing list