Public Member Functions | |
| TestImpellerContext () | |
| ~TestImpellerContext () | |
| impeller::Context::BackendType | GetBackendType () const override |
| Get the graphics backend of an Impeller context. | |
| std::string | DescribeGpuModel () const override |
| bool | IsValid () const override |
| 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. | |
| const std::shared_ptr< const impeller::Capabilities > & | GetCapabilities () const override |
Get the capabilities of Impeller context. All optionally supported feature of the platform, client-rendering API, and device can be queried using the Capabilities. | |
| bool | UpdateOffscreenLayerPixelFormat (impeller::PixelFormat format) override |
| std::shared_ptr< impeller::Allocator > | GetResourceAllocator () const override |
| Returns the allocator used to create textures and buffers on the device. | |
| std::shared_ptr< impeller::ShaderLibrary > | GetShaderLibrary () const override |
| Returns the library of shaders used to specify the programmable stages of a pipeline. | |
| std::shared_ptr< impeller::SamplerLibrary > | GetSamplerLibrary () const override |
| Returns the library of combined image samplers used in shaders. | |
| std::shared_ptr< impeller::PipelineLibrary > | GetPipelineLibrary () const override |
| Returns the library of pipelines used by render or compute commands. | |
| std::shared_ptr< impeller::CommandBuffer > | CreateCommandBuffer () const override |
| Create a new command buffer. Command buffers can be used to encode graphics, blit, or compute commands to be submitted to the device. | |
| std::shared_ptr< impeller::CommandQueue > | GetCommandQueue () const override |
| Return the graphics queue for submitting command buffers. | |
| void | Shutdown () override |
| Force all pending asynchronous work to finish. This is achieved by deleting all owned concurrent message loops. | |
| impeller::RuntimeStageBackend | GetRuntimeStageBackend () const override |
| Retrieve the runtime stage for this context type. | |
Public Member Functions inherited from impeller::Context | |
| virtual | ~Context () |
| Destroys an Impeller context. | |
| virtual void | StoreTaskForGPU (const fml::closure &task, const fml::closure &failure) |
| virtual void | InitializeCommonlyUsedShadersIfNeeded () const |
| virtual void | DisposeThreadLocalCachedResources () |
| virtual bool | EnqueueCommandBuffer (std::shared_ptr< CommandBuffer > command_buffer) |
| Enqueue command_buffer for submission by the end of the frame. | |
| virtual bool | FlushCommandBuffers () |
| Flush all pending command buffers. | |
| virtual bool | AddTrackingFence (const std::shared_ptr< Texture > &texture) const |
| virtual std::shared_ptr< const IdleWaiter > | GetIdleWaiter () const |
| virtual void | ResetThreadLocalState () const |
| virtual bool | SubmitOnscreen (std::shared_ptr< CommandBuffer > cmd_buffer) |
| Submit the command buffer that renders to the onscreen surface. | |
| const Flags & | GetFlags () const |
Public Attributes | |
| bool | did_shutdown = false |
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_ |
Definition at line 37 of file android_context_gl_unittests.cc.
|
inline |
Definition at line 39 of file android_context_gl_unittests.cc.
|
inline |
Definition at line 41 of file android_context_gl_unittests.cc.
|
inlineoverridevirtual |
Create a new command buffer. Command buffers can be used to encode graphics, blit, or compute commands to be submitted to the device.
A command buffer can only be used on a single thread. Multi-threaded render, blit, or compute passes must create a new command buffer on each thread.
Implements impeller::Context.
Definition at line 77 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Implements impeller::Context.
Definition at line 47 of file android_context_gl_unittests.cc.
|
inlineoverridevirtual |
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 43 of file android_context_gl_unittests.cc.
References impeller::Context::kOpenGLES.
|
inlineoverridevirtual |
Get the capabilities of Impeller context. All optionally supported feature of the platform, client-rendering API, and device can be queried using the Capabilities.
nullptr for a valid context. Implements impeller::Context.
Definition at line 51 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Return the graphics queue for submitting command buffers.
Implements impeller::Context.
Definition at line 82 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Returns the library of pipelines used by render or compute commands.
nullptr for a valid context. Implements impeller::Context.
Definition at line 72 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Returns the allocator used to create textures and buffers on the device.
nullptr for a valid context. Implements impeller::Context.
Definition at line 60 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Retrieve the runtime stage for this context type.
This is used by the engine shell and other subsystems for loading the correct shader types.
Implements impeller::Context.
Definition at line 88 of file android_context_gl_unittests.cc.
References impeller::kVulkan.
|
inlineoverridevirtual |
Returns the library of combined image samplers used in shaders.
nullptr for a valid context. Implements impeller::Context.
Definition at line 68 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
Returns the library of shaders used to specify the programmable stages of a pipeline.
nullptr for a valid context. Implements impeller::Context.
Definition at line 64 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
|
inlineoverridevirtual |
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.
It is convention in Impeller to never return an invalid context from a call that returns an pointer to a context. The call implementation performs validity checks itself and return a null context instead of a pointer to an invalid context.
How a context goes invalid is backend specific. It could happen due to device loss, or any other unrecoverable error.
Implements impeller::Context.
Definition at line 49 of file android_context_gl_unittests.cc.
|
inlineoverridevirtual |
Force all pending asynchronous work to finish. This is achieved by deleting all owned concurrent message loops.
Implements impeller::Context.
Definition at line 86 of file android_context_gl_unittests.cc.
References did_shutdown.
|
inlineoverridevirtual |
Reimplemented from impeller::Context.
Definition at line 56 of file android_context_gl_unittests.cc.
References FML_UNREACHABLE.
| bool flutter::testing::android::TestImpellerContext::did_shutdown = false |
Definition at line 92 of file android_context_gl_unittests.cc.
Referenced by Shutdown().