5 #ifndef FLUTTER_IMPELLER_RENDERER_COMMAND_BUFFER_H_
6 #define FLUTTER_IMPELLER_RENDERER_COMMAND_BUFFER_H_
23 class CommandBufferMock;
61 virtual void SetLabel(std::string_view label)
const = 0;
103 explicit CommandBuffer(std::weak_ptr<const Context> context);
136 [[nodiscard]]
bool SubmitCommands(
bool block_on_schedule,
139 [[nodiscard]]
bool SubmitCommands(
bool block_on_schedule);
A collection of encoded commands to be submitted to the GPU for execution. A command buffer is obtain...
std::shared_ptr< BlitPass > CreateBlitPass()
Create a blit pass to record blit commands into.
virtual void OnWaitUntilCompleted()=0
std::shared_ptr< ComputePass > CreateComputePass()
Create a compute pass to record compute commands into.
CommandBuffer(std::weak_ptr< const Context > context)
virtual bool OnSubmitCommands(bool block_on_schedule, CompletionCallback callback)=0
Submit the command buffer to the GPU for execution.
virtual bool IsValid() const =0
virtual std::shared_ptr< ComputePass > OnCreateComputePass()=0
std::function< void(Status)> CompletionCallback
virtual std::shared_ptr< RenderPass > OnCreateRenderPass(RenderTarget render_target)=0
void WaitUntilCompleted()
Block the current thread until the GPU has completed execution of the commands.
virtual void SetLabel(std::string_view label) const =0
std::shared_ptr< RenderPass > CreateRenderPass(const RenderTarget &render_target)
Create a render pass to record render commands into.
virtual void OnWaitUntilScheduled()=0
virtual std::shared_ptr< BlitPass > OnCreateBlitPass()=0
std::weak_ptr< const Context > context_
friend class testing::CommandBufferMock
void WaitUntilScheduled()
Block the current thread until the GPU has completed scheduling execution of the commands.
An interface for submitting command buffers to the GPU for encoding and execution.