Module: vkd3d Branch: master Commit: 3e8d0e7a6a65953ee0a2de9e32b69d80fe72a510 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=3e8d0e7a6a65953ee0a2de9e...
Author: Józef Kucia jkucia@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@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 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,