GpuContext class base

A handle to a graphics context. Used to create and manage GPU resources.

To obtain the default graphics context, use getContext.

Properties

defaultColorFormat → PixelFormat
A supported PixelFormat for textures that store 4-channel colors (red/green/blue/alpha).
no setter
defaultDepthStencilFormat → PixelFormat
A supported PixelFormat for textures that store both a stencil and depth component. This will never return a depth-only or stencil-only texture.
no setter
defaultStencilFormat → PixelFormat
A supported PixelFormat for textures that store stencil information. May include a depth channel if a stencil-only format is not available.
no setter
doesSupportFramebufferRenderMipmap → bool
Whether the backend can attach a non-zero mip level of a texture as a render target (see ColorAttachment.mipLevel). Rendering into a cube map face or array layer is always supported; only non-zero mip levels are gated. True on Metal and Vulkan; currently false on the GLES backend, where rendering into non-zero mip levels is not yet implemented.
no setter
doesSupportManuallyMippedTextures → bool
Whether a texture whose mip levels were uploaded by hand with Texture.overwrite (rather than generated with CommandBuffer.generateMipmap) samples with correct per-level selection. True on Metal and Vulkan; on OpenGL ES 2.0 devices without the GL_APPLE_texture_max_level extension this is false, and sampling such a texture reads as black. Check this before relying on hand-built mip chains (for example, prefiltered environment maps).
no setter
doesSupportOffscreenMSAA → bool
Whether the backend supports multisample anti-aliasing for offscreen color and stencil attachments. A subset of OpenGLES-only devices do not support this functionality.
no setter
hashCode → int
The hash code for this object.
no setterinherited
maxSamplerAnisotropy → int
The maximum anisotropy clamp supported by device samplers (see SamplerOptions.maxAnisotropy).
no setter
minimumUniformByteAlignment → int
The minimum alignment required when referencing uniform blocks stored in a DeviceBuffer.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

createCommandBuffer() → CommandBuffer
Create a new command buffer that can be used to submit GPU commands.
createDeviceBuffer(StorageMode storageMode, int sizeInBytes) → DeviceBuffer
Allocates a new region of GPU-resident memory.
createDeviceBufferWithCopy(ByteData data) → DeviceBuffer
Allocates a new region of host-visible GPU-resident memory, initialized with the given data.
createHostBuffer({int blockLengthInBytes = HostBuffer.kDefaultBlockLengthInBytes}) → HostBuffer
Creates a bump allocator that managed a DeviceBuffer block list.
createImageSurface(int width, int height, {PixelFormat? format}) → GpuImageSurface
Creates an image surface for rendering content that Flutter draws as a ui.Image.
createRenderPipeline(Shader vertexShader, Shader fragmentShader, {VertexLayout? vertexLayout}) → RenderPipeline
createTexture(StorageMode storageMode, int width, int height, {PixelFormat format = PixelFormat.r8g8b8a8UNormInt, dynamic sampleCount = 1, TextureType? textureType, bool enableRenderTargetUsage = true, bool enableShaderReadUsage = true, bool enableShaderWriteUsage = false, int mipLevelCount = 1}) → Texture
Allocates a new texture in GPU-resident memory.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
supportsTextureCompression(TextureCompressionFamily family) → bool
Whether this device supports the given family of block-compressed texture formats. Hardware support is granted on a per-family basis.
supportsTextureFormat(PixelFormat format, {bool renderTarget = false, bool shaderRead = true, bool shaderWrite = false}) → bool
Whether this device can allocate a texture of the given format with the requested usage flags.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited