Module: wine Branch: master Commit: d3da2400e6faa25fb64aab1112c8e886a5d2cbd5 URL: https://source.winehq.org/git/wine.git/?a=commit;h=d3da2400e6faa25fb64aab111... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Thu Sep 20 09:02:02 2018 +0200 wined3d: Store max_clip_distances in struct d3d_info. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 9c074d3..0ee71fd 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 96e7a3d..3fc3ae5 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 a501da1..637c721 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; };