| 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...
const Flags & | GetFlags () const

## Static Public Member Functions
static std::shared_ptr< 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 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 (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 | ( |  | ) |
| override default

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

85 {
86 return Context::BackendType::kOpenGLES;
87 }
impeller::Context::BackendType::kOpenGLES
@ kOpenGLES

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:

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