#include <command_buffer_vk.h>
Public Member Functions | |
~CommandBufferVK () override | |
bool | Track (const 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 (const 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, PipelineKey pipeline_key, const ContextVK &context) |
Allocate a new descriptor set for the given [layout]. More... | |
DescriptorPoolVK & | GetDescriptorPool () const |
![]() | |
virtual | ~CommandBuffer () |
void | WaitUntilCompleted () |
Block the current thread until the GPU has completed execution of the commands. More... | |
void | WaitUntilScheduled () |
Block the current thread until the GPU has completed scheduling execution of the 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 | |
![]() | |
enum class | Status { kPending , kError , kCompleted } |
using | CompletionCallback = std::function< void(Status)> |
![]() | |
static CommandBufferVK & | Cast (CommandBuffer &base) |
static const CommandBufferVK & | Cast (const CommandBuffer &base) |
static CommandBufferVK * | Cast (CommandBuffer *base) |
static const CommandBufferVK * | Cast (const CommandBuffer *base) |
![]() | |
CommandBuffer (std::weak_ptr< const Context > context) | |
![]() | |
std::weak_ptr< const Context > | context_ |
Definition at line 24 of file command_buffer_vk.h.
|
overridedefault |
fml::StatusOr< vk::DescriptorSet > impeller::CommandBufferVK::AllocateDescriptorSets | ( | const vk::DescriptorSetLayout & | layout, |
PipelineKey | pipeline_key, | ||
const ContextVK & | context | ||
) |
Allocate a new descriptor set for the given [layout].
Definition at line 162 of file command_buffer_vk.cc.
bool impeller::CommandBufferVK::EndCommandBuffer | ( | ) | const |
End recording of the current command buffer.
Definition at line 106 of file command_buffer_vk.cc.
References VALIDATION_LOG.
Referenced by impeller::CommandQueueVK::Submit().
vk::CommandBuffer impeller::CommandBufferVK::GetCommandBuffer | ( | ) | const |
Retrieve the native command buffer from this object.
Definition at line 120 of file command_buffer_vk.cc.
Referenced by impeller::GPUTracerVK::InitializeQueryPool(), and impeller::CommandQueueVK::Submit().
DescriptorPoolVK & impeller::CommandBufferVK::GetDescriptorPool | ( | ) | const |
Definition at line 205 of file command_buffer_vk.cc.
Referenced by impeller::testing::TEST().
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 194 of file command_buffer_vk.cc.
References impeller::HasValidationLayers().
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 185 of file command_buffer_vk.cc.
References 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 174 of file command_buffer_vk.cc.
References 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 135 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 152 of file command_buffer_vk.cc.
bool impeller::CommandBufferVK::Track | ( | const 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 | ( | const std::shared_ptr< SharedObjectVK > & | object | ) |
Ensure that [object] is kept alive until this command buffer completes execution.
Definition at line 127 of file command_buffer_vk.cc.
|
friend |
Definition at line 85 of file command_buffer_vk.h.
|
friend |
Definition at line 84 of file command_buffer_vk.h.