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)
 
CapabilitiesBuilderSetNeedsPartitionedHostBuffer (bool value)
 
std::unique_ptr< CapabilitiesBuild ()
 

Detailed Description

Definition at line 148 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 290 of file capabilities.cc.

290  {
291  // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
292  return std::unique_ptr<StandardCapabilities>(new StandardCapabilities( //
293  supports_offscreen_msaa_, //
294  supports_ssbo_, //
295  supports_texture_to_texture_blits_, //
296  supports_framebuffer_fetch_, //
297  supports_compute_, //
298  supports_compute_subgroups_, //
299  supports_read_from_resolve_, //
300  supports_decal_sampler_address_mode_, //
301  supports_device_transient_textures_, //
302  supports_triangle_fan_, //
303  supports_extended_range_formats_, //
304  default_color_format_.value_or(PixelFormat::kUnknown), //
305  default_stencil_format_.value_or(PixelFormat::kUnknown), //
306  default_depth_stencil_format_.value_or(PixelFormat::kUnknown), //
307  default_glyph_atlas_format_.value_or(PixelFormat::kUnknown), //
308  default_maximum_render_pass_attachment_size_.value_or(ISize{1, 1}), //
309  minimum_uniform_alignment_, //
310  needs_partitioned_host_buffer_ //
311  ));
312 }
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 219 of file capabilities.cc.

220  {
221  default_color_format_ = value;
222  return *this;
223 }
int32_t value

References value.

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

◆ SetDefaultDepthStencilFormat()

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

Definition at line 231 of file capabilities.cc.

232  {
233  default_depth_stencil_format_ = value;
234  return *this;
235 }

References value.

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

◆ SetDefaultGlyphAtlasFormat()

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

Definition at line 255 of file capabilities.cc.

256  {
257  default_glyph_atlas_format_ = value;
258  return *this;
259 }

References value.

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

◆ SetDefaultStencilFormat()

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

Definition at line 225 of file capabilities.cc.

226  {
227  default_stencil_format_ = value;
228  return *this;
229 }

References value.

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

◆ SetMaximumRenderPassAttachmentSize()

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

Definition at line 266 of file capabilities.cc.

267  {
268  default_maximum_render_pass_attachment_size_ = size;
269  return *this;
270 }

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

◆ SetMinimumUniformAlignment()

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

Definition at line 278 of file capabilities.cc.

279  {
280  minimum_uniform_alignment_ = value;
281  return *this;
282 }

References value.

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

◆ SetNeedsPartitionedHostBuffer()

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

Definition at line 284 of file capabilities.cc.

285  {
286  needs_partitioned_host_buffer_ = value;
287  return *this;
288 }

References value.

◆ SetSupportsCompute()

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

Definition at line 208 of file capabilities.cc.

208  {
209  supports_compute_ = value;
210  return *this;
211 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsComputeSubgroups()

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

Definition at line 213 of file capabilities.cc.

214  {
215  supports_compute_subgroups_ = value;
216  return *this;
217 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDecalSamplerAddressMode()

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

Definition at line 243 of file capabilities.cc.

244  {
245  supports_decal_sampler_address_mode_ = value;
246  return *this;
247 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDeviceTransientTextures()

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

Definition at line 249 of file capabilities.cc.

250  {
251  supports_device_transient_textures_ = value;
252  return *this;
253 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsExtendedRangeFormats()

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

Definition at line 272 of file capabilities.cc.

273  {
274  supports_extended_range_formats_ = value;
275  return *this;
276 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsFramebufferFetch()

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

Definition at line 202 of file capabilities.cc.

203  {
204  supports_framebuffer_fetch_ = value;
205  return *this;
206 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsOffscreenMSAA()

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

Definition at line 186 of file capabilities.cc.

186  {
187  supports_offscreen_msaa_ = value;
188  return *this;
189 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsReadFromResolve()

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

Definition at line 237 of file capabilities.cc.

238  {
239  supports_read_from_resolve_ = read_from_resolve;
240  return *this;
241 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsSSBO()

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

Definition at line 191 of file capabilities.cc.

191  {
192  supports_ssbo_ = value;
193  return *this;
194 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTextureToTextureBlits()

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

Definition at line 196 of file capabilities.cc.

197  {
198  supports_texture_to_texture_blits_ = value;
199  return *this;
200 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTriangleFan()

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

Definition at line 261 of file capabilities.cc.

261  {
262  supports_triangle_fan_ = value;
263  return *this;
264 }

References value.

Referenced by impeller::InferMetalCapabilities().


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