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;
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.
std::shared_ptr< ContextGLES > context