| Flutter Impeller |

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1 2 3 4]

►N flutter |
►N impeller |
►N android |
C AndroidProc |
C Choreographer | This class describes access to the choreographer instance for the current thread. Choreographers are only available on API levels above 24. On levels below 24, an invalid choreographer will be returned
C HardwareBuffer | A wrapper for AHardwareBuffer https://developer.android.com/ndk/reference/group/a-hardware-buffer
C HardwareBufferDescriptor | A descriptor use to specify hardware buffer allocations
C NativeWindow | A wrapper for ANativeWindow https://developer.android.com/ndk/reference/group/a-native-window
C ProcTable | The table of Android procs that are resolved dynamically
C ShadowRealm |
C SurfaceControl | A wrapper for ASurfaceControl. https://developer.android.com/ndk/reference/group/native-activity#asurfacecontrol
C SurfaceTransaction | A wrapper for ASurfaceTransaction. https://developer.android.com/ndk/reference/group/native-activity#asurfacetransaction
C TransactionInFlightData |
►N compiler |
►N testing |
C CompilerTest |
C AutoLogger |
C Compiler |
C CompilerBackend |
C CompilerSkSL |
C IncludeDir |
C Includer |
C IncluderData |
C InputDescription |
C KnownType |
►C Reflector |
C Options |
►C RuntimeStageData |
C Shader |
►C ShaderBundleData |
C ShaderUniformStruct |
C ShaderUniformStructField |
C ShaderUniformTexture |
C ShaderConfig | A shader config parsed as part of a ShaderBundleConfig
C SourceOptions |
C SPIRVCompiler |
C SPIRVCompilerOptions |
C SPIRVCompilerSourceProfile |
C SPIRVCompilerTargetEnv |
C StructMember |
C Switches |
C UniformDescription |
C UniqueIncluder | Wraps a shared includer so unique includers may be created to satisfy the shaderc API. This is a simple proxy object and does nothing
C VertexType |
►N egl |
C Config | An EGL config. These are returned by the display to indicate support for a specific config descriptor
C ConfigDescriptor |
C Context | An instance of an EGL context
C Display | A connection to an EGL display. Only one connection per application instance is sufficient
C Surface | An instance of an EGL surface. There is no ability to create surfaces directly. Instead, one must be created using a Display connection
►N glvk |
C AutoTrampolineContext | An RAII object that makes the trampolines EGL context current when constructed and clears the EGL binding on destruction
C ProcTable | A proc. table consisting of methods that are useful when interoperating between OpenGL and Vulkan. This is different from the OpenGL proc. table since it may contain more interop extension related methods
►C Trampoline | An object used to interoperate between OpenGL and Vulkan
C GLTextureInfo | Describes an OpenGL texture along with information on how to sample from it
►N interop |
►N testing |
C FlagObject |
C PlaygroundTest |
C TestObject |
C ColorFilter |
C ColorSource |
►C Context |
C BackendData |
C DisplayList |
C DisplayListBuilder |
C ImageFilter |
C MaskFilter |
C Object |
C ObjectBase |
C Paint |
C Paragraph |
C ParagraphBuilder |
C ParagraphStyle |
C Path |
C PathBuilder |
C ScopedObject |
C Surface |
C Texture |
C TypographyContext |
►N testing |
C BlendFilterContentsTest |
C BlendModeSelection |
C ColorBlendTestData |
C CompareFunctionUIData |
C CVTest |
C FailingAllocator |
C Foo |
C GaussianBlurFilterContentsTest |
C GoldenDigest | Manages a global variable for tracking instances of golden images
C GoldenTests |
C MaskBlurTestConfig |
C MatrixFilterContentsTest |
C MetalScreenshot | A screenshot that was produced from `MetalScreenshotter`
C MetalScreenshotter |
C RendererDartTest |
C RWFoo |
C Screenshot |
C Screenshotter |
C TestAllocator |
C TextRenderOptions |
C VulkanScreenshotter |
C WorkingDirectory |
C AHBSwapchainImplVK | The implementation of a swapchain at a specific size. Resizes to the surface will cause the instance of the swapchain impl at that size to be discarded along with all its caches and transients
C AHBSwapchainVK | The implementation of a swapchain that uses hardware buffers presented to a given surface control on Android
►C AHBTexturePoolVK | Maintains a bounded pool of hardware buffer backed texture sources that can be used as swapchain images
C PoolEntry |
C AHBTextureSourceVK | A texture source that wraps an instance of AHardwareBuffer
C AiksContext |
C AiksPlayground |
C AllocatedTextureSourceVK |
C Allocation | Describes an allocation on the heap
C AllocationSize | Represents the size of an allocation in different units
C Allocator | An object that allocates device memory
C AllocatorGLES |
C AllocatorMTL |
C AllocatorVK |
C AllocatorVMATraits |
C AnonymousContents |
C AtlasContents |
C AtlasGeometry |
C Attachment |
C AutoErrorCheck |
C BackendCast |
C BackgroundCommandPoolVK |
C BackgroundDescriptorPoolVK |
C BarrierVK | Defines an operations and memory access barrier on a resource
C Bindings |
C BitmapSTB |
C BlendFilterContents |
C BlitCommand |
C BlitCopyBufferToTextureCommand |
C BlitCopyBufferToTextureCommandGLES |
C BlitCopyTextureToBufferCommand |
C BlitCopyTextureToBufferCommandGLES |
C BlitCopyTextureToTextureCommand |
C BlitCopyTextureToTextureCommandGLES |
C BlitEncodeGLES | Mixin for dispatching GLES commands
C BlitGenerateMipmapCommand |
C BlitGenerateMipmapCommandGLES |
C BlitPass | Blit passes encode blit into the underlying command buffer
C BlitPassGLES |
C BlitPassMTL |
C BlitPassVK |
C BlitResizeTextureCommand |
C BlitResizeTextureCommandGLES |
C BlurParameters |
C BorderMaskBlurFilterContents |
C BufferAndUniformSlot | Combines the buffer resource and its uniform slot information
C BufferBindingsGLES | Sets up stage bindings for single draw call in the OpenGLES backend
C BufferView |
C BufferVMA |
C BufferVMATraits |
►C Canvas |
C SaveLayerState |
C CanvasDlDispatcher |
C CanvasStackEntry |
C Capabilities |
C CapabilitiesBuilder |
C CapabilitiesGLES | The Vulkan layers and extensions wrangler
C CapabilitiesVK | The Vulkan layers and extensions wrangler
C CircleGeometry |
C ClipContents |
C ClipCoverageLayer |
C ClipRestoreContents |
C Color |
C ColorAttachment |
C ColorAttachmentDescriptor | Describe the color attachment that will be used with this pipeline
C ColorFilterContents |
C ColorMatrix |
C ColorMatrixFilterContents |
C ColorSourceContents |
C Command | An object used to specify work to the GPU along with references to resources the GPU will used when doing said work
C CommandBuffer | A collection of encoded commands to be submitted to the GPU for execution. A command buffer is obtained from a graphics `Context`
C CommandBufferGLES |
C CommandBufferMTL |
C CommandBufferVK |
►C CommandPoolRecyclerVK | Creates and manages the lifecycle of |vk::CommandPool| objects
C RecycledData | A unique command pool and zero or more recycled command buffers
C CommandPoolVK | Manages the lifecycle of a single |vk::CommandPool|
C CommandQueue | An interface for submitting command buffers to the GPU for encoding and execution
C CommandQueueVK |
C Comparable |
C ComparableBase |
C ComparableEqual |
C ComparableHash |
C CompressedImage |
C CompressedImageSkia |
C ComputePass | Compute passes encode compute shader into the underlying command buffer
C ComputePassBindingsCacheMTL | Ensures that bindings on the pass are not redundantly set or updated. Avoids making the driver do additional checks and makes the frame insights during profiling and instrumentation not complain about the same
C ComputePassMTL |
C ComputePassVK |
C ComputePipelineBuilder | An optional (but highly recommended) utility for creating pipelines from reflected shader information
C ComputePipelineDescriptor |
C ComputePipelineHandle |
C ComputePipelineMTL |
C ComputePipelineVK |
C ComputePlaygroundTest |
C ConditionVariable | A condition variable exactly similar to the one in libcxx with two major differences:
C ConicalGradientContents |
C ContentContext |
►C ContentContextOptions |
C Equal |
C Hash |
►C Contents |
C ClipCoverage |
C ContentsFilterInput |
C Context | To do anything rendering related with Impeller, you need a context
C ContextGLES |
C ContextMTL |
►C ContextVK |
C Settings |
C ContourComponent |
C CoverGeometry | A geometry that implements "drawPaint" like behavior by covering the entire render pass area
C CubicPathComponent |
C DebugAllocatorStats |
C DebugReportVK |
C DecompressedImage |
C Degrees |
C DepthAttachment |
C DepthAttachmentDescriptor |
C DepthRange |
C DescriptionGLES |
C DescriptorPoolRecyclerVK | Creates and manages the lifecycle of |vk::DescriptorPoolVK| objects
C DescriptorPoolSize |
C DescriptorPoolVK | A per-frame descriptor pool. Descriptors from this pool don't need to be freed individually. Instead, the pool must be collected after all the descriptors allocated from it are done being used
C DescriptorSetLayout |
C DeviceBuffer |
C DeviceBufferDescriptor |
C DeviceBufferGLES |
C DeviceBufferMTL |
C DeviceBufferVK |
C DeviceHolderVK | Holds a strong reference to the underlying logical Vulkan device. This comes in handy when the context is being torn down and the various components on different threads may need to orchestrate safe shutdown
C DirectionalMorphologyFilterContents |
C DlAtlasGeometry | A wrapper around data provided by a drawAtlas call
C DlDispatcherBase |
C DlImageImpeller |
C DlPlayground |
C DlVerticesGeometry | A geometry that is created from a DlVertices object
C DrawOrderResolver |
C DriverInfoVK | Get information about the Vulkan driver
C EGLImageKHRWithDisplay |
C EGLImageKHRWithDisplayTraits |
C EGLImageWithDisplay |
C EGLImageWithDisplayTraits |
C EllipseGeometry |
C Entity |
►C EntityPassClipStack | A class that tracks all clips that have been recorded in the current entity pass stencil
C ClipStateResult |
C ReplayResult |
C EntityPassTarget |
C EntityPlayground |
C ExternalFenceVK | A Vulkan fence that can be exported as a platform specific file descriptor
C FenceWaiterVK |
C FillPathGeometry | A geometry that is created from a filled path object
C FilterContents |
C FilterContentsFilterInput |
C FilterInput |
►C Font | Describes a typeface along with any modifications to its intrinsic properties
C Metrics | Describes the modifications made to the intrinsic properties of a typeface
C FontGlyphAtlas | An object that can look up glyph locations within the GlyphAtlas for a particular typeface
C FontGlyphPair | A font along with a glyph in that font rendered at a particular scale and subpixel position
C FramebufferBlendContents |
C FRCFormatDescriptor | A pixel format and usage that is sufficient to check if images of that format and usage are suitable for use with fixed-rate compression
C GaussianBlurFilterContents |
C Geometry |
C GeometryResult |
C GLProc |
C GLTexture |
C GLTextureTraits |
C Glyph | The glyph index in the typeface
C GlyphAtlas | A texture containing the bitmap representation of glyphs in different fonts along with the ability to query the location of specific font glyphs within the texture
C GlyphAtlasContext | A container for caching a glyph atlas across frames
C GlyphAtlasContextSTB |
C GlyphProperties |
►C GoldenPlaygroundTest |
C GoldenPlaygroundTestImpl |
C GPUProbe |
C GPUTracerGLES | Trace GPU execution times using GL_EXT_disjoint_timer_query on GLES
C GPUTracerMTL | Approximate the GPU frame time by computing a difference between the smallest GPUStartTime and largest GPUEndTime for all command buffers submitted in a frame workload
C GPUTracerVK | A class that uses timestamp queries to record the approximate GPU execution time
C GradientData |
C Half | A storage only class for half precision floating point
C HalfVector2 | A storage only class for half precision floating point vector 2
C HalfVector3 | A storage only class for half precision floating point vector 3
C HalfVector4 | A storage only class for half precision floating point vector 4
►C HandleGLES | Represents a handle to an underlying OpenGL object. Unlike OpenGL object handles, these handles can be collected on any thread as long as their destruction is scheduled in a reactor
C Equal | A comparer used to test the equality of two handles
C Hash | Get the hash value of this handle. Handles can be used as map keys
►C HostBuffer |
C TestStateQuery | Test only internal state
C ImageVMA |
C ImageVMATraits |
C ImmutableSamplerKeyVK |
C ImpellerBenchmarkAccessor |
C ImpellerEntityUnitTestAccessor |
C ImpellerMetalCaptureManager | Creates and manages a Metal capture scope that supports frame capture when using the FlutterMetalLayer backed drawable
►C InlinePassContext |
C RenderPassResult |
C IPoint16 |
C KernelSample |
C KernelSamples |
C KHRFrameSynchronizerVK |
C KHRSwapchainImageVK |
►C KHRSwapchainImplVK | An instance of a swapchain that does NOT adapt to going out of date with the underlying surface. Errors will be indicated when the next drawable is acquired from this implementation of the swapchain. If the error is due the swapchain going out of date, the caller must recreate another instance by optionally stealing this implementations guts
C AcquireResult |
C KHRSwapchainVK | A swapchain implemented backed by VK_KHR_swapchain and VK_KHR_surface
C LazyGlyphAtlas |
C LazyRenderingConfig |
C LinearGradientContents |
C LinearPathComponent |
C LinearToSrgbFilterContents |
C LineGeometry |
C LocalMatrixFilterContents |
C Lock |
C Mask | A mask of typed enums
C MaskTraits |
C Matrix | A 4x4 matrix using column-major storage
C MatrixDecomposition |
C MatrixFilterContents |
C MixedOp_ |
C NinePatchConverter |
C NoExceptionPromise |
C Padded | Struct used for padding uniform buffer array elements
C Padding |
►C Paint |
C MaskBlurDescriptor |
C PassBindingsCacheMTL | Ensures that bindings on the pass are not redundantly set or updated. Avoids making the driver do additional checks and makes the frame insights during profiling and instrumentation not complain about the same
►C Path | Paths are lightweight objects that describe a collection of linear, quadratic, or cubic segments. These segments may be broken up by move commands, which are effectively linear commands that pick up the pen rather than continuing to draw
C Polyline |
►C PolylineContour |
C Component |
►C PathBuilder |
C RoundingRadii |
C Pipeline | Describes the fixed function and programmable aspects of rendering and compute operations performed by commands submitted to the GPU via a command buffer
C PipelineBuilder | An optional (but highly recommended) utility for creating pipelines from reflected shader information
C PipelineCacheHeaderVK | An Impeller specific header prepended to all pipeline cache information that is persisted on disk. This information is used to perform additional integrity checks that may have been missed by the Vulkan driver
C PipelineCacheVK |
C PipelineDescriptor |
C PipelineFuture |
C PipelineGLES |
C PipelineLibrary |
C PipelineLibraryGLES |
C PipelineLibraryMTL |
C PipelineLibraryVK |
C PipelineMTL |
C PipelineVK |
C PlaceholderFilterInput |
C Playground |
C PlaygroundImpl |
►C PlaygroundImplGLES |
C ReactorWorker |
►C PlaygroundImplMTL |
C Data |
C PlaygroundImplVK |
C PlaygroundPoint |
C PlaygroundSwitches |
C PlaygroundTest |
C PointFieldGeometry |
C Pool | A thread-safe pool with a limited byte size
C PoolVMA |
C PoolVMATraits |
C ProcTableGLES |
C QuadraticPathComponent |
C Quaternion |
C QueueIndexVK |
C QueuesVK | The collection of queues used by the context. The queues may all be the same
C QueueVK | A thread safe object that can be used to access device queues. If multiple objects are created with the same underlying queue, then the external synchronization guarantees of Vulkan queues cannot be met. So care must be taken the same device queue doesn't form the basis of multiple `QueueVK`s
C RadialGradientContents |
C Radians |
C Radius | For convolution filters, the "radius" is the size of the convolution kernel to use on the local space pixel grid of the filter input. For Gaussian blur kernels, this unit has a linear relationship with `Sigma`. See `kKernelRadiusPerSigma` for details on how this relationship works
C Range |
►C ReactorGLES | The reactor attempts to make thread-safe usage of OpenGL ES easier to reason about
C Worker | A delegate implemented by a thread on which an OpenGL context is current. There may be multiple workers for the reactor to perform reactions on. In that case, it is the workers responsibility to ensure that all of them use either the same OpenGL context or multiple OpenGL contexts in the same sharegroup
C ReaderLock |
C RectanglePacker | Packs rectangles into a specified area without rotating them
C RectGeometry |
C RenderPass | Render passes encode render commands directed as one specific render target into an underlying command buffer
C RenderPassBuilderVK |
C RenderPassData | Encapsulates data that will be needed in the reactor for the encoding of commands for this render pass
C RenderPassGLES |
C RenderPassMTL |
C RenderPassVK |
C RenderPipelineHandle |
►C RenderTarget |
C AttachmentConfig |
C AttachmentConfigMSAA |
C RenderTargetAllocator | Wrapper around the impeller [Allocator] instance that can be used to provide caching of allocated render target textures
C RenderTargetCache | An implementation of the [RenderTargetAllocator] that caches all allocated texture data for one frame
C RenderTargetConfig |
C Resource |
C ResourceBinder | An interface for binding resources. This is implemented by |Command| and |ComputeCommand| to make GPU resources available to a given command's pipeline
C ResourceManagerVK | A resource manager controls how resources are allocated and reclaimed
C ResourceVK | A resource that may be reclaimed by a |ResourceManagerVK|
C ResourceVKT | An internal type that is used to move a resource reference
C RoundRectGeometry |
►C RuntimeEffectContents |
C TextureInput |
C RuntimeStage |
C RuntimeStagePlayground |
C RuntimeUniformDescription |
C RuntimeUniformDimensions |
C SampledImageSlot | Metadata required to bind a combined texture and sampler
C Sampler |
C SamplerDescriptor |
C SamplerGLES |
C SamplerLibrary |
C SamplerLibraryGLES |
C SamplerLibraryMTL |
C SamplerLibraryVK |
C SamplerMTL |
C SamplerVK |
►C ScaledFont | A font and a scale. Used as a key that represents a typeface within a glyph atlas
C Equal |
C Hash |
C ScopedValidationDisable |
C ScopedValidationFatal |
C SeparatedVector2 | A Vector2, broken down as a separate magnitude and direction. Assumes that the direction given is normalized
C ShaderArchive |
C ShaderArchiveWriter |
C ShaderFunction |
C ShaderFunctionGLES |
C ShaderFunctionMTL |
C ShaderFunctionVK |
►C ShaderKey |
C Equal |
C Hash |
C ShaderLibrary |
C ShaderLibraryGLES |
C ShaderLibraryMTL |
C ShaderLibraryVK |
C ShaderMetadata |
C ShaderStageBufferLayout |
C ShaderStageCompatibilityChecker | Checks, at C++ compile-time, if the two pipeline stages are compatible
C ShaderStageIOSlot |
C ShaderStructMemberMetadata |
C ShaderUniformSlot | Metadata required to bind a buffer
C SharedObjectVK |
C SharedObjectVKT |
C Shear |
C Sigma | In filters that use Gaussian distributions, "sigma" is a size of one standard deviation in terms of the local space pixel grid of the filter input. In other words, this determines how wide the distribution stretches
C SkylineRectanglePacker |
C Snapshot | Represents a texture and its intended draw transform/sampler configuration
C SolidColorContents |
C SolidRRectBlurContents | Draws a fast solid color blur of an rounded rectangle. Only supports RRects with fully symmetrical radii. Also produces correct results for rectangles (corner_radius=0) and circles (corner_radius=width/2=height/2)
C SrgbToLinearFilterContents |
C StandardCapabilities |
C StencilAttachment |
C StencilAttachmentDescriptor |
C StopData |
C StrokePathGeometry | A geometry that is created from a stroked path object
►C SubpixelGlyph | A glyph and its subpixel position
C Equal |
C Hash |
C SuperellipseGeometry |
C Surface |
C SurfaceContextVK |
C SurfaceGLES |
C SurfaceMTL |
C SurfaceVK |
C SwapchainTransientsVK | Resources, meant to be memoized by the texture descriptor of the wrapped swapchain images, that are intuitively cheap to create but have been observed to be time consuming to construct on some Vulkan drivers. This includes the device-transient MSAA and depth-stencil textures
C SwapchainVK | A swapchain that adapts to the underlying surface going out of date. If the caller cannot acquire the next drawable, it is due to an unrecoverable error and the swapchain must be recreated with a new surface
C SweepGradientContents |
►C Tessellator | A utility that generates triangles of the specified fill type given a polyline. This happens on the CPU
C EllipticalVertexGenerator | The |VertexGenerator| implementation common to all shapes that are based on a polygonal representation of an ellipse
C VertexGenerator | An object which produces a list of vertices as |Point|s that tessellate a previously provided shape and delivers the vertices through a |TessellatedVertexProc| callback
C TessellatorLibtess | An extended tessellator that offers arbitrary/concave tessellation via the libtess2 library
C TextContents |
C TextFrame | Represents a collection of shaped text runs
C TextFrameDispatcher | Performs a first pass over the display list to collect all text frames
►C TextRun | Represents a collection of positioned glyphs from a specific font
C GlyphPosition |
C Texture |
C TextureAndSampler | Combines the texture, sampler and sampler slot information
C TextureContents |
C TextureDescriptor | A lightweight object that describes the attributes of a texture that can then used an allocator to create that texture
C TextureFilterInput |
C TextureGLES |
C TextureMTL |
C TextureSourceVK | Abstract base class that represents a vkImage and an vkImageView
C TextureVK |
C TiledTextureContents |
C TPoint |
C TrackedObjectsVK | A per-frame object used to track resource lifetimes and allocate command buffers and descriptor sets
C TRect |
C Trig | A structure to store the sine and cosine of an angle
C TSize |
C Typeface | A typeface, usually obtained from a font-file, on disk describes the intrinsic properties of the font. Typefaces are rarely used directly. Instead, font refer to typefaces along with any modifications applied to its intrinsic properties
C TypefaceSkia |
C TypefaceSTB |
C TypographerContext | The graphics context necessary to render text
C TypographerContextSkia |
C TypographerContextSTB |
C UniqueHandleGLES | A unique handle to an OpenGL object. The collection of this handle scheduled the destruction of the associated OpenGL object in the reactor
C UniqueID |
C UniqueResourceVKT | A unique handle to a resource which will be reclaimed by the specified resource manager
C ValidationLog |
C Vector3 |
C Vector4 |
C Version |
C VertexBuffer |
C VertexBufferBuilder |
C VertexDescriptor | Describes the format and layout of vertices expected by the pipeline. While it is possible to construct these descriptors manually, it would be tedious to do so. These are usually constructed using shader information reflected using `impellerc`. The usage of this class is indirectly via `PipelineBuilder<VS, FS>`
C VertexDescriptorMTL |
C VertexWriter | An interface for generating a multi contour polyline as a triangle strip
C Vertices |
C VerticesGeometry | A geometry that is created from a vertices object
C VerticesSimpleBlendContents |
C Viewport |
C WaitSetEntry |
C WriterLock |
C YUVConversionDescriptorVKEqual |
C YUVConversionDescriptorVKHash |
C YUVConversionLibraryVK | Due the way the Vulkan spec. treats "identically defined" conversions, creating two conversion with identical descriptors, using one with the image and the other with the sampler, is invalid use
C YUVConversionVK | It is sometimes necessary to deal with formats not native to Vulkan. In such cases, extra information is necessary to access images. A YUV conversion object is needed in such instances
C YUVToRGBFilterContents |
►N std |
C equal_to< impeller::Glyph > |
C hash< impeller::DepthAttachmentDescriptor > |
C hash< impeller::Font::Metrics > |
C hash< impeller::Glyph > |
C hash< impeller::StencilAttachmentDescriptor > |
C hash< impeller::UniqueID > |
C less< impeller::Glyph > |
C less< impeller::UniqueID > |
C<FlutterMetalDrawable> |
C ImGui_ImplImpeller_Data |
C ImpellerColor |
C ImpellerColorMatrix |
C ImpellerISize |
C ImpellerMapping |
C ImpellerMatrix |
C ImpellerPoint |
C ImpellerRect |
C ImpellerRoundingRadii |
C ImpellerSize |
C ImpellerTextureDescriptor |
C Uniforms |