Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Friends | List of all members
impeller::CommandBufferGLES Class Referencefinal

#include <command_buffer_gles.h>

Inheritance diagram for impeller::CommandBufferGLES:
impeller::CommandBuffer

Public Member Functions

 ~CommandBufferGLES () override
 
- Public Member Functions inherited from impeller::CommandBuffer
virtual ~CommandBuffer ()
 
void WaitUntilScheduled ()
 Force execution of pending GPU commands.
 
std::shared_ptr< RenderPassCreateRenderPass (const RenderTarget &render_target)
 Create a render pass to record render commands into.
 
std::shared_ptr< BlitPassCreateBlitPass ()
 Create a blit pass to record blit commands into.
 
std::shared_ptr< ComputePassCreateComputePass ()
 Create a compute pass to record compute commands into.
 

Private Member Functions

void SetLabel (const std::string &label) const override
 
bool IsValid () const override
 
bool OnSubmitCommands (CompletionCallback callback) override
 
void OnWaitUntilScheduled () override
 
std::shared_ptr< RenderPassOnCreateRenderPass (RenderTarget target) override
 
std::shared_ptr< BlitPassOnCreateBlitPass () override
 
std::shared_ptr< ComputePassOnCreateComputePass () override
 

Friends

class ContextGLES
 

Additional Inherited Members

- Public Types inherited from impeller::CommandBuffer
enum class  Status { kPending , kError , kCompleted }
 
using CompletionCallback = std::function< void(Status)>
 
- Protected Member Functions inherited from impeller::CommandBuffer
 CommandBuffer (std::weak_ptr< const Context > context)
 
- Protected Attributes inherited from impeller::CommandBuffer
std::weak_ptr< const Contextcontext_
 

Detailed Description

Definition at line 15 of file command_buffer_gles.h.

Constructor & Destructor Documentation

◆ ~CommandBufferGLES()

impeller::CommandBufferGLES::~CommandBufferGLES ( )
overridedefault

Member Function Documentation

◆ IsValid()

bool impeller::CommandBufferGLES::IsValid ( ) const
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 27 of file command_buffer_gles.cc.

27 {
28 return is_valid_;
29}

◆ OnCreateBlitPass()

std::shared_ptr< BlitPass > impeller::CommandBufferGLES::OnCreateBlitPass ( )
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 65 of file command_buffer_gles.cc.

65 {
66 if (!IsValid()) {
67 return nullptr;
68 }
69 auto pass = std::shared_ptr<BlitPassGLES>(new BlitPassGLES(reactor_));
70 if (!pass->IsValid()) {
71 return nullptr;
72 }
73 return pass;
74}

◆ OnCreateComputePass()

std::shared_ptr< ComputePass > impeller::CommandBufferGLES::OnCreateComputePass ( )
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 77 of file command_buffer_gles.cc.

77 {
78 // Compute passes aren't supported until GLES 3.2, at which point Vulkan is
79 // available anyway.
80 return nullptr;
81}

◆ OnCreateRenderPass()

std::shared_ptr< RenderPass > impeller::CommandBufferGLES::OnCreateRenderPass ( RenderTarget  target)
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 47 of file command_buffer_gles.cc.

48 {
49 if (!IsValid()) {
50 return nullptr;
51 }
52 auto context = context_.lock();
53 if (!context) {
54 return nullptr;
55 }
56 auto pass = std::shared_ptr<RenderPassGLES>(
57 new RenderPassGLES(context, target, reactor_));
58 if (!pass->IsValid()) {
59 return nullptr;
60 }
61 return pass;
62}
std::weak_ptr< const Context > context_
uint32_t * target

◆ OnSubmitCommands()

bool impeller::CommandBufferGLES::OnSubmitCommands ( CompletionCallback  callback)
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 32 of file command_buffer_gles.cc.

32 {
33 const auto result = reactor_->React();
34 if (callback) {
37 }
38 return result;
39}
CommandBuffer(std::weak_ptr< const Context > context)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
GAsyncResult * result

◆ OnWaitUntilScheduled()

void impeller::CommandBufferGLES::OnWaitUntilScheduled ( )
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 42 of file command_buffer_gles.cc.

42 {
43 reactor_->GetProcTable().Flush();
44}

◆ SetLabel()

void impeller::CommandBufferGLES::SetLabel ( const std::string &  label) const
overrideprivatevirtual

Implements impeller::CommandBuffer.

Definition at line 22 of file command_buffer_gles.cc.

22 {
23 // Cannot support.
24}

Friends And Related Symbol Documentation

◆ ContextGLES

friend class ContextGLES
friend

Definition at line 21 of file command_buffer_gles.h.


The documentation for this class was generated from the following files: