Adds missing coverage of buffer markers with non-zero memory offset
authorCharlie Turner <cturner@igalia.com>
Tue, 29 Nov 2022 08:05:04 +0000 (09:05 +0100)
committerPiotr Byszewski <piotr.byszewski@mobica.com>
Mon, 19 Dec 2022 10:39:53 +0000 (10:39 +0000)
commitdb0201c1d24e4a516be78dd82a1fe26be077a4d6
treec650cf52735163ba8f19bb40e2744951b5cdd498
parent1da6e21d260687384e91346fd3427309d5d6d7a9
Adds missing coverage of buffer markers with non-zero memory offset

Ensure that writing buffer markers to VkBuffer's backed with an
allocation at an offset works as intended.

Since SimpleAllocator was passing 0u as an offset to internal helper
classes, it seemed a logical place to expose the ability to perform a
suballocation in the backing device memory.

ExternalHostMemory was not a clean fit to the allocator interfaces, so
there the offset as been wedged in with some pointer arithmetic.

This covers an issue fixed by,

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16698

Also included are some refactoring's to use more code from the DE
libraries, rather than duplicating in this test class.

Components: Vulkan

Co-authored-by: Amber <amber@igalia.com>
New tests:
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.overwrite.64_offset_24

VK-GL-CTS issue: 3721

Change-Id: I5990d2a4903f0b4091cfc6f5dc61ec52699c7bae
android/cts/main/vk-master-2022-03-01/api.txt
android/cts/main/vk-master/api.txt
external/vulkancts/framework/vulkan/vkMemUtil.cpp
external/vulkancts/framework/vulkan/vkMemUtil.hpp
external/vulkancts/modules/vulkan/api/vktApiBufferMarkerTests.cpp
external/vulkancts/mustpass/main/vk-default/api.txt