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,