KDGpu::PipelineLayout¶
Module: Public API
Defines the interface between pipeline and shader resources. More...
#include <KDGpu/pipeline_layout.h>
Public Functions¶
| Name | |
|---|---|
| PipelineLayout() | |
| ~PipelineLayout() | |
| PipelineLayout(PipelineLayout && other) | |
| PipelineLayout & | operator=(PipelineLayout && other) |
| PipelineLayout(const PipelineLayout & ) =delete | |
| PipelineLayout & | operator=(const PipelineLayout & ) =delete |
| const Handle< PipelineLayout_t > & | handle() const |
| bool | isValid() const |
| operator Handle< PipelineLayout_t >() const |
Friends¶
| Name | |
|---|---|
| class | Device |
| KDGPU_EXPORT bool | operator==(const PipelineLayout & a, const PipelineLayout & b) |
Detailed Description¶
1 | |
Defines the interface between pipeline and shader resources.
Vulkan equivalent:VkPipelineLayout
PipelineLayout describes the complete shader interface: which descriptor sets can be bound and what push constant ranges are available. It must be compatible with both the pipeline and the bind groups used.
Key features:
- Specify bind group layouts (descriptor sets)
- Define push constant ranges
- Must match shader declarations
- Reusable across compatible pipelines
Lifetime: PipelineLayouts are created by Device and must remain valid while referenced by pipelines. They use RAII and clean up automatically.
¶
Usage¶
Creating a basic pipeline layout:
1 2 3 4 5 6 | |
Filename: kdgpu_doc_snippets.cpp
Pipeline layout with push constants:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Filename: kdgpu_doc_snippets.cpp
Multiple bind group layouts:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Filename: kdgpu_doc_snippets.cpp
PipelineLayout compatibility:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Filename: kdgpu_doc_snippets.cpp
Sharing layouts between pipelines:
1 2 | |
Filename: kdgpu_doc_snippets.cpp
¶
Vulkan mapping:¶
- PipelineLayout creation -> vkCreatePipelineLayout()
- Used in VkGraphicsPipelineCreateInfo and VkComputePipelineCreateInfo
- Used in vkCmdBindDescriptorSets()
¶
See also:¶
PipelineLayoutOptions, BindGroupLayout, GraphicsPipeline, ComputePipeline, BindGroup, Device
Public Functions Documentation¶
function PipelineLayout¶
1 | |
function ~PipelineLayout¶
1 | |
function PipelineLayout¶
1 2 3 | |
function operator=¶
1 2 3 | |
function PipelineLayout¶
1 2 3 | |
function operator=¶
1 2 3 | |
function handle¶
1 | |
function isValid¶
1 | |
function operator Handle< PipelineLayout_t >¶
1 | |
Friends¶
friend Device¶
1 2 3 | |
friend operator==¶
1 2 3 4 5 | |
Updated on 2026-03-31 at 00:02:07 +0000