Flutter Impeller
impeller::CapabilitiesBuilder Class Reference

#include <capabilities.h>

Public Member Functions

 CapabilitiesBuilder ()
 
 ~CapabilitiesBuilder ()
 
CapabilitiesBuilderSetSupportsOffscreenMSAA (bool value)
 
CapabilitiesBuilderSetSupportsSSBO (bool value)
 
CapabilitiesBuilderSetSupportsTextureToTextureBlits (bool value)
 
CapabilitiesBuilderSetSupportsFramebufferFetch (bool value)
 
CapabilitiesBuilderSetSupportsCompute (bool value)
 
CapabilitiesBuilderSetSupportsComputeSubgroups (bool value)
 
CapabilitiesBuilderSetSupportsReadFromResolve (bool value)
 
CapabilitiesBuilderSetDefaultColorFormat (PixelFormat value)
 
CapabilitiesBuilderSetDefaultStencilFormat (PixelFormat value)
 
CapabilitiesBuilderSetDefaultDepthStencilFormat (PixelFormat value)
 
CapabilitiesBuilderSetSupportsDecalSamplerAddressMode (bool value)
 
CapabilitiesBuilderSetSupportsDeviceTransientTextures (bool value)
 
CapabilitiesBuilderSetSupportsExtendedRangeFormats (bool value)
 
CapabilitiesBuilderSetDefaultGlyphAtlasFormat (PixelFormat value)
 
CapabilitiesBuilderSetSupportsTriangleFan (bool value)
 
CapabilitiesBuilderSetMaximumRenderPassAttachmentSize (ISize size)
 
CapabilitiesBuilderSetMinimumUniformAlignment (size_t value)
 
std::unique_ptr< CapabilitiesBuild ()
 

Detailed Description

Definition at line 137 of file capabilities.h.

Constructor & Destructor Documentation

◆ CapabilitiesBuilder()

impeller::CapabilitiesBuilder::CapabilitiesBuilder ( )
default

◆ ~CapabilitiesBuilder()

impeller::CapabilitiesBuilder::~CapabilitiesBuilder ( )
default

Member Function Documentation

◆ Build()

std::unique_ptr< Capabilities > impeller::CapabilitiesBuilder::Build ( )

Definition at line 269 of file capabilities.cc.

269  {
270  // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
271  return std::unique_ptr<StandardCapabilities>(new StandardCapabilities( //
272  supports_offscreen_msaa_, //
273  supports_ssbo_, //
274  supports_texture_to_texture_blits_, //
275  supports_framebuffer_fetch_, //
276  supports_compute_, //
277  supports_compute_subgroups_, //
278  supports_read_from_resolve_, //
279  supports_decal_sampler_address_mode_, //
280  supports_device_transient_textures_, //
281  supports_triangle_fan_, //
282  supports_extended_range_formats_, //
283  default_color_format_.value_or(PixelFormat::kUnknown), //
284  default_stencil_format_.value_or(PixelFormat::kUnknown), //
285  default_depth_stencil_format_.value_or(PixelFormat::kUnknown), //
286  default_glyph_atlas_format_.value_or(PixelFormat::kUnknown), //
287  default_maximum_render_pass_attachment_size_.value_or(ISize{1, 1}), //
288  minimum_uniform_alignment_ //
289  ));
290 }
ISize64 ISize
Definition: size.h:162

References impeller::kUnknown.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetDefaultColorFormat()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetDefaultColorFormat ( PixelFormat  value)

Definition at line 204 of file capabilities.cc.

205  {
206  default_color_format_ = value;
207  return *this;
208 }
int32_t value

References value.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetDefaultDepthStencilFormat()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetDefaultDepthStencilFormat ( PixelFormat  value)

Definition at line 216 of file capabilities.cc.

217  {
218  default_depth_stencil_format_ = value;
219  return *this;
220 }

References value.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetDefaultGlyphAtlasFormat()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetDefaultGlyphAtlasFormat ( PixelFormat  value)

Definition at line 240 of file capabilities.cc.

241  {
242  default_glyph_atlas_format_ = value;
243  return *this;
244 }

References value.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetDefaultStencilFormat()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetDefaultStencilFormat ( PixelFormat  value)

Definition at line 210 of file capabilities.cc.

211  {
212  default_stencil_format_ = value;
213  return *this;
214 }

References value.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetMaximumRenderPassAttachmentSize()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetMaximumRenderPassAttachmentSize ( ISize  size)

Definition at line 251 of file capabilities.cc.

252  {
253  default_maximum_render_pass_attachment_size_ = size;
254  return *this;
255 }

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetMinimumUniformAlignment()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetMinimumUniformAlignment ( size_t  value)

Definition at line 263 of file capabilities.cc.

264  {
265  minimum_uniform_alignment_ = value;
266  return *this;
267 }

References value.

Referenced by impeller::InferMetalCapabilities(), and impeller::testing::TEST().

◆ SetSupportsCompute()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsCompute ( bool  value)

Definition at line 193 of file capabilities.cc.

193  {
194  supports_compute_ = value;
195  return *this;
196 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsComputeSubgroups()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsComputeSubgroups ( bool  value)

Definition at line 198 of file capabilities.cc.

199  {
200  supports_compute_subgroups_ = value;
201  return *this;
202 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDecalSamplerAddressMode()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsDecalSamplerAddressMode ( bool  value)

Definition at line 228 of file capabilities.cc.

229  {
230  supports_decal_sampler_address_mode_ = value;
231  return *this;
232 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDeviceTransientTextures()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsDeviceTransientTextures ( bool  value)

Definition at line 234 of file capabilities.cc.

235  {
236  supports_device_transient_textures_ = value;
237  return *this;
238 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsExtendedRangeFormats()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsExtendedRangeFormats ( bool  value)

Definition at line 257 of file capabilities.cc.

258  {
259  supports_extended_range_formats_ = value;
260  return *this;
261 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsFramebufferFetch()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsFramebufferFetch ( bool  value)

Definition at line 187 of file capabilities.cc.

188  {
189  supports_framebuffer_fetch_ = value;
190  return *this;
191 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsOffscreenMSAA()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsOffscreenMSAA ( bool  value)

Definition at line 171 of file capabilities.cc.

171  {
172  supports_offscreen_msaa_ = value;
173  return *this;
174 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsReadFromResolve()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsReadFromResolve ( bool  value)

Definition at line 222 of file capabilities.cc.

223  {
224  supports_read_from_resolve_ = read_from_resolve;
225  return *this;
226 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsSSBO()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsSSBO ( bool  value)

Definition at line 176 of file capabilities.cc.

176  {
177  supports_ssbo_ = value;
178  return *this;
179 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTextureToTextureBlits()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsTextureToTextureBlits ( bool  value)

Definition at line 181 of file capabilities.cc.

182  {
183  supports_texture_to_texture_blits_ = value;
184  return *this;
185 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTriangleFan()

CapabilitiesBuilder & impeller::CapabilitiesBuilder::SetSupportsTriangleFan ( bool  value)

Definition at line 246 of file capabilities.cc.

246  {
247  supports_triangle_fan_ = value;
248  return *this;
249 }

References value.

Referenced by impeller::InferMetalCapabilities().


The documentation for this class was generated from the following files: