[PATCH 09/10] wined3d: Introduce wined3d_device_dispatch_compute().

Guillaume Charifi guillaume.charifi at sfr.fr
Sun Jan 29 07:43:40 CST 2017


Signed-off-by: Guillaume Charifi <guillaume.charifi at sfr.fr>
---
 dlls/wined3d/device.c     | 9 +++++++++
 dlls/wined3d/wined3d.spec | 1 +
 include/wine/wined3d.h    | 2 ++
 3 files changed, 12 insertions(+)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 0b617b6..1f2b181 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3617,6 +3617,15 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
             start_idx, index_count, start_instance, instance_count, TRUE);
 }
 
+HRESULT CDECL wined3d_device_dispatch_compute(struct wined3d_device *device, UINT thread_group_count_x, UINT thread_group_count_y, UINT thread_group_count_z)
+{
+    TRACE("device %p, thread_group_count_x %u, thread_group_count_y %u, thread_group_count_z %u.\n", device, thread_group_count_x, thread_group_count_y, thread_group_count_z);
+
+    wined3d_cs_emit_dispatch_compute(device->cs, thread_group_count_x, thread_group_count_y, thread_group_count_z);
+
+    return WINED3D_OK;
+}
+
 static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
         struct wined3d_texture *src_texture, unsigned int src_level,
         struct wined3d_texture *dst_texture, unsigned int level_count)
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index ec0fc9b..c131600 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -39,6 +39,7 @@
 @ cdecl wined3d_device_copy_sub_resource_region(ptr ptr long long long long ptr long ptr)
 @ cdecl wined3d_device_create(ptr long long ptr long long ptr ptr)
 @ cdecl wined3d_device_decref(ptr)
+@ cdecl wined3d_device_dispatch_compute(ptr long long long)
 @ cdecl wined3d_device_draw_indexed_primitive(ptr long long)
 @ cdecl wined3d_device_draw_indexed_primitive_instanced(ptr long long long long)
 @ cdecl wined3d_device_draw_primitive(ptr long long)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 3b8d030..e770d50 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2133,6 +2133,8 @@ HRESULT __cdecl wined3d_device_create(struct wined3d *wined3d, UINT adapter_idx,
         enum wined3d_device_type device_type, HWND focus_window, DWORD behaviour_flags, BYTE surface_alignment,
         struct wined3d_device_parent *device_parent, struct wined3d_device **device);
 ULONG __cdecl wined3d_device_decref(struct wined3d_device *device);
+HRESULT __cdecl wined3d_device_dispatch_compute(struct wined3d_device *device, UINT thread_group_count_x,
+        UINT thread_group_count_y, UINT thread_group_count_z);
 HRESULT __cdecl wined3d_device_draw_indexed_primitive(struct wined3d_device *device, UINT start_idx, UINT index_count);
 void __cdecl wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device *device,
         UINT start_idx, UINT index_count, UINT start_instance, UINT instance_count);
-- 
Guillaume Charifi <guillaume.charifi at sfr.fr>




More information about the wine-patches mailing list