Flutter Engine
The Flutter Engine
|
#include <context_gles.h>
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 BackendType | GetBackendType () const =0 |
Get the graphics backend of an Impeller context. More... | |
virtual std::string | DescribeGpuModel () const =0 |
virtual bool | IsValid () const =0 |
Determines if a context is valid. If the caller ever receives an invalid context, they must discard it and construct a new context. There is no recovery mechanism to repair a bad context. More... | |
virtual const std::shared_ptr< const Capabilities > & | GetCapabilities () const =0 |
Get the capabilities of Impeller context. All optionally supported feature of the platform, client-rendering API, and device can be queried using the Capabilities . More... | |
virtual bool | UpdateOffscreenLayerPixelFormat (PixelFormat format) |
virtual std::shared_ptr< Allocator > | GetResourceAllocator () const =0 |
Returns the allocator used to create textures and buffers on the device. More... | |
virtual std::shared_ptr< ShaderLibrary > | GetShaderLibrary () const =0 |
Returns the library of shaders used to specify the programmable stages of a pipeline. More... | |
virtual std::shared_ptr< SamplerLibrary > | GetSamplerLibrary () const =0 |
Returns the library of combined image samplers used in shaders. More... | |
virtual std::shared_ptr< PipelineLibrary > | GetPipelineLibrary () const =0 |
Returns the library of pipelines used by render or compute commands. More... | |
virtual std::shared_ptr< CommandBuffer > | CreateCommandBuffer () const =0 |
Create a new command buffer. Command buffers can be used to encode graphics, blit, or compute commands to be submitted to the device. More... | |
virtual std::shared_ptr< CommandQueue > | GetCommandQueue () const =0 |
Return the graphics queue for submitting command buffers. More... | |
virtual void | Shutdown ()=0 |
Force all pending asynchronous work to finish. This is achieved by deleting all owned concurrent message loops. More... | |
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 class | BackendType { kMetal , kOpenGLES , 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_ |
Definition at line 22 of file context_gles.h.
|
overridedefault |
std::optional< ReactorGLES::WorkerID > impeller::ContextGLES::AddReactorWorker | ( | const std::shared_ptr< ReactorGLES::Worker > & | worker | ) |
Definition at line 85 of file context_gles.cc.
|
static |
Definition at line 16 of file context_gles.cc.
|
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()`.
Context
. Implements impeller::Context.
Definition at line 77 of file context_gles.cc.
|
inline |
Definition at line 44 of file context_gles.h.
const ReactorGLES::Ref & impeller::ContextGLES::GetReactor | ( | ) | const |
Definition at line 81 of file context_gles.cc.
bool impeller::ContextGLES::RemoveReactorWorker | ( | ReactorGLES::WorkerID | id | ) |
Definition at line 93 of file context_gles.cc.