From d3da2400e6faa25fb64aab1112c8e886a5d2cbd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 20 Sep 2018 09:02:02 +0200 Subject: [PATCH] wined3d: Store max_clip_distances in struct d3d_info. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/wined3d/adapter_gl.c | 1 + dlls/wined3d/device.c | 4 ++-- dlls/wined3d/wined3d_private.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index 9c074d304a6..0ee71fd63df 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -3651,6 +3651,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, adapter->fragment_pipe = select_fragment_implementation(gl_info, adapter->shader_backend); d3d_info->limits.max_rt_count = gl_info->limits.buffers; + d3d_info->limits.max_clip_distances = gl_info->limits.user_clip_distances; d3d_info->limits.pointsize_max = gl_info->limits.pointsize_max; adapter->shader_backend->shader_get_caps(gl_info, &shader_caps); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 96e7a3dbfaa..3fc3ae557dc 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1762,7 +1762,7 @@ HRESULT CDECL wined3d_device_set_clip_plane(struct wined3d_device *device, { TRACE("device %p, plane_idx %u, plane %p.\n", device, plane_idx, plane); - if (plane_idx >= device->adapter->gl_info.limits.user_clip_distances) + if (plane_idx >= device->adapter->d3d_info.limits.max_clip_distances) { TRACE("Application has requested clipplane this device doesn't support.\n"); return WINED3DERR_INVALIDCALL; @@ -1790,7 +1790,7 @@ HRESULT CDECL wined3d_device_get_clip_plane(const struct wined3d_device *device, { TRACE("device %p, plane_idx %u, plane %p.\n", device, plane_idx, plane); - if (plane_idx >= device->adapter->gl_info.limits.user_clip_distances) + if (plane_idx >= device->adapter->d3d_info.limits.max_clip_distances) { TRACE("Application has requested clipplane this device doesn't support.\n"); return WINED3DERR_INVALIDCALL; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index a501da1290c..637c7218c18 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -165,6 +165,7 @@ struct wined3d_d3d_limits unsigned int active_light_count; unsigned int max_rt_count; + unsigned int max_clip_distances; float pointsize_max; };