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)
 
CapabilitiesBuilderSetDefaultGlyphAtlasFormat (PixelFormat value)
 
CapabilitiesBuilderSetSupportsTriangleFan (bool value)
 
CapabilitiesBuilderSetMaximumRenderPassAttachmentSize (ISize size)
 
std::unique_ptr< CapabilitiesBuild ()
 

Detailed Description

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

238  {
239  return std::unique_ptr<StandardCapabilities>(new StandardCapabilities( //
240  supports_offscreen_msaa_, //
241  supports_ssbo_, //
242  supports_texture_to_texture_blits_, //
243  supports_framebuffer_fetch_, //
244  supports_compute_, //
245  supports_compute_subgroups_, //
246  supports_read_from_resolve_, //
247  supports_decal_sampler_address_mode_, //
248  supports_device_transient_textures_, //
249  supports_triangle_fan_, //
250  default_color_format_.value_or(PixelFormat::kUnknown), //
251  default_stencil_format_.value_or(PixelFormat::kUnknown), //
252  default_depth_stencil_format_.value_or(PixelFormat::kUnknown), //
253  default_glyph_atlas_format_.value_or(PixelFormat::kUnknown), //
254  default_maximum_render_pass_attachment_size_.value_or(ISize{1, 1}) //
255  ));
256 }

References impeller::kUnknown.

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

◆ SetDefaultColorFormat()

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

Definition at line 185 of file capabilities.cc.

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

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

◆ SetDefaultDepthStencilFormat()

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

Definition at line 197 of file capabilities.cc.

198  {
199  default_depth_stencil_format_ = value;
200  return *this;
201 }

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

◆ SetDefaultGlyphAtlasFormat()

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

Definition at line 221 of file capabilities.cc.

222  {
223  default_glyph_atlas_format_ = value;
224  return *this;
225 }

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

◆ SetDefaultStencilFormat()

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

Definition at line 191 of file capabilities.cc.

192  {
193  default_stencil_format_ = value;
194  return *this;
195 }

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

◆ SetMaximumRenderPassAttachmentSize()

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

Definition at line 232 of file capabilities.cc.

233  {
234  default_maximum_render_pass_attachment_size_ = size;
235  return *this;
236 }

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

◆ SetSupportsCompute()

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

Definition at line 174 of file capabilities.cc.

174  {
175  supports_compute_ = value;
176  return *this;
177 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsComputeSubgroups()

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

Definition at line 179 of file capabilities.cc.

180  {
181  supports_compute_subgroups_ = value;
182  return *this;
183 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDecalSamplerAddressMode()

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

Definition at line 209 of file capabilities.cc.

210  {
211  supports_decal_sampler_address_mode_ = value;
212  return *this;
213 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsDeviceTransientTextures()

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

Definition at line 215 of file capabilities.cc.

216  {
217  supports_device_transient_textures_ = value;
218  return *this;
219 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsFramebufferFetch()

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

Definition at line 168 of file capabilities.cc.

169  {
170  supports_framebuffer_fetch_ = value;
171  return *this;
172 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsOffscreenMSAA()

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

Definition at line 152 of file capabilities.cc.

152  {
153  supports_offscreen_msaa_ = value;
154  return *this;
155 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsReadFromResolve()

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

Definition at line 203 of file capabilities.cc.

204  {
205  supports_read_from_resolve_ = read_from_resolve;
206  return *this;
207 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsSSBO()

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

Definition at line 157 of file capabilities.cc.

157  {
158  supports_ssbo_ = value;
159  return *this;
160 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTextureToTextureBlits()

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

Definition at line 162 of file capabilities.cc.

163  {
164  supports_texture_to_texture_blits_ = value;
165  return *this;
166 }

Referenced by impeller::InferMetalCapabilities().

◆ SetSupportsTriangleFan()

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

Definition at line 227 of file capabilities.cc.

227  {
228  supports_triangle_fan_ = value;
229  return *this;
230 }

Referenced by impeller::InferMetalCapabilities().


The documentation for this class was generated from the following files:
impeller::ISize
ISize64 ISize
Definition: size.h:140
impeller::PixelFormat::kUnknown
@ kUnknown