Skip to content

KDGpu::VulkanDynamicRenderPassCommandRecorder

Module: Vulkan

VulkanDynamicRenderPassCommandRecorder - Modern dynamic rendering backend. More...

#include <vulkan_dynamic_render_pass_command_recorder.h>

Inherits from KDGpu::VulkanRenderPassCommandRecorderBase

Public Functions

Name
VulkanDynamicRenderPassCommandRecorder(VkCommandBuffer _commandBuffer, VkRect2D _renderArea, VulkanResourceManager * _vulkanResourceManager, const Handle< Device_t > & _deviceHandle)
void setInputAttachmentMapping(std::span< const std::optional< uint32_t > > colorAttachmentIndices, std::optional< uint32_t > depthAttachmentIndex, std::optional< uint32_t > stencilAttachmentIndex) const
void setOutputAttachmentMapping(std::span< const std::optional< uint32_t > > remappedOutputs) const
virtual void end() const override

Additional inherited members

Public Functions inherited from KDGpu::VulkanRenderPassCommandRecorderBase

Name
VulkanRenderPassCommandRecorderBase(VkCommandBuffer _commandBuffer, VkRect2D _renderArea, VulkanResourceManager * _vulkanResourceManager, const Handle< Device_t > & _deviceHandle)
virtual ~VulkanRenderPassCommandRecorderBase() =default
void setPipeline(const Handle< GraphicsPipeline_t > & pipeline)
void setVertexBuffer(uint32_t index, const Handle< Buffer_t > & buffer, DeviceSize offset) const
void setIndexBuffer(const Handle< Buffer_t > & buffer, DeviceSize offset, IndexType indexType) const
void setBindGroup(uint32_t group, const Handle< BindGroup_t > & bindGroup, const Handle< PipelineLayout_t > & pipelineLayout, std::span< const uint32_t > dynamicBufferOffsets) const
void setViewport(const Viewport & viewport) const
void setScissor(const Rect2D & scissor) const
void setStencilReference(StencilFaceFlags faceMask, int reference) const
void draw(const DrawCommand & drawCommand) const
void draw(std::span< const DrawCommand > drawCommands) const
void drawIndexed(const DrawIndexedCommand & drawCommand) const
void drawIndexed(std::span< const DrawIndexedCommand > drawCommands) const
void drawIndirect(const DrawIndirectCommand & drawCommand) const
void drawIndirect(std::span< const DrawIndirectCommand > drawCommands) const
void drawIndexedIndirect(const DrawIndexedIndirectCommand & drawCommand) const
void drawIndexedIndirect(std::span< const DrawIndexedIndirectCommand > drawCommands) const
void drawMeshTasks(const DrawMeshCommand & drawCommand) const
void drawMeshTasks(std::span< const DrawMeshCommand > drawCommands) const
void drawMeshTasksIndirect(const DrawMeshIndirectCommand & drawCommand) const
void drawMeshTasksIndirect(std::span< const DrawMeshIndirectCommand > drawCommands) const
void pushConstant(const PushConstantRange & constantRange, const void * data, const Handle< PipelineLayout_t > & pipelineLayout ={}) const
void pushBindGroup(uint32_t group, std::span< const BindGroupEntry > bindGroupEntries, const Handle< PipelineLayout_t > & pipelineLayout ={}) const

Public Attributes inherited from KDGpu::VulkanRenderPassCommandRecorderBase

Name
VkCommandBuffer commandBuffer
VkRect2D renderArea
VulkanResourceManager * vulkanResourceManager
Handle< Device_t > deviceHandle
Handle< GraphicsPipeline_t > pipeline
bool firstPipelineWasSet

Detailed Description

1
struct KDGpu::VulkanDynamicRenderPassCommandRecorder;

VulkanDynamicRenderPassCommandRecorder - Modern dynamic rendering backend.

Backend implementation for modern Vulkan 1.3 core VK_KHR_dynamic_rendering. This class inherits common functionality from VulkanRenderPassCommandRecorderBase and provides a clean separation from legacy VkRenderPass-based rendering.

Recommended for all new applications using Vulkan 1.3 or later.

Public Functions Documentation

function VulkanDynamicRenderPassCommandRecorder

1
2
3
4
5
6
explicit VulkanDynamicRenderPassCommandRecorder(
    VkCommandBuffer _commandBuffer,
    VkRect2D _renderArea,
    VulkanResourceManager * _vulkanResourceManager,
    const Handle< Device_t > & _deviceHandle
)

function setInputAttachmentMapping

1
2
3
4
5
void setInputAttachmentMapping(
    std::span< const std::optional< uint32_t > > colorAttachmentIndices,
    std::optional< uint32_t > depthAttachmentIndex,
    std::optional< uint32_t > stencilAttachmentIndex
) const

function setOutputAttachmentMapping

1
2
3
void setOutputAttachmentMapping(
    std::span< const std::optional< uint32_t > > remappedOutputs
) const

function end

1
virtual void end() const override

Reimplements: KDGpu::VulkanRenderPassCommandRecorderBase::end


Updated on 2026-11-07 at 00:01:26 +0000