| 1685 | |
| 1686 | |
| 1687 | static void TestJson() |
| 1688 | { |
| 1689 | wprintf(L"Test JSON\n"); |
| 1690 | |
| 1691 | std::vector<VmaPool> pools; |
| 1692 | std::vector<VmaAllocation> allocs; |
| 1693 | |
| 1694 | VmaAllocationCreateInfo allocCreateInfo = {}; |
| 1695 | |
| 1696 | VkBufferCreateInfo buffCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; |
| 1697 | buffCreateInfo.size = 1024; |
| 1698 | buffCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; |
| 1699 | |
| 1700 | VkImageCreateInfo imgCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO }; |
| 1701 | imgCreateInfo.imageType = VK_IMAGE_TYPE_2D; |
| 1702 | imgCreateInfo.extent.depth = 1; |
| 1703 | imgCreateInfo.mipLevels = 1; |
| 1704 | imgCreateInfo.arrayLayers = 1; |
| 1705 | imgCreateInfo.format = VK_FORMAT_R8G8B8A8_UNORM; |
| 1706 | imgCreateInfo.initialLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; |
| 1707 | imgCreateInfo.usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT; |
| 1708 | imgCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; |
| 1709 | |
| 1710 | VkMemoryRequirements memReq = {}; |
| 1711 | { |
| 1712 | VkBuffer dummyBuffer = VK_NULL_HANDLE; |
| 1713 | TEST(vkCreateBuffer(g_hDevice, &buffCreateInfo, g_Allocs, &dummyBuffer) == VK_SUCCESS && dummyBuffer); |
| 1714 | |
| 1715 | vkGetBufferMemoryRequirements(g_hDevice, dummyBuffer, &memReq); |
| 1716 | vkDestroyBuffer(g_hDevice, dummyBuffer, g_Allocs); |
| 1717 | } |
| 1718 | |
| 1719 | // Select if using custom pool or default |
| 1720 | for (uint8_t poolType = 0; poolType < 2; ++poolType) |
| 1721 | { |
| 1722 | // Select different memoryTypes |
| 1723 | for (uint8_t memType = 0; memType < 2; ++memType) |
| 1724 | { |
| 1725 | switch (memType) |
| 1726 | { |
| 1727 | case 0: |
| 1728 | allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; |
| 1729 | allocCreateInfo.flags = VMA_ALLOCATION_CREATE_DONT_BIND_BIT; |
| 1730 | break; |
| 1731 | case 1: |
| 1732 | allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO_PREFER_HOST; |
| 1733 | allocCreateInfo.flags = VMA_ALLOCATION_CREATE_DONT_BIND_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT; |
| 1734 | break; |
| 1735 | } |
| 1736 | |
| 1737 | switch (poolType) |
| 1738 | { |
| 1739 | case 0: |
| 1740 | allocCreateInfo.pool = nullptr; |
| 1741 | break; |
| 1742 | case 1: |
| 1743 | { |
| 1744 | VmaPoolCreateInfo poolCreateInfo = {}; |
no test coverage detected