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 144 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 287 of file capabilities.cc.

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

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

References value.

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

◆ SetDefaultDepthStencilFormat()

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

Definition at line 228 of file capabilities.cc.

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

References value.

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

◆ SetDefaultGlyphAtlasFormat()

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

Definition at line 252 of file capabilities.cc.

253  {
254  default_glyph_atlas_format_ = value;
255  return *this;
256 }

References value.

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

◆ SetDefaultStencilFormat()

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

Definition at line 222 of file capabilities.cc.

223  {
224  default_stencil_format_ = value;
225  return *this;
226 }

References value.

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

◆ SetMaximumRenderPassAttachmentSize()

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

Definition at line 263 of file capabilities.cc.

264  {
265  default_maximum_render_pass_attachment_size_ = size;
266  return *this;
267 }

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

◆ SetMinimumUniformAlignment()

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

Definition at line 275 of file capabilities.cc.

276  {
277  minimum_uniform_alignment_ = value;
278  return *this;
279 }

References value.

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

◆ SetNeedsPartitionedHostBuffer()

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

Definition at line 281 of file capabilities.cc.

282  {
283  needs_partitioned_host_buffer_ = value;
284  return *this;
285 }

References value.

◆ SetSupportsCompute()

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

Definition at line 205 of file capabilities.cc.

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

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsComputeSubgroups()

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

Definition at line 210 of file capabilities.cc.

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

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDecalSamplerAddressMode()

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

Definition at line 240 of file capabilities.cc.

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

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDeviceTransientTextures()

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

Definition at line 246 of file capabilities.cc.

247  {
248  supports_device_transient_textures_ = value;
249  return *this;
250 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsExtendedRangeFormats()

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

Definition at line 269 of file capabilities.cc.

270  {
271  supports_extended_range_formats_ = value;
272  return *this;
273 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsFramebufferFetch()

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

Definition at line 199 of file capabilities.cc.

200  {
201  supports_framebuffer_fetch_ = value;
202  return *this;
203 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsOffscreenMSAA()

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

Definition at line 183 of file capabilities.cc.

183  {
184  supports_offscreen_msaa_ = value;
185  return *this;
186 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsReadFromResolve()

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

Definition at line 234 of file capabilities.cc.

235  {
236  supports_read_from_resolve_ = read_from_resolve;
237  return *this;
238 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsSSBO()

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

Definition at line 188 of file capabilities.cc.

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

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTextureToTextureBlits()

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

Definition at line 193 of file capabilities.cc.

194  {
195  supports_texture_to_texture_blits_ = value;
196  return *this;
197 }

References value.

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTriangleFan()

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

Definition at line 258 of file capabilities.cc.

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

References value.

Referenced by impeller::InferMetalCapabilities().


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