 |
Flutter Impeller
|
|
Go to the documentation of this file.
12 #include "flutter/fml/macros.h"
48 const vk::PhysicalDevice& physical_device)
const;
51 const vk::PhysicalDevice& physical_device)
const;
54 const vk::PhysicalDevice& physical_device);
103 bool validations_enabled_ =
false;
104 std::map<std::string, std::set<std::string>> exts_;
105 std::set<OptionalDeviceExtensionVK> optional_device_extensions_;
109 vk::PhysicalDeviceProperties device_properties_;
110 bool supports_compute_subgroups_ =
false;
111 bool supports_device_transient_textures_ =
false;
112 bool is_valid_ =
false;
114 bool HasExtension(
const std::string& ext)
const;
116 bool HasLayer(
const std::string& layer)
const;
OptionalDeviceExtensionVK
bool SupportsDecalSamplerAddressMode() const override
Whether the context backend supports SamplerAddressMode::Decal.
void SetOffscreenFormat(PixelFormat pixel_format) const
std::optional< std::vector< std::string > > GetEnabledInstanceExtensions() const
bool SupportsOffscreenMSAA() const override
Whether the context backend supports attaching offscreen MSAA color/stencil textures.
bool SupportsFramebufferFetch() const override
Whether the context backend is able to support pipelines with shaders that read from the framebuffer ...
PixelFormat GetDefaultStencilFormat() const override
Returns a supported PixelFormat for textures that store stencil information. May include a depth chan...
std::optional< std::vector< std::string > > GetEnabledLayers() const
@ kEXTPipelineCreationFeedback
bool SupportsTextureToTextureBlits() const override
Whether the context backend supports blitting from one texture region to another texture region (via ...
bool SupportsComputeSubgroups() const override
Whether the context backend supports configuring ComputePass command subgroups.
bool HasOptionalDeviceExtension(OptionalDeviceExtensionVK extension) const
bool SupportsReadFromResolve() const override
Whether the context backend supports binding the current RenderPass attachments. This is supported if...
bool SetPhysicalDevice(const vk::PhysicalDevice &physical_device)
PixelFormat GetDefaultColorFormat() const override
Returns a supported PixelFormat for textures that store 4-channel colors (red/green/blue/alpha).
std::optional< vk::PhysicalDeviceFeatures > GetEnabledDeviceFeatures(const vk::PhysicalDevice &physical_device) const
CapabilitiesVK(bool enable_validations)
PixelFormat GetDefaultDepthStencilFormat() const override
Returns a supported PixelFormat for textures that store both a stencil and depth component....
bool SupportsBufferToTextureBlits() const override
Whether the context backend supports blitting from a given DeviceBuffer view to a texture region (via...
bool SupportsCompute() const override
Whether the context backend supports ComputePass.
The Vulkan layers and extensions wrangler.
bool SupportsDeviceTransientTextures() const override
Whether the context backend supports allocating StorageMode::kDeviceTransient (aka "memoryless") text...
const vk::PhysicalDeviceProperties & GetPhysicalDeviceProperties() const
bool SupportsSSBO() const override
Whether the context backend supports binding Shader Storage Buffer Objects (SSBOs) to pipelines.
bool AreValidationsEnabled() const
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...
std::optional< std::vector< std::string > > GetEnabledDeviceExtensions(const vk::PhysicalDevice &physical_device) const
bool SupportsReadFromOnscreenTexture() const override
Whether the context backend supports binding the on-screen surface texture for shader reading.