From 89a19317dd3d01575bf985bccfda9ee6673ba2d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Wed, 10 May 2017 15:54:03 +0200 Subject: [PATCH] wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We still may want to use ARB_viewport_array, even if only for multiple viewports. Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Matteo Bruni Signed-off-by: Alexandre Julliard --- 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 fc015a876ee..1de85a68204 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]) {