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...
 
const FlagsGetFlags () const
 

Static Public Member Functions

static std::shared_ptr< ContextGLESCreate (const Flags &flags, 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 = 1024
 
- Protected Member Functions inherited from impeller::Context
 Context (const Flags &flags)
 
- Protected Attributes inherited from impeller::Context
Flags flags_
 
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 93 of file context_gles.cc.

94  {
95  if (!IsValid()) {
96  return std::nullopt;
97  }
98  return reactor_->AddWorker(worker);
99 }

◆ Create()

std::shared_ptr< ContextGLES > impeller::ContextGLES::Create ( const Flags flags,
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.

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

Referenced by impeller::interop::ContextGLES::Create().

◆ 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 85 of file context_gles.cc.

References impeller::Context::kOpenGLES.

◆ GetGPUTracer()

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

Definition at line 46 of file context_gles.h.

46 { return gpu_tracer_; }

◆ GetReactor()

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

Definition at line 89 of file context_gles.cc.

89  {
90  return reactor_;
91 }

◆ RemoveReactorWorker()

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

Definition at line 101 of file context_gles.cc.

101  {
102  if (!IsValid()) {
103  return false;
104  }
105  return reactor_->RemoveWorker(id);
106 }

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