Module: wine Branch: master Commit: bfca7dad7cc49154ca38c1de92b337209d52c4dd URL: http://source.winehq.org/git/wine.git/?a=commit;h=bfca7dad7cc49154ca38c1de92...
Author: Józef Kucia jkucia@codeweavers.com Date: Tue Apr 25 12:25:41 2017 +0200
wined3d: Introduce wined3d_device_set_hs_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 645272d..dfd15d4 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2678,6 +2678,13 @@ struct wined3d_shader * CDECL wined3d_device_get_hull_shader(const struct wined3 return device->state.shader[WINED3D_SHADER_TYPE_HULL]; }
+void CDECL wined3d_device_set_hs_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_HULL, idx, buffer); +} + void CDECL wined3d_device_set_domain_shader(struct wined3d_device *device, struct wined3d_shader *shader) { struct wined3d_shader *prev; diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 06e2fbb..389d777 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -5004,6 +5004,8 @@ const struct StateEntryTemplate misc_state_template[] = { { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), state_cb, }, ARB_UNIFORM_BUFFER_OBJECT }, { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), state_cb_warn, }, WINED3D_GL_EXT_NONE }, + { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL), state_cb, }, ARB_UNIFORM_BUFFER_OBJECT }, + { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL), { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL), state_cb_warn, }, WINED3D_GL_EXT_NONE }, { STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY),{ STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY),state_cb, }, ARB_UNIFORM_BUFFER_OBJECT }, { 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 }, @@ -5996,6 +5998,7 @@ static void validate_state_table(struct StateEntry *state_table) STATE_SHADER(WINED3D_SHADER_TYPE_PIXEL), STATE_SHADER(WINED3D_SHADER_TYPE_COMPUTE), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX), + STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL), STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE), diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index 074d02c..02dee0b 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -133,6 +133,7 @@ @ cdecl wined3d_device_set_gs_cb(ptr long ptr) @ cdecl wined3d_device_set_gs_resource_view(ptr long ptr) @ cdecl wined3d_device_set_gs_sampler(ptr long ptr) +@ cdecl wined3d_device_set_hs_cb(ptr long ptr) @ cdecl wined3d_device_set_hull_shader(ptr ptr) @ cdecl wined3d_device_set_index_buffer(ptr ptr long long) @ cdecl wined3d_device_set_light(ptr long ptr) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index e1d7702..1c9f854 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2326,6 +2326,7 @@ void __cdecl wined3d_device_set_gs_cb(struct wined3d_device *device, UINT idx, s void __cdecl wined3d_device_set_gs_resource_view(struct wined3d_device *device, UINT idx, struct wined3d_shader_resource_view *view); void __cdecl wined3d_device_set_gs_sampler(struct wined3d_device *device, UINT idx, struct wined3d_sampler *sampler); +void __cdecl wined3d_device_set_hs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer); void __cdecl wined3d_device_set_hull_shader(struct wined3d_device *device, struct wined3d_shader *shader); void __cdecl wined3d_device_set_index_buffer(struct wined3d_device *device, struct wined3d_buffer *index_buffer, enum wined3d_format_id format_id, unsigned int offset);