36 lines
922 B
C
36 lines
922 B
C
#pragma once
|
|
|
|
#include <utility>
|
|
#include <volk.h>
|
|
|
|
struct RenderDevice;
|
|
|
|
struct Frame
|
|
{
|
|
VkCommandPool commandPool;
|
|
VkCommandBuffer commandBuffer;
|
|
VkSemaphore imageAcquiredSemaphore;
|
|
VkSemaphore renderFinishedSemaphore;
|
|
VkFence frameReadyToReuse;
|
|
|
|
[[nodiscard]] bool isInit() const;
|
|
|
|
Frame(
|
|
VkCommandPool commandPool,
|
|
VkCommandBuffer commandBuffer,
|
|
VkSemaphore imageAcquiredSemaphore,
|
|
VkSemaphore renderFinishedSemaphore,
|
|
VkFence frameReadyToReuse );
|
|
|
|
void destroy( RenderDevice const& renderDevice );
|
|
|
|
Frame( Frame const& other ) = delete;
|
|
Frame( Frame&& other ) noexcept = delete;
|
|
Frame& operator=( Frame const& other ) = delete;
|
|
Frame& operator=( Frame&& other ) noexcept = delete;
|
|
|
|
~Frame();
|
|
};
|
|
|
|
void Frame_Create( Frame* frame, VkDevice device, uint32_t directQueueFamilyIndex );
|