Zebediah Figura : wined3d: Move the "users" field to a common wined3d_bo structure.
Alexandre Julliard
julliard at winehq.org
Thu Oct 14 15:09:33 CDT 2021
Module: wine
Branch: master
Commit: 59f16dd564175847244ad31eab729b481b0c198d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=59f16dd564175847244ad31eab729b481b0c198d
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Tue Oct 12 16:15:44 2021 -0500
wined3d: Move the "users" field to a common wined3d_bo structure.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/adapter_vk.c | 8 ++++----
dlls/wined3d/buffer.c | 4 ++--
dlls/wined3d/context_gl.c | 10 +++++-----
dlls/wined3d/context_vk.c | 4 ++--
dlls/wined3d/view.c | 8 ++++----
dlls/wined3d/wined3d_private.h | 11 +++++++++--
6 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/dlls/wined3d/adapter_vk.c b/dlls/wined3d/adapter_vk.c
index 5667cd8d0d3..fe738a4bcaa 100644
--- a/dlls/wined3d/adapter_vk.c
+++ b/dlls/wined3d/adapter_vk.c
@@ -939,13 +939,13 @@ static void *adapter_vk_map_bo_address(struct wined3d_context *context,
if (wined3d_context_vk_create_bo(context_vk, bo->size, bo->usage, bo->memory_type, &tmp))
{
bool host_synced = bo->host_synced;
- list_move_head(&tmp.users, &bo->users);
+ list_move_head(&tmp.b.users, &bo->b.users);
wined3d_context_vk_destroy_bo(context_vk, bo);
*bo = tmp;
bo->host_synced = host_synced;
- list_init(&bo->users);
- list_move_head(&bo->users, &tmp.users);
- LIST_FOR_EACH_ENTRY(bo_user, &bo->users, struct wined3d_bo_user, entry)
+ list_init(&bo->b.users);
+ list_move_head(&bo->b.users, &tmp.b.users);
+ LIST_FOR_EACH_ENTRY(bo_user, &bo->b.users, struct wined3d_bo_user, entry)
{
bo_user->valid = false;
}
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 3ea3bf4b180..e1a5ec26c29 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -193,7 +193,7 @@ static BOOL wined3d_buffer_gl_create_buffer_object(struct wined3d_buffer_gl *buf
return FALSE;
}
- list_add_head(&buffer_gl->bo.users, &buffer_gl->bo_user.entry);
+ list_add_head(&buffer_gl->bo.b.users, &buffer_gl->bo_user.entry);
buffer_gl->b.buffer_object = (uintptr_t)bo;
buffer_invalidate_bo_range(&buffer_gl->b, 0, 0);
@@ -1429,7 +1429,7 @@ static BOOL wined3d_buffer_vk_create_buffer_object(struct wined3d_buffer_vk *buf
}
list_init(&buffer_vk->bo_user.entry);
- list_add_head(&buffer_vk->bo.users, &buffer_vk->bo_user.entry);
+ list_add_head(&buffer_vk->bo.b.users, &buffer_vk->bo_user.entry);
buffer_vk->b.buffer_object = (uintptr_t)&buffer_vk->bo;
buffer_invalidate_bo_range(&buffer_vk->b, 0, 0);
diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c
index 0e4b900efe0..55782f1ba8e 100644
--- a/dlls/wined3d/context_gl.c
+++ b/dlls/wined3d/context_gl.c
@@ -2686,12 +2686,12 @@ static void *wined3d_bo_gl_map(struct wined3d_bo_gl *bo,
if (wined3d_context_gl_create_bo(context_gl, bo->size,
bo->binding, bo->usage, bo->coherent, bo->flags, &tmp))
{
- list_move_head(&tmp.users, &bo->users);
+ list_move_head(&tmp.b.users, &bo->b.users);
wined3d_context_gl_destroy_bo(context_gl, bo);
*bo = tmp;
- list_init(&bo->users);
- list_move_head(&bo->users, &tmp.users);
- LIST_FOR_EACH_ENTRY(bo_user, &bo->users, struct wined3d_bo_user, entry)
+ list_init(&bo->b.users);
+ list_move_head(&bo->b.users, &tmp.b.users);
+ LIST_FOR_EACH_ENTRY(bo_user, &bo->b.users, struct wined3d_bo_user, entry)
{
bo_user->valid = false;
}
@@ -2887,7 +2887,7 @@ bool wined3d_context_gl_create_bo(struct wined3d_context_gl *context_gl, GLsizei
bo->usage = usage;
bo->flags = flags;
bo->coherent = coherent;
- list_init(&bo->users);
+ list_init(&bo->b.users);
bo->command_fence_id = 0;
return true;
diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index af7b9fc1830..ebd8bbece89 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -413,7 +413,7 @@ static bool wined3d_context_vk_create_slab_bo(struct wined3d_context_vk *context
bo->buffer_offset = idx * object_size;
bo->memory_offset = slab->bo.memory_offset + bo->buffer_offset;
bo->size = size;
- list_init(&bo->users);
+ list_init(&bo->b.users);
bo->command_buffer_id = 0;
bo->host_synced = false;
@@ -492,7 +492,7 @@ BOOL wined3d_context_vk_create_bo(struct wined3d_context_vk *context_vk, VkDevic
bo->size = size;
bo->usage = usage;
bo->memory_type = adapter_vk->memory_properties.memoryTypes[memory_type_idx].propertyFlags;
- list_init(&bo->users);
+ list_init(&bo->b.users);
bo->command_buffer_id = 0;
bo->slab = NULL;
bo->host_synced = false;
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index 565d35d1c5a..a8b3a7b4f75 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -966,7 +966,7 @@ static void wined3d_shader_resource_view_gl_cs_init(void *object)
context = context_acquire(resource->device, NULL, 0);
create_buffer_view(&view_gl->gl_view, context, desc, buffer, view_format);
view_gl->bo_user.valid = true;
- list_add_head(&wined3d_buffer_gl(buffer)->bo.users, &view_gl->bo_user.entry);
+ list_add_head(&wined3d_buffer_gl(buffer)->bo.b.users, &view_gl->bo_user.entry);
context_release(context);
}
else
@@ -1096,7 +1096,7 @@ static void wined3d_shader_resource_view_vk_cs_init(void *object)
srv_vk->view_vk.u.vk_buffer_view = vk_buffer_view;
srv_vk->view_vk.bo_user.valid = true;
- list_add_head(&buffer_vk->bo.users, &srv_vk->view_vk.bo_user.entry);
+ list_add_head(&buffer_vk->bo.b.users, &srv_vk->view_vk.bo_user.entry);
return;
}
@@ -1646,7 +1646,7 @@ static void wined3d_unordered_access_view_gl_cs_init(void *object)
context_gl = wined3d_context_gl(context_acquire(resource->device, NULL, 0));
create_buffer_view(&view_gl->gl_view, &context_gl->c, desc, buffer, view_gl->v.format);
view_gl->bo_user.valid = true;
- list_add_head(&wined3d_buffer_gl(buffer)->bo.users, &view_gl->bo_user.entry);
+ list_add_head(&wined3d_buffer_gl(buffer)->bo.b.users, &view_gl->bo_user.entry);
if (desc->flags & (WINED3D_VIEW_BUFFER_COUNTER | WINED3D_VIEW_BUFFER_APPEND))
{
struct wined3d_bo_gl *bo = &view_gl->counter_bo;
@@ -2196,7 +2196,7 @@ static void wined3d_unordered_access_view_vk_cs_init(void *object)
uav_vk->view_vk.u.vk_buffer_view = vk_buffer_view;
uav_vk->view_vk.bo_user.valid = true;
- list_add_head(&buffer_vk->bo.users, &view_vk->bo_user.entry);
+ list_add_head(&buffer_vk->bo.b.users, &view_vk->bo_user.entry);
}
if (desc->flags & (WINED3D_VIEW_BUFFER_COUNTER | WINED3D_VIEW_BUFFER_APPEND))
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 0884ba5c023..ab262e3425c 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1588,8 +1588,15 @@ do { \
#define checkGLcall(A) do {} while(0)
#endif
+struct wined3d_bo
+{
+ struct list users;
+};
+
struct wined3d_bo_gl
{
+ struct wined3d_bo b;
+
GLuint id;
GLsizeiptr size;
GLenum binding;
@@ -1597,7 +1604,6 @@ struct wined3d_bo_gl
GLbitfield flags;
bool coherent;
- struct list users;
uint64_t command_fence_id;
};
@@ -1614,6 +1620,8 @@ struct wined3d_bo_user
struct wined3d_bo_vk
{
+ struct wined3d_bo b;
+
VkBuffer vk_buffer;
struct wined3d_allocator_block *memory;
struct wined3d_bo_slab_vk *slab;
@@ -1627,7 +1635,6 @@ struct wined3d_bo_vk
VkBufferUsageFlags usage;
VkMemoryPropertyFlags memory_type;
- struct list users;
uint64_t command_buffer_id;
bool host_synced;
};
More information about the wine-cvs
mailing list