vkd3d: Always copy offset buffer descriptor info.
Offset buffer state might be the only relevant difference between two descriptors. We won't need to copy descriptors, but the offsets must be. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
572ea9da7f
commit
d23c7200a2
|
@ -3514,16 +3514,16 @@ void d3d12_desc_copy(struct d3d12_desc *dst, struct d3d12_desc *src,
|
|||
}
|
||||
}
|
||||
|
||||
if (metadata.flags & VKD3D_DESCRIPTOR_FLAG_BUFFER_OFFSET)
|
||||
{
|
||||
const struct vkd3d_bound_buffer_range *src_buffer_ranges = src->heap->buffer_ranges.host_ptr;
|
||||
struct vkd3d_bound_buffer_range *dst_buffer_ranges = dst->heap->buffer_ranges.host_ptr;
|
||||
dst_buffer_ranges[dst->heap_offset] = src_buffer_ranges[src->heap_offset];
|
||||
}
|
||||
|
||||
if (copy_count)
|
||||
VK_CALL(vkUpdateDescriptorSets(device->vk_device, 0, NULL, copy_count, vk_copies));
|
||||
}
|
||||
|
||||
if (metadata.flags & VKD3D_DESCRIPTOR_FLAG_BUFFER_OFFSET)
|
||||
{
|
||||
const struct vkd3d_bound_buffer_range *src_buffer_ranges = src->heap->buffer_ranges.host_ptr;
|
||||
struct vkd3d_bound_buffer_range *dst_buffer_ranges = dst->heap->buffer_ranges.host_ptr;
|
||||
dst_buffer_ranges[dst->heap_offset] = src_buffer_ranges[src->heap_offset];
|
||||
}
|
||||
}
|
||||
|
||||
static VkDeviceSize vkd3d_get_required_texel_buffer_alignment(const struct d3d12_device *device,
|
||||
|
|
Loading…
Reference in New Issue