Henri Verbeet : wined3d: Pass a wined3d_buffer structure to buffer_get_memory().

Alexandre Julliard julliard at winehq.org
Wed Dec 8 10:56:23 CST 2010


Module: wine
Branch: master
Commit: 5fc53941efc82cee0d6ec2beddb1fd31e7eb5f1e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5fc53941efc82cee0d6ec2beddb1fd31e7eb5f1e

Author: Henri Verbeet <hverbeet at 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,




More information about the wine-cvs mailing list