Jan Sikorski : wined3d: Make sure scissor offsets are not negative.

Alexandre Julliard julliard at winehq.org
Tue May 4 16:23:35 CDT 2021


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

Author: Jan Sikorski <jsikorski at codeweavers.com>
Date:   Tue May  4 12:43:56 2021 +0200

wined3d: Make sure scissor offsets are not negative.

Signed-off-by: Jan Sikorski <jsikorski at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/context_vk.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index fbc1e294fcd..83b1d081514 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -2204,6 +2204,11 @@ static bool wined3d_context_vk_update_graphics_pipeline_key(struct wined3d_conte
             key->scissor.extent.width = key->viewport.width;
             key->scissor.extent.height = key->viewport.height;
         }
+        /* Scissor offsets need to be non-negative (VUID-VkPipelineViewportStateCreateInfo-x-02821) */
+        if (key->scissor.offset.x < 0)
+            key->scissor.offset.x = 0;
+        if (key->scissor.offset.y < 0)
+            key->scissor.offset.y = 0;
         key->viewport.y += key->viewport.height;
         key->viewport.height = -key->viewport.height;
 




More information about the wine-cvs mailing list