#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: