Move sampler creation from image to resource manager and cache created samplers
This commit is contained in:
@@ -95,6 +95,11 @@ namespace OpenVulkano::Vulkan
|
||||
toFree.clear();
|
||||
recycleBuffers.clear();
|
||||
descriptorSetLayoutCache.clear();
|
||||
for (auto& sampler : samplerCache)
|
||||
{
|
||||
device.destroy(sampler.second);
|
||||
}
|
||||
samplerCache.clear();
|
||||
shaders.clear();
|
||||
cmdBuffers = nullptr;
|
||||
cmdPools = nullptr;
|
||||
@@ -427,4 +432,11 @@ namespace OpenVulkano::Vulkan
|
||||
vkBuffer->Init(buffer, uBuffer);
|
||||
return vkBuffer;
|
||||
}
|
||||
|
||||
vk::Sampler ResourceManager::CreateSampler(const vk::SamplerCreateInfo& samplerConfig)
|
||||
{
|
||||
auto& sampler = samplerCache[samplerConfig];
|
||||
if (!sampler) sampler = device.createSampler(samplerConfig);
|
||||
return sampler;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user