=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Store max_clip_distances in struct d3d_info.

Alexandre Julliard julliard at winehq.org
Thu Sep 20 13:45:34 CDT 2018


Module: wine
Branch: master
Commit: d3da2400e6faa25fb64aab1112c8e886a5d2cbd5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d3da2400e6faa25fb64aab1112c8e886a5d2cbd5

Author: Józef Kucia <jkucia at 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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
 };
 




More information about the wine-cvs mailing list