Module: wine Branch: master Commit: 9265d5515153bf7c7e02e2b2dd6537a44cd4c2b5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9265d5515153bf7c7e02e2b2dd...
Author: Józef Kucia jkucia@codeweavers.com Date: Tue Mar 7 09:50:20 2017 +0100
wined3d: Introduce wined3d_device_get_constant_buffer() helper function.
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 | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index d8ac697..5cdf402 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2156,17 +2156,23 @@ void CDECL wined3d_device_set_vs_cb(struct wined3d_device *device, UINT idx, str wined3d_device_set_constant_buffer(device, WINED3D_SHADER_TYPE_VERTEX, idx, buffer); }
-struct wined3d_buffer * CDECL wined3d_device_get_vs_cb(const struct wined3d_device *device, UINT idx) +static struct wined3d_buffer *wined3d_device_get_constant_buffer(const struct wined3d_device *device, + enum wined3d_shader_type shader_type, unsigned int idx) { - TRACE("device %p, idx %u.\n", device, idx); - if (idx >= MAX_CONSTANT_BUFFERS) { WARN("Invalid constant buffer index %u.\n", idx); return NULL; }
- return device->state.cb[WINED3D_SHADER_TYPE_VERTEX][idx]; + return device->state.cb[shader_type][idx]; +} + +struct wined3d_buffer * CDECL wined3d_device_get_vs_cb(const struct wined3d_device *device, UINT idx) +{ + TRACE("device %p, idx %u.\n", device, idx); + + return wined3d_device_get_constant_buffer(device, WINED3D_SHADER_TYPE_VERTEX, idx); }
static void wined3d_device_set_shader_resource_view(struct wined3d_device *device, @@ -2441,13 +2447,7 @@ struct wined3d_buffer * CDECL wined3d_device_get_ps_cb(const struct wined3d_devi { TRACE("device %p, idx %u.\n", device, idx);
- if (idx >= MAX_CONSTANT_BUFFERS) - { - WARN("Invalid constant buffer index %u.\n", idx); - return NULL; - } - - return device->state.cb[WINED3D_SHADER_TYPE_PIXEL][idx]; + return wined3d_device_get_constant_buffer(device, WINED3D_SHADER_TYPE_PIXEL, idx); }
void CDECL wined3d_device_set_ps_resource_view(struct wined3d_device *device, @@ -2670,13 +2670,7 @@ struct wined3d_buffer * CDECL wined3d_device_get_gs_cb(const struct wined3d_devi { TRACE("device %p, idx %u.\n", device, idx);
- if (idx >= MAX_CONSTANT_BUFFERS) - { - WARN("Invalid constant buffer index %u.\n", idx); - return NULL; - } - - return device->state.cb[WINED3D_SHADER_TYPE_GEOMETRY][idx]; + return wined3d_device_get_constant_buffer(device, WINED3D_SHADER_TYPE_GEOMETRY, idx); }
void CDECL wined3d_device_set_gs_resource_view(struct wined3d_device *device, @@ -2756,13 +2750,7 @@ struct wined3d_buffer * CDECL wined3d_device_get_cs_cb(const struct wined3d_devi { TRACE("device %p, idx %u.\n", device, idx);
- if (idx >= MAX_CONSTANT_BUFFERS) - { - WARN("Invalid constant buffer index %u.\n", idx); - return NULL; - } - - return device->state.cb[WINED3D_SHADER_TYPE_COMPUTE][idx]; + return wined3d_device_get_constant_buffer(device, WINED3D_SHADER_TYPE_COMPUTE, idx); }
void CDECL wined3d_device_set_cs_resource_view(struct wined3d_device *device,