| 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 ReactorGLES::Ref & | 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 std::function< void()> &task)
virtual void | InitializeCommonlyUsedShadersIfNeeded () const

## 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 | BackendType { BackendType::kMetal, BackendType::kOpenGLES, BackendType::kVulkan }
Static Public Attributes inherited from impeller::Context
static constexpr int32_t | kMaxTasksAwaitingGPU = 10
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 22 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 85 of file context_gles.cc.

86 {
87 if (!IsValid()) {
88 return std::nullopt;
89 }
90 return reactor_->AddWorker(worker);
91 }

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

19 {
20 return std::shared_ptr<ContextGLES>(
21 new ContextGLES(std::move(gl), shader_libraries, enable_gpu_tracing));
22 }

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

77 {
78 return Context::BackendType::kOpenGLES;
79 }

References impeller::Context::kOpenGLES.

## ◆ GetGPUTracer()

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

Definition at line 44 of file context_gles.h.

44 { return gpu_tracer_; }

## ◆ GetReactor()

const ReactorGLES::Ref & impeller::ContextGLES::GetReactor | ( |  | ) | const

Definition at line 81 of file context_gles.cc.

81 {
82 return reactor_;
83 }

## ◆ RemoveReactorWorker()

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

Definition at line 93 of file context_gles.cc.

93 {
94 if (!IsValid()) {
95 return false;
96 }
97 return reactor_->RemoveWorker(id);
98 }

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

impeller::Context::BackendType::kOpenGLES
@ kOpenGLES