Files
Seele/src/Engine/Graphics/Vulkan/VulkanPipelineCache.h
T

24 lines
611 B
C++
Raw Normal View History

2020-05-05 01:51:13 +02:00
#pragma once
#include "VulkanPipeline.h"
namespace Seele
{
namespace Vulkan
{
class PipelineCache
{
public:
PipelineCache(PGraphics graphics, const std::string& cacheFilePath);
~PipelineCache();
PGraphicsPipeline createPipeline(const GraphicsPipelineCreateInfo& createInfo);
2021-05-06 17:02:10 +02:00
PComputePipeline createPipeline(const ComputePipelineCreateInfo& createInfo);
2020-05-05 01:51:13 +02:00
private:
VkPipelineCache cache;
PGraphics graphics;
std::string cacheFile;
std::mutex createdPipelinesLock;
Map<uint32, VkPipeline> createdPipelines;
2020-05-05 01:51:13 +02:00
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(PipelineCache)
2020-05-05 01:51:13 +02:00
} // namespace Vulkan
} // namespace Seele