| Flutter Impeller |

Public Member Functions | Static Public Member Functions | List of all members
impeller::ContextGLES Class Referencefinal

`#include <context_gles.h>`

Inheritance diagram for impeller::ContextGLES:

## 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::WorkerID > | AddReactorWorker (const std::shared_ptr< ReactorGLES::Worker > &worker)
bool | RemoveReactorWorker (ReactorGLES::WorkerID id)
std::shared_ptr< GPUTracerGLES > | GetGPUTracer () 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 IdleWaiter > | GetIdleWaiter () 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< ContextGLES > | Create (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 ContextGLES & | Cast (Context &base)
static const ContextGLES & | Cast (const Context &base)
static ContextGLES * | Cast (Context *base)
static const ContextGLES * | Cast (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 | ( |  | ) |
| override default

## 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
| override virtual

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.

82 {
83 return Context::BackendType::kOpenGLES;
84 }
impeller::Context::BackendType::kOpenGLES
@ kOpenGLES

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:

- impeller/renderer/backend/gles/context_gles.h
- impeller/renderer/backend/gles/context_gles.cc