#include <command_buffer_vk.h>
Public Member Functions | |
| ~CommandBufferVK () override | |
| bool | Track (std::shared_ptr< SharedObjectVK > object) |
| Ensure that [object] is kept alive until this command buffer completes execution. More... | |
| bool | Track (const std::shared_ptr< const DeviceBuffer > &buffer) |
| Ensure that [buffer] is kept alive until this command buffer completes execution. More... | |
| bool | Track (const std::shared_ptr< const Texture > &texture) |
| Ensure that [texture] is kept alive until this command buffer completes execution. More... | |
| bool | Track (std::shared_ptr< const TextureSourceVK > texture) |
| Ensure that [texture] is kept alive until this command buffer completes execution. More... | |
| vk::CommandBuffer | GetCommandBuffer () const |
| Retrieve the native command buffer from this object. More... | |
| void | PushDebugGroup (std::string_view label) const |
| Push a debug group. More... | |
| void | PopDebugGroup () const |
| Pop the previous debug group. More... | |
| void | InsertDebugMarker (std::string_view label) const |
| Insert a new debug marker. More... | |
| bool | EndCommandBuffer () const |
| End recording of the current command buffer. More... | |
| fml::StatusOr< vk::DescriptorSet > | AllocateDescriptorSets (const vk::DescriptorSetLayout &layout, const ContextVK &context) |
| Allocate a new descriptor set for the given [layout]. More... | |
| bool | IsTracking (const std::shared_ptr< const DeviceBuffer > &texture) const |
| bool | IsTracking (const std::shared_ptr< const Texture > &texture) const |
Public Member Functions inherited from impeller::CommandBuffer | |
| virtual | ~CommandBuffer () |
| void | WaitUntilScheduled () |
| Force execution of pending GPU commands. More... | |
| std::shared_ptr< RenderPass > | CreateRenderPass (const RenderTarget &render_target) |
| Create a render pass to record render commands into. More... | |
| std::shared_ptr< BlitPass > | CreateBlitPass () |
| Create a blit pass to record blit commands into. More... | |
| std::shared_ptr< ComputePass > | CreateComputePass () |
| Create a compute pass to record compute commands into. More... | |
Friends | |
| class | ContextVK |
| class | CommandQueueVK |
Additional Inherited Members | |
Public Types inherited from impeller::CommandBuffer | |
| enum | Status { Status::kPending, Status::kError, Status::kCompleted } |
| using | CompletionCallback = std::function< void(Status)> |
Static Public Member Functions inherited from impeller::BackendCast< CommandBufferVK, CommandBuffer > | |
| static CommandBufferVK & | Cast (CommandBuffer &base) |
| static const CommandBufferVK & | Cast (const CommandBuffer &base) |
| static CommandBufferVK * | Cast (CommandBuffer *base) |
| static const CommandBufferVK * | Cast (const CommandBuffer *base) |
Protected Member Functions inherited from impeller::CommandBuffer | |
| CommandBuffer (std::weak_ptr< const Context > context) | |
Protected Attributes inherited from impeller::CommandBuffer | |
| std::weak_ptr< const Context > | context_ |
Definition at line 23 of file command_buffer_vk.h.
|
overridedefault |
| fml::StatusOr< vk::DescriptorSet > impeller::CommandBufferVK::AllocateDescriptorSets | ( | const vk::DescriptorSetLayout & | layout, |
| const ContextVK & | context | ||
| ) |
Allocate a new descriptor set for the given [layout].
Definition at line 171 of file command_buffer_vk.cc.
| bool impeller::CommandBufferVK::EndCommandBuffer | ( | ) | const |
End recording of the current command buffer.
Definition at line 98 of file command_buffer_vk.cc.
References GetCommandBuffer(), InsertDebugMarker(), and VALIDATION_LOG.
Referenced by impeller::CommandQueueVK::Submit().
| vk::CommandBuffer impeller::CommandBufferVK::GetCommandBuffer | ( | ) | const |
Retrieve the native command buffer from this object.
Definition at line 112 of file command_buffer_vk.cc.
Referenced by EndCommandBuffer(), impeller::GPUTracerVK::InitializeQueryPool(), InsertDebugMarker(), PopDebugGroup(), PushDebugGroup(), and impeller::CommandQueueVK::Submit().
| void impeller::CommandBufferVK::InsertDebugMarker | ( | std::string_view | label | ) | const |
Insert a new debug marker.
This label is only visible in debuggers like RenderDoc. This function is ignored in release builds.
Definition at line 202 of file command_buffer_vk.cc.
References GetCommandBuffer(), and impeller::HasValidationLayers().
Referenced by EndCommandBuffer().
| bool impeller::CommandBufferVK::IsTracking | ( | const std::shared_ptr< const DeviceBuffer > & | texture | ) | const |
Definition at line 135 of file command_buffer_vk.cc.
| bool impeller::CommandBufferVK::IsTracking | ( | const std::shared_ptr< const Texture > & | texture | ) | const |
Definition at line 161 of file command_buffer_vk.cc.
References impeller::BackendCast< TextureVK, Texture >::Cast(), and impeller::TextureVK::GetTextureSource().
| void impeller::CommandBufferVK::PopDebugGroup | ( | ) | const |
Pop the previous debug group.
This label is only visible in debuggers like RenderDoc. This function is ignored in release builds.
Definition at line 193 of file command_buffer_vk.cc.
References GetCommandBuffer(), and impeller::HasValidationLayers().
| void impeller::CommandBufferVK::PushDebugGroup | ( | std::string_view | label | ) | const |
Push a debug group.
This label is only visible in debuggers like RenderDoc. This function is ignored in release builds.
Definition at line 182 of file command_buffer_vk.cc.
References GetCommandBuffer(), and impeller::HasValidationLayers().
| bool impeller::CommandBufferVK::Track | ( | const std::shared_ptr< const DeviceBuffer > & | buffer | ) |
Ensure that [buffer] is kept alive until this command buffer completes execution.
Definition at line 127 of file command_buffer_vk.cc.
| bool impeller::CommandBufferVK::Track | ( | const std::shared_ptr< const Texture > & | texture | ) |
Ensure that [texture] is kept alive until this command buffer completes execution.
Definition at line 151 of file command_buffer_vk.cc.
References impeller::BackendCast< TextureVK, Texture >::Cast(), impeller::TextureVK::GetTextureSource(), and Track().
| bool impeller::CommandBufferVK::Track | ( | std::shared_ptr< const TextureSourceVK > | texture | ) |
Ensure that [texture] is kept alive until this command buffer completes execution.
Definition at line 143 of file command_buffer_vk.cc.
| bool impeller::CommandBufferVK::Track | ( | std::shared_ptr< SharedObjectVK > | object | ) |
Ensure that [object] is kept alive until this command buffer completes execution.
Definition at line 119 of file command_buffer_vk.cc.
Referenced by Track().
|
friend |
Definition at line 86 of file command_buffer_vk.h.
|
friend |
Definition at line 85 of file command_buffer_vk.h.