From 3e8d0e7a6a65953ee0a2de9e32b69d80fe72a510 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
Date: Tue, 4 Dec 2018 15:55:54 +0100
Subject: [PATCH] vkd3d: Get rid of asserts from
 d3d12_device_CopyDescriptors().
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Do not require that source range sizes match destination range sizes.
It works on Windows even though D3D12 validation layers throw errors
about size mismatches.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
 libs/vkd3d/device.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index cf40e7a1..9e368283 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -1997,17 +1997,14 @@ static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device *iface,
                 dst_range_size = dst_descriptor_range_sizes ? dst_descriptor_range_sizes[dst_range_idx] : 1;
             }
 
-            assert(dst_range_idx < dst_descriptor_range_count);
-            assert(dst_idx < dst_range_size);
+            if (dst_range_idx >= dst_descriptor_range_count)
+                break;
 
             d3d12_desc_copy(dst++, src++, device);
 
             ++dst_idx;
         }
     }
-
-    assert(dst_idx == dst_range_size);
-    assert(dst_range_idx == dst_descriptor_range_count - 1);
 }
 
 static void STDMETHODCALLTYPE d3d12_device_CopyDescriptorsSimple(ID3D12Device *iface,