Polyphase Game Engine
Loading...
Searching...
No Matches
DestroyQueue.h
Go to the documentation of this file.
1#pragma once
2
3#if API_VULKAN
4
7
8#include <vulkan/vulkan.h>
9#include <vector>
10
11class Image;
12class Buffer;
13class DescriptorSet;
14class Shader;
15class Pipeline;
16
17class DestroyQueue
18{
19public:
20 DestroyQueue();
21 ~DestroyQueue();
22
23 void Destroy(Image* image);
24 void Destroy(Buffer* buffer);
25 void Destroy(MultiBuffer* multiBuffer);
26 void Destroy(Shader* shader);
27 void Destroy(Pipeline* pipeline);
28 void Destroy(VkCommandBuffer commandBuffer);
29
30 void Flush(uint32_t frameIndex);
31 void FlushAll();
32
33protected:
34
35 std::vector<Image*> mImages[MAX_FRAMES];
36 std::vector<Buffer*> mBuffers[MAX_FRAMES];
37 std::vector<MultiBuffer*> mMultiBuffers[MAX_FRAMES];
38 std::vector<Shader*> mShaders[MAX_FRAMES];
39 std::vector<Pipeline*> mPipelines[MAX_FRAMES];
40 std::vector<VkCommandBuffer> mCommandBuffers[MAX_FRAMES];
41};
42
43#endif
Definition Shader.h:18