41TEST(AllocatorVKTest, MemoryTypeSelectionSingleHeap) {
42 vk::PhysicalDeviceMemoryProperties properties;
43 properties.memoryTypeCount = 1;
44 properties.memoryHeapCount = 1;
45 properties.memoryTypes[0].heapIndex = 0;
46 properties.memoryTypes[0].propertyFlags =
47 vk::MemoryPropertyFlagBits::eDeviceLocal;
48 properties.memoryHeaps[0].size = 1024 * 1024 * 1024;
49 properties.memoryHeaps[0].flags = vk::MemoryHeapFlagBits::eDeviceLocal;
56TEST(AllocatorVKTest, MemoryTypeSelectionTwoHeap) {
57 vk::PhysicalDeviceMemoryProperties properties;
58 properties.memoryTypeCount = 2;
59 properties.memoryHeapCount = 2;
60 properties.memoryTypes[0].heapIndex = 0;
61 properties.memoryTypes[0].propertyFlags =
62 vk::MemoryPropertyFlagBits::eHostVisible;
63 properties.memoryHeaps[0].size = 1024 * 1024 * 1024;
64 properties.memoryHeaps[0].flags = vk::MemoryHeapFlagBits::eDeviceLocal;
66 properties.memoryTypes[1].heapIndex = 1;
67 properties.memoryTypes[1].propertyFlags =
68 vk::MemoryPropertyFlagBits::eDeviceLocal;
69 properties.memoryHeaps[1].size = 1024 * 1024 * 1024;
70 properties.memoryHeaps[1].flags = vk::MemoryHeapFlagBits::eDeviceLocal;
static int32_t FindMemoryTypeIndex(uint32_t memory_type_bits_requirement, vk::PhysicalDeviceMemoryProperties &memory_properties)
Select a matching memory type for the given [memory_type_bits_requirement], or -1 if none is found.
MockVulkanContextBuilder & SetDeviceExtensions(const std::vector< std::string > &device_extensions)
std::shared_ptr< ContextVK > Build()
Create a Vulkan context with Vulkan functions mocked. The caller is given a chance to tinker on the s...
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...