Henri Verbeet : wined3d: Implement wined3d_buffer_create_ib() on top of wined3d_buffer_create().
Alexandre Julliard
julliard at winehq.org
Mon Feb 5 16:48:25 CST 2018
Module: wine
Branch: master
Commit: c0f92bd318cf336a0182f36db55b1bd277aafeda
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c0f92bd318cf336a0182f36db55b1bd277aafeda
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Sun Feb 4 17:38:55 2018 +0330
wined3d: Implement wined3d_buffer_create_ib() on top of wined3d_buffer_create().
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/buffer.c | 28 ++++++++--------------------
1 file changed, 8 insertions(+), 20 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 12e4396..593d886 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1491,29 +1491,17 @@ HRESULT CDECL wined3d_buffer_create_vb(struct wined3d_device *device, UINT size,
HRESULT CDECL wined3d_buffer_create_ib(struct wined3d_device *device, UINT size, DWORD usage, enum wined3d_pool pool,
void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer)
{
- struct wined3d_buffer *object;
- HRESULT hr;
+ struct wined3d_buffer_desc desc;
TRACE("device %p, size %u, usage %#x, pool %#x, parent %p, parent_ops %p, buffer %p.\n",
device, size, usage, pool, parent, parent_ops, buffer);
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
- if (!object)
- {
- *buffer = NULL;
- return WINED3DERR_OUTOFVIDEOMEMORY;
- }
-
- if (FAILED(hr = buffer_init(object, device, size, usage | WINED3DUSAGE_STATICDECL, WINED3DFMT_UNKNOWN,
- resource_access_from_pool(pool), WINED3D_BIND_INDEX_BUFFER, NULL, parent, parent_ops)))
- {
- WARN("Failed to initialize buffer, hr %#x\n", hr);
- HeapFree(GetProcessHeap(), 0, object);
- return hr;
- }
-
- TRACE("Created buffer %p.\n", object);
- *buffer = object;
+ desc.byte_width = size;
+ desc.usage = usage | WINED3DUSAGE_STATICDECL;
+ desc.bind_flags = WINED3D_BIND_INDEX_BUFFER;
+ desc.access = resource_access_from_pool(pool);
+ desc.misc_flags = 0;
+ desc.structure_byte_stride = 0;
- return WINED3D_OK;
+ return wined3d_buffer_create(device, &desc, NULL, parent, parent_ops, buffer);
}
More information about the wine-cvs
mailing list