21 #ifndef PLATFORM_PNG_HPP 22 #define PLATFORM_PNG_HPP 24 #include "platform.hpp" 25 #include "platform/os/linux.hpp" 26 #include "png_swapchain.hpp" 90 std::vector<VkImage> swapchainImages;
91 std::vector<VkDeviceMemory> swapchainMemory;
92 std::vector<VkBuffer> swapchainReadback;
93 std::vector<VkDeviceMemory> swapchainReadbackMemory;
94 bool swapchainCoherent =
false;
98 uint32_t findMemoryTypeFromRequirements(uint32_t deviceRequirements, uint32_t hostRequirements);
99 uint32_t findMemoryTypeFromRequirementsFallback(uint32_t deviceRequirements, uint32_t hostRequirements,
100 uint32_t hostRequirementsFallback);
102 void imageMemoryBarrier(VkCommandBuffer cmd, VkImage image, VkAccessFlags srcAccessMask,
103 VkAccessFlags dstAccessMask, VkPipelineStageFlags srcStageMask,
104 VkPipelineStageFlags dstStageMask, VkImageLayout oldLayout, VkImageLayout newLayout);
106 VkDebugReportCallbackEXT debug_callback = VK_NULL_HANDLE;
This class implements a swapchain outside the Vulkan API. Its main purpose is debugging without a scr...