Module: wine Branch: master Commit: 00074ba8a028fa0d775dec14c4d2bb203eecb2bd URL: http://source.winehq.org/git/wine.git/?a=commit;h=00074ba8a028fa0d775dec14c4...
Author: Józef Kucia jkucia@codeweavers.com Date: Wed Feb 1 11:26:18 2017 +0100
wined3d: Introduce wined3d_device_set_cs_cb().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/device.c | 7 +++++++ dlls/wined3d/state.c | 3 +++ dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 1 + 4 files changed, 12 insertions(+)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 73b7e69..acf4307 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2818,6 +2818,13 @@ void CDECL wined3d_device_set_compute_shader(struct wined3d_device *device, stru wined3d_shader_decref(prev); }
+void CDECL wined3d_device_set_cs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer) +{ + TRACE("device %p, idx %u, buffer %p.\n", device, idx, buffer); + + wined3d_device_set_constant_buffer(device, WINED3D_SHADER_TYPE_COMPUTE, idx, buffer); +} + void CDECL wined3d_device_set_unordered_access_view(struct wined3d_device *device, unsigned int idx, struct wined3d_unordered_access_view *uav) { diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 901a97c..4b21c57 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -4985,6 +4985,8 @@ const struct StateEntryTemplate misc_state_template[] = { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY),{ STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY),state_cb_warn, }, WINED3D_GL_EXT_NONE }, { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), state_cb, }, ARB_UNIFORM_BUFFER_OBJECT }, { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), state_cb_warn, }, WINED3D_GL_EXT_NONE }, + { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), state_cb, }, ARB_UNIFORM_BUFFER_OBJECT }, + { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), state_cb_warn, }, WINED3D_GL_EXT_NONE }, { STATE_SHADER_RESOURCE_BINDING, { STATE_SHADER_RESOURCE_BINDING, state_shader_resource_binding}, WINED3D_GL_EXT_NONE }, { STATE_UNORDERED_ACCESS_VIEW_BINDING, { STATE_UNORDERED_ACCESS_VIEW_BINDING, state_uav_binding }, ARB_SHADER_IMAGE_LOAD_STORE }, { STATE_UNORDERED_ACCESS_VIEW_BINDING, { STATE_UNORDERED_ACCESS_VIEW_BINDING, state_uav_warn }, WINED3D_GL_EXT_NONE }, @@ -5964,6 +5966,7 @@ static void validate_state_table(struct StateEntry *state_table) STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), + STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), STATE_SHADER_RESOURCE_BINDING, STATE_VIEWPORT, STATE_LIGHT_TYPE, diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index bf41e15..3e87ca2 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -110,6 +110,7 @@ @ cdecl wined3d_device_set_clip_plane(ptr long ptr) @ cdecl wined3d_device_set_clip_status(ptr ptr) @ cdecl wined3d_device_set_compute_shader(ptr ptr) +@ cdecl wined3d_device_set_cs_cb(ptr long ptr) @ cdecl wined3d_device_set_cursor_position(ptr long long long) @ cdecl wined3d_device_set_cursor_properties(ptr long long ptr long) @ cdecl wined3d_device_set_depth_stencil_view(ptr ptr) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 4b0ea06..42a125d 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2236,6 +2236,7 @@ HRESULT __cdecl wined3d_device_set_clip_plane(struct wined3d_device *device, HRESULT __cdecl wined3d_device_set_clip_status(struct wined3d_device *device, const struct wined3d_clip_status *clip_status); void __cdecl wined3d_device_set_compute_shader(struct wined3d_device *device, struct wined3d_shader *shader); +void __cdecl wined3d_device_set_cs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer); void __cdecl wined3d_device_set_cursor_position(struct wined3d_device *device, int x_screen_space, int y_screen_space, DWORD flags); HRESULT __cdecl wined3d_device_set_cursor_properties(struct wined3d_device *device,