Module: vkd3d Branch: master Commit: 4dafd6bedf2fc1b80c70b733e1e034c612a1c5a5 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/4dafd6bedf2fc1b80c70b733e1e034...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Sat Feb 3 00:03:07 2024 +1000
vkd3d: Implement GetCopyableFootprints1().
---
libs/vkd3d/device.c | 16 ++++++---------- tests/d3d12.c | 1 - 2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 9f6162d3..da9c1d96 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -4593,19 +4593,15 @@ static void STDMETHODCALLTYPE d3d12_device_GetCopyableFootprints1(ID3D12Device8 UINT64 base_offset, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, UINT *row_counts, UINT64 *row_sizes, UINT64 *total_bytes) { - FIXME("iface %p, desc %p, first_sub_resource %u, sub_resource_count %u, base_offset %#"PRIx64", " - "layouts %p, row_counts %p, row_sizes %p, total_bytes %p stub!\n", + struct d3d12_device *device = impl_from_ID3D12Device8(iface); + + TRACE("iface %p, desc %p, first_sub_resource %u, sub_resource_count %u, base_offset %#"PRIx64", " + "layouts %p, row_counts %p, row_sizes %p, total_bytes %p.\n", iface, desc, first_sub_resource, sub_resource_count, base_offset, layouts, row_counts, row_sizes, total_bytes);
- if (layouts) - memset(layouts, 0xff, sizeof(*layouts) * sub_resource_count); - if (row_counts) - memset(row_counts, 0xff, sizeof(*row_counts) * sub_resource_count); - if (row_sizes) - memset(row_sizes, 0xff, sizeof(*row_sizes) * sub_resource_count); - if (total_bytes) - *total_bytes = UINT64_MAX; + d3d12_device_get_copyable_footprints(device, desc, first_sub_resource, sub_resource_count, + base_offset, layouts, row_counts, row_sizes, total_bytes); }
static const struct ID3D12Device8Vtbl d3d12_device_vtbl = diff --git a/tests/d3d12.c b/tests/d3d12.c index 04b23de8..49b40a67 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -20321,7 +20321,6 @@ static void test_get_copyable_footprints(void) total_size = 0; ID3D12Device8_GetCopyableFootprints1(device8, &resource_desc1, 0, 1, 0, layouts, row_counts, row_sizes, &total_size); - todo check_copyable_footprints(&resource_desc, 0, 1, 0, layouts, row_counts, row_sizes, &total_size);