Plasma Engine  2.0
Loading...
Searching...
No Matches
plResourceCacheVulkan Class Reference

Creates and caches persistent Vulkan resources. Resources are never freed until the device is shut down. More...

#include <ResourceCacheVulkan.h>

Classes

struct  ComputePipelineDesc
 
struct  DescriptorSetLayoutDesc
 
struct  GraphicsPipelineDesc
 
struct  PipelineLayoutDesc
 

Public Types

using GraphicsPipelineMap = plMap<plResourceCacheVulkan::GraphicsPipelineDesc, vk::Pipeline, plResourceCacheVulkan::ResourceCacheHash>
 
using ComputePipelineMap = plMap<plResourceCacheVulkan::ComputePipelineDesc, vk::Pipeline, plResourceCacheVulkan::ResourceCacheHash>
 

Static Public Member Functions

static void Initialize (plGALDeviceVulkan *pDevice, vk::Device device)
 
static void DeInitialize ()
 
static vk::RenderPass RequestRenderPass (const plGALRenderingSetup &renderingSetup)
 
static vk::Framebuffer RequestFrameBuffer (vk::RenderPass renderPass, const plGALRenderTargetSetup &renderTargetSetup, plSizeU32 &out_Size, plEnum< plGALMSAASampleCount > &out_msaa, plUInt32 &out_uiLayers)
 
static vk::PipelineLayout RequestPipelineLayout (const PipelineLayoutDesc &desc)
 
static vk::Pipeline RequestGraphicsPipeline (const GraphicsPipelineDesc &desc)
 
static vk::Pipeline RequestComputePipeline (const ComputePipelineDesc &desc)
 
static vk::DescriptorSetLayout RequestDescriptorSetLayout (const plGALShaderVulkan::DescriptorSetLayoutDesc &desc)
 
static void ResourceDeleted (const plRefCounted *pResource)
 Invalidates any caches that use this resource. Basically all pointer types in GraphicsPipelineDesc except for plGALShaderVulkan.
 
static void ShaderDeleted (const plGALShaderVulkan *pShader)
 Invalidates any caches that use this shader resource.
 

Detailed Description

Creates and caches persistent Vulkan resources. Resources are never freed until the device is shut down.


The documentation for this class was generated from the following files: