Henri Verbeet : ddraw: Use wined3d_buffer_create() in d3d_device_prepare_index_buffer().

Alexandre Julliard julliard at winehq.org
Mon Feb 5 16:48:26 CST 2018


Module: wine
Branch: master
Commit: 2e027f866825f7fb6a69f90c88e95e3bfbc5f6dd
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=2e027f866825f7fb6a69f90c88e95e3bfbc5f6dd

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Sun Feb  4 17:38:56 2018 +0330

ddraw: Use wined3d_buffer_create() in d3d_device_prepare_index_buffer().

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ddraw/device.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 28bb2fb..75fd6c4 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -3650,15 +3650,22 @@ static HRESULT d3d_device_prepare_index_buffer(struct d3d_device *device, UINT m
     if (device->index_buffer_size < min_size || !device->index_buffer)
     {
         UINT size = max(device->index_buffer_size * 2, min_size);
+        struct wined3d_buffer_desc desc;
         struct wined3d_buffer *buffer;
 
         TRACE("Growing index buffer to %u bytes\n", size);
 
-        hr = wined3d_buffer_create_ib(device->wined3d_device, size, WINED3DUSAGE_DYNAMIC | WINED3DUSAGE_WRITEONLY,
-                WINED3D_POOL_DEFAULT, NULL, &ddraw_null_wined3d_parent_ops, &buffer);
-        if (FAILED(hr))
+        desc.byte_width = size;
+        desc.usage = WINED3DUSAGE_DYNAMIC | WINED3DUSAGE_WRITEONLY | WINED3DUSAGE_STATICDECL;
+        desc.bind_flags = WINED3D_BIND_INDEX_BUFFER;
+        desc.access = WINED3D_RESOURCE_ACCESS_GPU;
+        desc.misc_flags = 0;
+        desc.structure_byte_stride = 0;
+
+        if (FAILED(hr = wined3d_buffer_create(device->wined3d_device, &desc,
+                NULL, NULL, &ddraw_null_wined3d_parent_ops, &buffer)))
         {
-            ERR("(%p) wined3d_buffer_create_ib failed with hr = %08x\n", device, hr);
+            ERR("Failed to create index buffer, hr %#x.\n", hr);
             return hr;
         }
 




More information about the wine-cvs mailing list