21 return supports_offscreen_msaa_;
32 return supports_texture_to_texture_blits_;
37 return supports_framebuffer_fetch_;
45 return supports_compute_subgroups_;
50 return supports_read_from_resolve_;
55 return supports_decal_sampler_address_mode_;
60 return default_color_format_;
65 return default_stencil_format_;
70 return default_depth_stencil_format_;
75 return supports_device_transient_textures_;
80 return default_glyph_atlas_format_;
86 bool supports_texture_to_texture_blits,
87 bool supports_framebuffer_fetch,
88 bool supports_compute,
89 bool supports_compute_subgroups,
90 bool supports_read_from_resolve,
91 bool supports_decal_sampler_address_mode,
92 bool supports_device_transient_textures,
97 : supports_offscreen_msaa_(supports_offscreen_msaa),
98 supports_ssbo_(supports_ssbo),
99 supports_texture_to_texture_blits_(supports_texture_to_texture_blits),
100 supports_framebuffer_fetch_(supports_framebuffer_fetch),
101 supports_compute_(supports_compute),
102 supports_compute_subgroups_(supports_compute_subgroups),
103 supports_read_from_resolve_(supports_read_from_resolve),
104 supports_decal_sampler_address_mode_(
105 supports_decal_sampler_address_mode),
106 supports_device_transient_textures_(supports_device_transient_textures),
107 default_color_format_(default_color_format),
108 default_stencil_format_(default_stencil_format),
109 default_depth_stencil_format_(default_depth_stencil_format),
110 default_glyph_atlas_format_(default_glyph_atlas_format) {}
114 bool supports_offscreen_msaa_ =
false;
115 bool supports_ssbo_ =
false;
116 bool supports_texture_to_texture_blits_ =
false;
117 bool supports_framebuffer_fetch_ =
false;
118 bool supports_compute_ =
false;
119 bool supports_compute_subgroups_ =
false;
120 bool supports_read_from_resolve_ =
false;
121 bool supports_decal_sampler_address_mode_ =
false;
122 bool supports_device_transient_textures_ =
false;
138 supports_offscreen_msaa_ =
value;
143 supports_ssbo_ =
value;
149 supports_texture_to_texture_blits_ =
value;
155 supports_framebuffer_fetch_ =
value;
160 supports_compute_ =
value;
166 supports_compute_subgroups_ =
value;
172 default_color_format_ =
value;
178 default_stencil_format_ =
value;
184 default_depth_stencil_format_ =
value;
189 bool read_from_resolve) {
190 supports_read_from_resolve_ = read_from_resolve;
196 supports_decal_sampler_address_mode_ =
value;
202 supports_device_transient_textures_ =
value;
208 default_glyph_atlas_format_ =
value;
214 supports_offscreen_msaa_,
216 supports_texture_to_texture_blits_,
217 supports_framebuffer_fetch_,
219 supports_compute_subgroups_,
220 supports_read_from_resolve_,
221 supports_decal_sampler_address_mode_,
222 supports_device_transient_textures_,
CapabilitiesBuilder & SetDefaultColorFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsComputeSubgroups(bool value)
CapabilitiesBuilder & SetSupportsTextureToTextureBlits(bool value)
CapabilitiesBuilder & SetDefaultStencilFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsDeviceTransientTextures(bool value)
CapabilitiesBuilder & SetSupportsFramebufferFetch(bool value)
CapabilitiesBuilder & SetSupportsDecalSamplerAddressMode(bool value)
CapabilitiesBuilder & SetSupportsOffscreenMSAA(bool value)
CapabilitiesBuilder & SetSupportsSSBO(bool value)
CapabilitiesBuilder & SetDefaultGlyphAtlasFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsCompute(bool value)
std::unique_ptr< Capabilities > Build()
CapabilitiesBuilder & SetDefaultDepthStencilFormat(PixelFormat value)
CapabilitiesBuilder & SetSupportsReadFromResolve(bool value)
~StandardCapabilities() override=default
bool SupportsReadFromResolve() const override
Whether the context backend supports binding the current RenderPass attachments. This is supported if...
PixelFormat GetDefaultDepthStencilFormat() const override
Returns a supported PixelFormat for textures that store both a stencil and depth component....
bool SupportsComputeSubgroups() const override
Whether the context backend supports configuring ComputePass command subgroups.
bool SupportsOffscreenMSAA() const override
Whether the context backend supports attaching offscreen MSAA color/stencil textures.
bool SupportsTextureToTextureBlits() const override
Whether the context backend supports blitting from one texture region to another texture region (via ...
bool SupportsFramebufferFetch() const override
Whether the context backend is able to support pipelines with shaders that read from the framebuffer ...
PixelFormat GetDefaultGlyphAtlasFormat() const override
Returns the default pixel format for the alpha bitmap glyph atlas.
PixelFormat GetDefaultStencilFormat() const override
Returns a supported PixelFormat for textures that store stencil information. May include a depth chan...
bool SupportsCompute() const override
Whether the context backend supports ComputePass.
bool SupportsSSBO() const override
Whether the context backend supports binding Shader Storage Buffer Objects (SSBOs) to pipelines.
bool SupportsDeviceTransientTextures() const override
Whether the context backend supports allocating StorageMode::kDeviceTransient (aka "memoryless") text...
bool SupportsImplicitResolvingMSAA() const override
Whether the context backend supports multisampled rendering to the on-screen surface without requirin...
PixelFormat GetDefaultColorFormat() const override
Returns a supported PixelFormat for textures that store 4-channel colors (red/green/blue/alpha).
bool SupportsDecalSamplerAddressMode() const override
Whether the context backend supports SamplerAddressMode::Decal.
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...