=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Get rid of asserts from d3d12_device_CopyDescriptors().

Alexandre Julliard julliard at winehq.org
Tue Dec 4 13:22:16 CST 2018


Module: vkd3d
Branch: master
Commit: 3e8d0e7a6a65953ee0a2de9e32b69d80fe72a510
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=3e8d0e7a6a65953ee0a2de9e32b69d80fe72a510

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Tue Dec  4 15:55:54 2018 +0100

vkd3d: Get rid of asserts from d3d12_device_CopyDescriptors().

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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 cf40e7a..9e36828 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,




More information about the wine-cvs mailing list