From: Józef Kucia jkucia@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@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,