 |
Flutter Impeller
|
|
Go to the documentation of this file.
9 #include "flutter/fml/macros.h"
146 std::unique_ptr<Capabilities>
Build();
149 bool supports_offscreen_msaa_ =
false;
150 bool supports_ssbo_ =
false;
151 bool supports_buffer_to_texture_blits_ =
false;
152 bool supports_texture_to_texture_blits_ =
false;
153 bool supports_framebuffer_fetch_ =
false;
154 bool supports_compute_ =
false;
155 bool supports_compute_subgroups_ =
false;
156 bool supports_read_from_onscreen_texture_ =
false;
157 bool supports_read_from_resolve_ =
false;
158 bool supports_decal_sampler_address_mode_ =
false;
159 bool supports_device_transient_textures_ =
false;
160 std::optional<PixelFormat> default_color_format_ = std::nullopt;
161 std::optional<PixelFormat> default_stencil_format_ = std::nullopt;
162 std::optional<PixelFormat> default_depth_stencil_format_ = std::nullopt;
std::unique_ptr< Capabilities > Build()
virtual bool SupportsReadFromResolve() const =0
Whether the context backend supports binding the current RenderPass attachments. This is supported if...
virtual bool SupportsOffscreenMSAA() const =0
Whether the context backend supports attaching offscreen MSAA color/stencil textures.
virtual bool SupportsDeviceTransientTextures() const =0
Whether the context backend supports allocating StorageMode::kDeviceTransient (aka "memoryless") text...
CapabilitiesBuilder & SetSupportsSSBO(bool value)
CapabilitiesBuilder & SetSupportsCompute(bool value)
CapabilitiesBuilder & SetDefaultDepthStencilFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsFramebufferFetch(bool value)
CapabilitiesBuilder & SetSupportsComputeSubgroups(bool value)
virtual bool SupportsReadFromOnscreenTexture() const =0
Whether the context backend supports binding the on-screen surface texture for shader reading.
virtual bool SupportsBufferToTextureBlits() const =0
Whether the context backend supports blitting from a given DeviceBuffer view to a texture region (via...
CapabilitiesBuilder & SetSupportsTextureToTextureBlits(bool value)
FML_DISALLOW_COPY_AND_ASSIGN(Capabilities)
virtual PixelFormat GetDefaultStencilFormat() const =0
Returns a supported PixelFormat for textures that store stencil information. May include a depth chan...
CapabilitiesBuilder & SetDefaultColorFormat(PixelFormat value)
CapabilitiesBuilder & SetDefaultStencilFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsBufferToTextureBlits(bool value)
CapabilitiesBuilder & SetSupportsDecalSamplerAddressMode(bool value)
virtual bool SupportsComputeSubgroups() const =0
Whether the context backend supports configuring ComputePass command subgroups.
CapabilitiesBuilder & SetSupportsDeviceTransientTextures(bool value)
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...
virtual PixelFormat GetDefaultColorFormat() const =0
Returns a supported PixelFormat for textures that store 4-channel colors (red/green/blue/alpha).
virtual bool SupportsDecalSamplerAddressMode() const =0
Whether the context backend supports SamplerAddressMode::Decal.
virtual bool SupportsFramebufferFetch() const =0
Whether the context backend is able to support pipelines with shaders that read from the framebuffer ...
CapabilitiesBuilder & SetSupportsReadFromOnscreenTexture(bool value)
virtual bool SupportsSSBO() const =0
Whether the context backend supports binding Shader Storage Buffer Objects (SSBOs) to pipelines.
CapabilitiesBuilder & SetSupportsReadFromResolve(bool value)
virtual bool SupportsTextureToTextureBlits() const =0
Whether the context backend supports blitting from one texture region to another texture region (via ...
CapabilitiesBuilder & SetSupportsOffscreenMSAA(bool value)
virtual PixelFormat GetDefaultDepthStencilFormat() const =0
Returns a supported PixelFormat for textures that store both a stencil and depth component....
virtual bool SupportsCompute() const =0
Whether the context backend supports ComputePass.