Flutter Engine
The Flutter Engine
|
Public Member Functions | |
TestImpellerContext ()=default | |
BackendType | GetBackendType () const override |
Get the graphics backend of an Impeller context. More... | |
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. More... | |
const std::shared_ptr< const 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 . More... | |
std::shared_ptr< Allocator > | GetResourceAllocator () const override |
Returns the allocator used to create textures and buffers on the device. More... | |
std::shared_ptr< ShaderLibrary > | GetShaderLibrary () const override |
Returns the library of shaders used to specify the programmable stages of a pipeline. More... | |
std::shared_ptr< SamplerLibrary > | GetSamplerLibrary () const override |
Returns the library of combined image samplers used in shaders. More... | |
std::shared_ptr< PipelineLibrary > | GetPipelineLibrary () const override |
Returns the library of pipelines used by render or compute commands. More... | |
std::shared_ptr< CommandQueue > | GetCommandQueue () const override |
Return the graphics queue for submitting command buffers. More... | |
std::shared_ptr< 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. More... | |
void | Shutdown () override |
Force all pending asynchronous work to finish. This is achieved by deleting all owned concurrent message loops. More... | |
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 |
Public Attributes | |
size_t | command_buffer_count_ = 0 |
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 40 of file image_decoder_unittests.cc.
|
default |
|
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 74 of file image_decoder_unittests.cc.
|
inlineoverridevirtual |
Implements impeller::Context.
Definition at line 46 of file image_decoder_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 44 of file image_decoder_unittests.cc.
|
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 50 of file image_decoder_unittests.cc.
|
inlineoverridevirtual |
Return the graphics queue for submitting command buffers.
Implements impeller::Context.
Definition at line 70 of file image_decoder_unittests.cc.
|
inlineoverridevirtual |
Returns the library of pipelines used by render or compute commands.
nullptr
for a valid context. Implements impeller::Context.
Definition at line 66 of file image_decoder_unittests.cc.
|
inlineoverridevirtual |
Returns the allocator used to create textures and buffers on the device.
nullptr
for a valid context. Implements impeller::Context.
Definition at line 54 of file image_decoder_unittests.cc.
|
inlineoverridevirtual |
Returns the library of combined image samplers used in shaders.
nullptr
for a valid context. Implements impeller::Context.
Definition at line 62 of file image_decoder_unittests.cc.
|
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 58 of file image_decoder_unittests.cc.
|
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 48 of file image_decoder_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 79 of file image_decoder_unittests.cc.
|
mutable |
Definition at line 81 of file image_decoder_unittests.cc.