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 141 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 283 of file capabilities.cc.

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

213  {
214  default_color_format_ = value;
215  return *this;
216 }
int32_t value

References value.

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

◆ SetDefaultDepthStencilFormat()

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

Definition at line 224 of file capabilities.cc.

225  {
226  default_depth_stencil_format_ = value;
227  return *this;
228 }

References value.

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

◆ SetDefaultGlyphAtlasFormat()

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

Definition at line 248 of file capabilities.cc.

249  {
250  default_glyph_atlas_format_ = value;
251  return *this;
252 }

References value.

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

◆ SetDefaultStencilFormat()

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

Definition at line 218 of file capabilities.cc.

219  {
220  default_stencil_format_ = value;
221  return *this;
222 }

References value.

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

◆ SetMaximumRenderPassAttachmentSize()

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

Definition at line 259 of file capabilities.cc.

260  {
261  default_maximum_render_pass_attachment_size_ = size;
262  return *this;
263 }

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

◆ SetMinimumUniformAlignment()

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

Definition at line 271 of file capabilities.cc.

272  {
273  minimum_uniform_alignment_ = value;
274  return *this;
275 }

References value.

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

◆ SetNeedsPartitionedHostBuffer()

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

Definition at line 277 of file capabilities.cc.

278  {
279  needs_partitioned_host_buffer_ = value;
280  return *this;
281 }

References value.

◆ SetSupportsCompute()

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

Definition at line 201 of file capabilities.cc.

201  {
202  supports_compute_ = value;
203  return *this;
204 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsComputeSubgroups()

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

Definition at line 206 of file capabilities.cc.

207  {
208  supports_compute_subgroups_ = value;
209  return *this;
210 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDecalSamplerAddressMode()

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

Definition at line 236 of file capabilities.cc.

237  {
238  supports_decal_sampler_address_mode_ = value;
239  return *this;
240 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDeviceTransientTextures()

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

Definition at line 242 of file capabilities.cc.

243  {
244  supports_device_transient_textures_ = value;
245  return *this;
246 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsExtendedRangeFormats()

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

Definition at line 265 of file capabilities.cc.

266  {
267  supports_extended_range_formats_ = value;
268  return *this;
269 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsFramebufferFetch()

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

Definition at line 195 of file capabilities.cc.

196  {
197  supports_framebuffer_fetch_ = value;
198  return *this;
199 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsOffscreenMSAA()

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

Definition at line 179 of file capabilities.cc.

179  {
180  supports_offscreen_msaa_ = value;
181  return *this;
182 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsReadFromResolve()

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

Definition at line 230 of file capabilities.cc.

231  {
232  supports_read_from_resolve_ = read_from_resolve;
233  return *this;
234 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsSSBO()

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

Definition at line 184 of file capabilities.cc.

184  {
185  supports_ssbo_ = value;
186  return *this;
187 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTextureToTextureBlits()

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

Definition at line 189 of file capabilities.cc.

190  {
191  supports_texture_to_texture_blits_ = value;
192  return *this;
193 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTriangleFan()

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

Definition at line 254 of file capabilities.cc.

254  {
255  supports_triangle_fan_ = value;
256  return *this;
257 }

References value.

Referenced by impeller::InferMetalCapabilities().


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