#include <vkpipelinedatabase.h>
|
| VkPipelineDatabase () |
| constructor
|
|
virtual | ~VkPipelineDatabase () |
| destructor
|
|
void | Setup (const VkDevice dev, const VkPipelineCache cache) |
| setup database
|
|
void | Discard () |
| discard database
|
|
void | SetPass (const CoreGraphics::PassId pass) |
| set pass
|
|
void | SetSubpass (uint32_t subpass) |
| set subpass
|
|
void | SetShader (const CoreGraphics::ShaderProgramId program, const VkGraphicsPipelineCreateInfo &shaderInfo) |
| set shader
|
|
void | SetInputAssembly (const CoreGraphics::InputAssemblyKey key) |
| Set input assembly.
|
|
VkPipeline | GetCompiledPipeline () |
| gets pipeline if it already exists, or creates if exists
|
|
VkPipeline | GetCompiledPipeline (const CoreGraphics::PassId pass, const uint32_t subpass, const CoreGraphics::ShaderProgramId program, const CoreGraphics::InputAssemblyKey inputAssembly, const VkGraphicsPipelineCreateInfo &shaderInfo) |
| Gets the pipeline associated with a set of state, or returns a previously created one.
|
|
VkPipeline | CreatePipeline (const CoreGraphics::PassId pass, const uint32_t subpass, const CoreGraphics::ShaderProgramId program, const CoreGraphics::InputAssemblyKey inputAssembly, const VkGraphicsPipelineCreateInfo &shaderInfo) |
| Create pipeline.
|
|
void | Reset () |
| resets all iterators
|
|
void | Reload (const CoreGraphics::ShaderProgramId id) |
| re-creates all pipelines for the given shader program id
|
|
void | RecreatePipelines () |
| re-creates all pipelines for all shader programs
|
|
◆ StateLevel
Enumerator |
---|
PassLevel | |
SubpassLevel | |
ShaderLevel | |
VertexLayoutLevel | |
InputAssemblyLevel | |
PipelineLevel | |
◆ VkPipelineDatabase()
Vulkan::VkPipelineDatabase::VkPipelineDatabase |
( |
| ) |
|
◆ ~VkPipelineDatabase()
Vulkan::VkPipelineDatabase::~VkPipelineDatabase |
( |
| ) |
|
|
virtual |
◆ __DeclareSingleton()
◆ CreatePipeline()
VkPipeline Vulkan::VkPipelineDatabase::CreatePipeline |
( |
const CoreGraphics::PassId | pass, |
|
|
const uint32_t | subpass, |
|
|
const CoreGraphics::ShaderProgramId | program, |
|
|
const CoreGraphics::InputAssemblyKey | inputAssembly, |
|
|
const VkGraphicsPipelineCreateInfo & | shaderInfo ) |
◆ Discard()
void Vulkan::VkPipelineDatabase::Discard |
( |
| ) |
|
◆ GetCompiledPipeline() [1/2]
VkPipeline Vulkan::VkPipelineDatabase::GetCompiledPipeline |
( |
| ) |
|
gets pipeline if it already exists, or creates if exists
◆ GetCompiledPipeline() [2/2]
VkPipeline Vulkan::VkPipelineDatabase::GetCompiledPipeline |
( |
const CoreGraphics::PassId | pass, |
|
|
const uint32_t | subpass, |
|
|
const CoreGraphics::ShaderProgramId | program, |
|
|
const CoreGraphics::InputAssemblyKey | inputAssembly, |
|
|
const VkGraphicsPipelineCreateInfo & | shaderInfo ) |
Gets the pipeline associated with a set of state, or returns a previously created one.
◆ RecreatePipelines()
void Vulkan::VkPipelineDatabase::RecreatePipelines |
( |
| ) |
|
re-creates all pipelines for all shader programs
◆ Reload()
void Vulkan::VkPipelineDatabase::Reload |
( |
const CoreGraphics::ShaderProgramId | id | ) |
|
re-creates all pipelines for the given shader program id
◆ Reset()
void Vulkan::VkPipelineDatabase::Reset |
( |
| ) |
|
◆ SetInputAssembly()
◆ SetPass()
◆ SetShader()
void Vulkan::VkPipelineDatabase::SetShader |
( |
const CoreGraphics::ShaderProgramId | program, |
|
|
const VkGraphicsPipelineCreateInfo & | shaderInfo ) |
◆ SetSubpass()
void Vulkan::VkPipelineDatabase::SetSubpass |
( |
uint32_t | subpass | ) |
|
◆ Setup()
void Vulkan::VkPipelineDatabase::Setup |
( |
const VkDevice | dev, |
|
|
const VkPipelineCache | cache ) |
◆ cache
VkPipelineCache Vulkan::VkPipelineDatabase::cache |
|
private |
◆ ct1
◆ ct2
◆ ct3
◆ ct4
◆ currentInputAssembly
◆ currentPass
◆ currentPipeline
VkPipeline Vulkan::VkPipelineDatabase::currentPipeline |
|
private |
◆ currentShaderInfo
VkGraphicsPipelineCreateInfo Vulkan::VkPipelineDatabase::currentShaderInfo |
|
private |
◆ currentShaderProgram
CoreGraphics::ShaderProgramId Vulkan::VkPipelineDatabase::currentShaderProgram |
|
private |
◆ currentSubpass
uint32_t Vulkan::VkPipelineDatabase::currentSubpass |
|
private |
◆ currentVertexLayout
const VkPipelineVertexInputStateCreateInfo* Vulkan::VkPipelineDatabase::currentVertexLayout |
|
private |
◆ dev
VkDevice Vulkan::VkPipelineDatabase::dev |
|
private |
◆ tier1
◆ tierNodeAllocator
The documentation for this class was generated from the following files: