=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets.

Alexandre Julliard julliard at winehq.org
Thu May 11 15:07:28 CDT 2017


Module: wine
Branch: master
Commit: 89a19317dd3d01575bf985bccfda9ee6673ba2d5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=89a19317dd3d01575bf985bccfda9ee6673ba2d5

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Wed May 10 15:54:03 2017 +0200

wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets.

We still may want to use ARB_viewport_array, even if only for multiple
viewports.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/directx.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index fc015a8..1de85a6 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1063,8 +1063,6 @@ static void quirk_broken_arb_fog(struct wined3d_gl_info *gl_info)
 
 static void quirk_broken_viewport_subpixel_bits(struct wined3d_gl_info *gl_info)
 {
-    TRACE("Disabling ARB_viewport_array.\n");
-    gl_info->supported[ARB_VIEWPORT_ARRAY] = FALSE;
     if (gl_info->supported[ARB_CLIP_CONTROL])
     {
         TRACE("Disabling ARB_clip_control.\n");
@@ -4137,8 +4135,11 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
 
         gl_info->gl_ops.gl.p_glGetIntegerv(GL_VIEWPORT_SUBPIXEL_BITS, &subpixel_bits);
         TRACE("Viewport supports %d subpixel bits.\n", subpixel_bits);
-        if (subpixel_bits < 8)
-            gl_info->supported[ARB_VIEWPORT_ARRAY] = FALSE;
+        if (subpixel_bits < 8 && gl_info->supported[ARB_CLIP_CONTROL])
+        {
+            TRACE("Disabling ARB_clip_control because viewport subpixel bits < 8.\n");
+            gl_info->supported[ARB_CLIP_CONTROL] = FALSE;
+        }
     }
     if (gl_info->supported[ARB_CLIP_CONTROL] && !gl_info->supported[ARB_VIEWPORT_ARRAY])
     {




More information about the wine-cvs mailing list