5#ifndef FLUTTER_IMPELLER_RENDERER_CONTEXT_H_
6#define FLUTTER_IMPELLER_RENDERER_CONTEXT_H_
183 FML_CHECK(
false &&
"not supported in this context");
To do anything rendering related with Impeller, you need a context.
virtual ~Context()
Destroys an Impeller context.
virtual std::shared_ptr< CommandQueue > GetCommandQueue() const =0
Return the graphics queue for submitting command buffers.
virtual const std::shared_ptr< const Capabilities > & GetCapabilities() const =0
Get the capabilities of Impeller context. All optionally supported feature of the platform,...
static constexpr int32_t kMaxTasksAwaitingGPU
std::vector< std::function< void()> > per_frame_task_
virtual BackendType GetBackendType() const =0
Get the graphics backend of an Impeller context.
virtual std::shared_ptr< PipelineLibrary > GetPipelineLibrary() const =0
Returns the library of pipelines used by render or compute commands.
virtual void Shutdown()=0
Force all pending asynchronous work to finish. This is achieved by deleting all owned concurrent mess...
virtual std::shared_ptr< ShaderLibrary > GetShaderLibrary() const =0
Returns the library of shaders used to specify the programmable stages of a pipeline.
virtual std::shared_ptr< SamplerLibrary > GetSamplerLibrary() const =0
Returns the library of combined image samplers used in shaders.
virtual void StoreTaskForGPU(const std::function< void()> &task)
virtual std::shared_ptr< CommandBuffer > CreateCommandBuffer() const =0
Create a new command buffer. Command buffers can be used to encode graphics, blit,...
virtual void InitializeCommonlyUsedShadersIfNeeded() const
virtual std::string DescribeGpuModel() const =0
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.
virtual bool IsValid() const =0
Determines if a context is valid. If the caller ever receives an invalid context, they must discard i...
uint32_t uint32_t * format
#define FML_CHECK(condition)
Dart_NativeFunction function
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...