Initial commit

This commit is contained in:
2022-10-09 17:25:45 +03:00
commit da10f7c5cd
60 changed files with 6255 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
#pragma once
#include "vulkan_common.h"
namespace progressia {
namespace desktop {
class Frame : public VkObjectWrapper {
private:
Vulkan &vulkan;
VkCommandBuffer commandBuffer;
VkSemaphore imageAvailableSemaphore;
VkSemaphore renderFinishedSemaphore;
VkFence inFlightFence;
std::vector<VkClearValue> clearValues;
std::optional<uint32_t> imageIndexInFlight;
public:
Frame(Vulkan &vulkan);
~Frame();
/*
* Returns false when the frame should be skipped
*/
bool startRender();
void endRender();
VkCommandBuffer getCommandBuffer();
};
} // namespace desktop
} // namespace progressia