[PATCH vkd3d 01/10] vkd3d: Get rid of asserts from d3d12_device_CopyDescriptors().

Józef Kucia joseph.kucia at gmail.com
Tue Dec 4 08:55:54 CST 2018


From: Józef Kucia <jkucia at codeweavers.com>

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>
---
 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 cf40e7a1f064..9e3682830684 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,
-- 
2.19.2




More information about the wine-devel mailing list