Flutter Impeller
impeller::ContextGLES Class Referencefinal

#include <context_gles.h>

Inheritance diagram for impeller::ContextGLES:
impeller::Context impeller::BackendCast< ContextGLES, Context >

Public Member Functions

 ~ContextGLES () override
 
BackendType GetBackendType () const override
 Get the graphics backend of an Impeller context. More...
 
const std::shared_ptr< ReactorGLES > & GetReactor () const
 
std::optional< ReactorGLES::WorkerIDAddReactorWorker (const std::shared_ptr< ReactorGLES::Worker > &worker)
 
bool RemoveReactorWorker (ReactorGLES::WorkerID id)
 
std::shared_ptr< GPUTracerGLESGetGPUTracer () const
 
- Public Member Functions inherited from impeller::Context
virtual ~Context ()
 Destroys an Impeller context. More...
 
virtual bool UpdateOffscreenLayerPixelFormat (PixelFormat format)
 
virtual void StoreTaskForGPU (const fml::closure &task, const fml::closure &failure)
 
virtual void InitializeCommonlyUsedShadersIfNeeded () const
 
virtual void DisposeThreadLocalCachedResources ()
 
virtual std::shared_ptr< const IdleWaiterGetIdleWaiter () const
 
virtual bool SubmitOnscreen (std::shared_ptr< CommandBuffer > cmd_buffer)
 Submit the command buffer that renders to the onscreen surface. More...
 

Static Public Member Functions

static std::shared_ptr< ContextGLESCreate (std::unique_ptr< ProcTableGLES > gl, const std::vector< std::shared_ptr< fml::Mapping >> &shader_libraries, bool enable_gpu_tracing)
 
- Static Public Member Functions inherited from impeller::BackendCast< ContextGLES, Context >
static ContextGLESCast (Context &base)
 
static const ContextGLESCast (const Context &base)
 
static ContextGLESCast (Context *base)
 
static const ContextGLESCast (const Context *base)
 

Additional Inherited Members

- Public Types inherited from impeller::Context
enum class  BackendType {
  kMetal ,
  kOpenGLES ,
  kVulkan
}
 
- Static Public Attributes inherited from impeller::Context
static constexpr int32_t kMaxTasksAwaitingGPU = 64
 
- Protected Member Functions inherited from impeller::Context
 Context ()
 
- Protected Attributes inherited from impeller::Context
std::vector< std::function< void()> > per_frame_task_
 

Detailed Description

Definition at line 23 of file context_gles.h.

Constructor & Destructor Documentation

◆ ~ContextGLES()

impeller::ContextGLES::~ContextGLES ( )
overridedefault

Member Function Documentation

◆ AddReactorWorker()

std::optional< ReactorGLES::WorkerID > impeller::ContextGLES::AddReactorWorker ( const std::shared_ptr< ReactorGLES::Worker > &  worker)

Definition at line 90 of file context_gles.cc.

91  {
92  if (!IsValid()) {
93  return std::nullopt;
94  }
95  return reactor_->AddWorker(worker);
96 }

◆ Create()

std::shared_ptr< ContextGLES > impeller::ContextGLES::Create ( std::unique_ptr< ProcTableGLES gl,
const std::vector< std::shared_ptr< fml::Mapping >> &  shader_libraries,
bool  enable_gpu_tracing 
)
static

Definition at line 21 of file context_gles.cc.

24  {
25  return std::shared_ptr<ContextGLES>(
26  new ContextGLES(std::move(gl), shader_libraries, enable_gpu_tracing));
27 }

Referenced by impeller::interop::Context::CreateOpenGLES().

◆ GetBackendType()

Context::BackendType impeller::ContextGLES::GetBackendType ( ) const
overridevirtual

Get the graphics backend of an Impeller context.

        This is useful for cases where a renderer needs to track and
        lookup backend-specific resources, like shaders or uniform
        layout information.

        It's not recommended to use this as a substitute for
        per-backend capability checking. Instead, check for specific
        capabilities via `GetCapabilities()`.
Returns
The graphics backend of the Context.

Implements impeller::Context.

Definition at line 82 of file context_gles.cc.

References impeller::Context::kOpenGLES.

◆ GetGPUTracer()

std::shared_ptr<GPUTracerGLES> impeller::ContextGLES::GetGPUTracer ( ) const
inline

Definition at line 45 of file context_gles.h.

45 { return gpu_tracer_; }

◆ GetReactor()

const std::shared_ptr< ReactorGLES > & impeller::ContextGLES::GetReactor ( ) const

Definition at line 86 of file context_gles.cc.

86  {
87  return reactor_;
88 }

◆ RemoveReactorWorker()

bool impeller::ContextGLES::RemoveReactorWorker ( ReactorGLES::WorkerID  id)

Definition at line 98 of file context_gles.cc.

98  {
99  if (!IsValid()) {
100  return false;
101  }
102  return reactor_->RemoveWorker(id);
103 }

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