[PATCH 09/12] wined3d: Introduce wined3d_device_get_constant_buffer() helper function.
Józef Kucia
jkucia at codeweavers.com
Tue Mar 7 02:50:20 CST 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
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,
--
2.10.2
More information about the wine-patches
mailing list