Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
impeller::ContextGLES Class Referencefinal

#include <context_gles.h>

Inheritance diagram for impeller::ContextGLES:
impeller::Context impeller::BackendCast< ContextGLES, Context >

Public Member Functions

 ~ContextGLES () override
 
BackendType GetBackendType () const override
 Get the graphics backend of an Impeller context.
 
const std::shared_ptr< ReactorGLES > & GetReactor () const
 
std::optional< ReactorGLES::WorkerIDAddReactorWorker (const std::shared_ptr< ReactorGLES::Worker > &worker)
 
bool RemoveReactorWorker (ReactorGLES::WorkerID id)
 
std::shared_ptr< GPUTracerGLESGetGPUTracer () const
 
const std::shared_ptr< GpuSubmissionTracker > & GetMutableSubmissionTracker () const
 
- Public Member Functions inherited from impeller::Context
virtual ~Context ()
 Destroys an Impeller context.
 
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 IdleWaiterGetIdleWaiter () const
 
virtual bool SubmitOnscreen (std::shared_ptr< CommandBuffer > cmd_buffer)
 Submit the command buffer that renders to the onscreen surface.
 
const FlagsGetFlags () const
 

Static Public Member Functions

static std::shared_ptr< ContextGLESCreate (const Flags &flags, std::unique_ptr< ProcTableGLES > gl, const std::vector< std::shared_ptr< fml::Mapping > > &shader_libraries, bool enable_gpu_tracing, std::shared_ptr< fml::BasicTaskRunner > io_task_runner=nullptr)
 
- Static Public Member Functions inherited from impeller::BackendCast< ContextGLES, Context >
static ContextGLESCast (Context &base)
 
static const ContextGLESCast (const Context &base)
 
static ContextGLESCast (Context *base)
 
static const ContextGLESCast (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 = 1024
 
- 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 ( )
overridedefault

Member Function Documentation

◆ AddReactorWorker()

std::optional< ReactorGLES::WorkerID > impeller::ContextGLES::AddReactorWorker ( const std::shared_ptr< ReactorGLES::Worker > &  worker)

Definition at line 96 of file context_gles.cc.

97 {
98 if (!IsValid()) {
99 return std::nullopt;
100 }
101 return reactor_->AddWorker(worker);
102}

◆ 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,
std::shared_ptr< fml::BasicTaskRunner io_task_runner = nullptr 
)
static

Definition at line 21 of file context_gles.cc.

26 {
27 return std::shared_ptr<ContextGLES>(
28 new ContextGLES(flags, std::move(gl), shader_libraries,
29 enable_gpu_tracing, std::move(io_task_runner)));
30}

Referenced by impeller::interop::ContextGLES::Create(), flutter::CreateImpellerContext(), flutter::EmbedderSurfaceGLImpeller::EmbedderSurfaceGLImpeller(), Skwasm::RenderContext::Make(), and flutter::testing::ShellTestPlatformViewGL::ShellTestPlatformViewGL().

◆ GetBackendType()

Context::BackendType impeller::ContextGLES::GetBackendType ( ) const
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()`.
Returns
The graphics backend of the Context.

Implements impeller::Context.

Definition at line 88 of file context_gles.cc.

References impeller::Context::kOpenGLES.

◆ GetGPUTracer()

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

Definition at line 47 of file context_gles.h.

47{ return gpu_tracer_; }

◆ GetMutableSubmissionTracker()

const std::shared_ptr< GpuSubmissionTracker > & impeller::ContextGLES::GetMutableSubmissionTracker ( ) const

Definition at line 133 of file context_gles.cc.

133 {
134 return submission_tracker_;
135}

◆ GetReactor()

const std::shared_ptr< ReactorGLES > & impeller::ContextGLES::GetReactor ( ) const

Definition at line 92 of file context_gles.cc.

92 {
93 return reactor_;
94}

Referenced by impeller::testing::TEST_P(), impeller::testing::TEST_P(), and impeller::testing::TEST_P().

◆ RemoveReactorWorker()

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

Definition at line 104 of file context_gles.cc.

104 {
105 if (!IsValid()) {
106 return false;
107 }
108 return reactor_->RemoveWorker(id);
109}

The documentation for this class was generated from the following files: