| 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 | SetSyncPresentation (bool value)
| Force the Vulkan presentation (submitKHR) to be performed on the raster task runner. More...
Pool< HostBuffer > & | GetHostBufferPool () const
| Accessor for a pool of HostBuffers. More...
virtual void | StoreTaskForGPU (const std::function< void()> &task)

## 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 }
Public Attributes inherited from impeller::Context
CaptureContext | capture
Static Public Attributes inherited from impeller::Context
static constexpr int32_t | kMaxTasksAwaitingGPU = 10
Protected Member Functions inherited from impeller::Context
| Context ()

## Detailed Description

Definition at line 24 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 83 of file context_gles.cc.

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

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

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

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

75 {
76 return Context::BackendType::kOpenGLES;
77 }

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_; }

Referenced by impeller::EncodeCommandsInReactor().

## ◆ GetReactor()

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

Definition at line 79 of file context_gles.cc.

79 {
80 return reactor_;
81 }

## ◆ RemoveReactorWorker()

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

Definition at line 91 of file context_gles.cc.

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

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