webgpu
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| October 07, 2026 | - | - | - | 1.0.0-alpha06 |
Declaring dependencies
To add a dependency on Webgpu, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for
your app or module:
Groovy
dependencies { implementation "androidx.webgpu:webgpu:1.0.0-alpha06" }
Kotlin
dependencies { implementation("androidx.webgpu:webgpu:1.0.0-alpha06") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
There are no release notes for this artifact.
Webgpu Version 1.0
Version 1.0.0-alpha06
October 07, 2026
androidx.webgpu:webgpu:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.
New Features
- Hardware Buffer Integration: Added
GPUAndroidHardwareBufferUtilto zero-copy importHardwareBuffermemory into Dawn. IncludescreateTexture()for RGB buffers andcreateExternalTexture()for multi-planarYCbCrbuffers (requiresSharedTextureMemoryAHardwareBufferandYCbCrVulkanSamplersfeatures). - Fence Synchronization: Added
GPUSyncFenceas anAutoCloseablewrapper around aParcelFileDescriptorholding a kernel sync file. Addedawait(timeoutMillis)which blocks natively until fence signals. AddedfromSyncFencewhich adopts descriptors out of a platformandroid.hardware.SyncFenceon API 33+. AddedExtensions.toSyncFenceto convert back to a platformSyncFence. - Dawn Toggles Descriptor: Added
GPUDawnTogglesDescriptorand its correspondingBuilderto pass Dawn implementation toggles asenabledTogglesanddisabledTogglesstring arrays. Toggles can be scoped to instances, adapter selections, or single devices because this object integrates as an optionaldawnTogglesDescriptorproperty withinGPUInstanceDescriptor,GPURequestAdapterOptions, andGPUDeviceDescriptor. - Color Space and HDR Support: Added
GPUColorSpaceDawnand its correspondingBuilderto specify color space parameters including primaries, transfer characteristics, matrix, full or narrow range, and HDR reference white luminance. Added supporting color space constants likeColorSpacePrimariesDawn,ColorSpaceTransferDawn,ColorSpaceYCbCrMatrixDawn, andColorSpaceYCbCrRangeDawn.
API Changes
- Minimum SDK Update: Minimum supported SDK for
androidx.webgpuhas been increased from API 24 to API 26. - Builder Pattern Migration: Descriptors and configuration structures across libraries now provide a dedicated nested
Builderclass. Java callers must use new builders because@JvmOverloadsannotations have been removed from Kotlin constructors to improve Java interoperability. Affected structures includeGPUBufferDescriptor,GPUTextureBindingLayout,GPUPipelineLayoutDescriptor,GPUComputePipelineDescriptor,GPUVertexState, andGPUSurfaceDescriptor. - Thread Safety Enforcement: Updated
WebGpuhelper classes for strict single-threaded execution. Addedadapter,dispatcher, andisClosedproperties, alongsideexecute()andprocessEventsLoop()suspend functions.createWebGpu()now accepts a customCoroutineDispatcher. - Experimental API Annotation: Introduced
@ExperimentalWebGpuApito mark incubating and Dawn specific experimental APIs across libraries. This includesGPUSyncFence,GPUDawnTogglesDescriptor,GPUExternalTextureDescriptor, andGPUHardwareBufferWrapper. - Hardware Buffer Extras: Added
GPUHardwareBufferWrapperas a common base for hardware buffer imports. AddedGPUExternalTextureDescriptorand its correspondingBuilder,GPUExtent2D, andGPUOrigin2Dso crop rects, color spaces, and rotation can fold into sampling operations. - Color Conversion Extension: Removed the
@RequiresApi(26)restriction onExtensions.toGPUColor(long)as it is now redundant with the library's overall minimum SDK bump to API 26. - Immediate Executions: Added
setImmediatesmethod toGPUComputePassEncoder,GPURenderBundleEncoder, andGPURenderPassEncoder. - Device Methods: Added
createErrorExternalTextureandcreateExternalTexturemethods toGPUDevice. - Texture Methods: Added
destroymethod toGPUExternalTexture. - New Constants and Supported Features:
VertexFormat: AddedSnorm10_10_10_2.SType: AddedDawnTogglesDescriptor.WGSLLanguageFeatureName: AddedBufferView,FragmentDepth,ImmediateAddressSpace,LinearIndexing, andSwizzleAssignment.FeatureName: AddedSubgroupSizeControl.- Added experimental features like
OpaqueYCbCrAndroidForExternalTexture,SharedFenceSyncFD,SharedTextureMemoryAHardwareBuffer, andYCbCrVulkanSamplers. PredefinedColorSpace: AddedDisplayP3Linear,Rec2020Linear, andSRGBLinear.ExternalTextureRotation: AddedRotate0Degrees,Rotate90Degrees,Rotate180Degrees, andRotate270Degrees.
Important Note: Documentation provided in this library release has been generated utilizing Google Gemini and may contain errors.
Version 1.0.0-alpha05
April 22, 2026
androidx.webgpu:webgpu:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.
New Features & Constants
Compatibility Mode Limits
- Added
GPUCompatibilityModeLimits(and its correspondingBuilder) to define limits specifically for compatibility mode. - Includes specific limits such as
maxStorageBuffersInVertexStageandmaxStorageTexturesInFragmentStage. - This object has been integrated as an optional property within
GPULimits.
- Added
Texture Binding View Dimensions
- Added
GPUTextureBindingViewDimensionto provide more granular control over texture view bindings. - These can now be specified within
GPUTextureDescriptor.
- Added
New Constants and Supported Features
- TextureUsage: Added
TransientAttachment. - WGSLLanguageFeatureName:
- Added
SubgroupUniformity. - Added
TextureFormatsTier1.
- Added
- SType: Added the following:
ExternalTextureBindingLayoutExternalTextureBindingEntryCompatibilityModeLimitsTextureBindingViewDimension
- TextureUsage: Added
API Changes
- IntDef Annotation Refactoring: The structural definition of all enums (such as
AdapterType,TextureFormat,BufferUsage,LoadOp, etc.) are refactored. They have transitioned from public annotation classes to private constructor classes containing a nested.Typeannotation class. Consequently, parameter annotations across the library have been updated from@FormatNameto@FormatName.Type(e.g., changing@TextureFormatto@TextureFormat.Type). - Texture View Descriptor Updates:
GPUTextureViewDescriptornow accepts ausageparameter (@TextureUsage.Type), allowing specific usages to be defined directly on the texture view.
Important Note: The documentation provided in this library release has been generated utilizing Google Gemini and may contain errors.
Version 1.0.0-alpha04
February 11, 2026
androidx.webgpu:webgpu:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.
New Features
- Builder Pattern: Introduced static Builder classes for all descriptor and state objects (e.g.,
GPUDeviceDescriptor.Builder,GPURenderPipelineDescriptor.Builder) to simplify object construction and improve Java interoperability. - Expanded Test Suite: Added more tests, including for the new color conversion extensions, to improve library stability.
- Documentation: Substantially improved KDoc and Javadoc throughout the library, providing clearer definitions for API types and flags.
API Changes
- Constructor Updates: Public constructors for descriptor classes have been updated to support the Builder pattern; many overloaded constructors were removed to streamline the API.
Dawn Update: Updated the internal Dawn source commit to dc741dd to stay synchronized with the upstream WebGPU implementation.
Important Note: The documentation provided in this library release has been generated utilizing Google Gemini and may contain errors.
Bug Fixes
- Fixed incorrect default value for mask in
GPUMultisampleState(I41e86f0b, b/379441904)
Version 1.0.0-alpha03
January 14, 2026
androidx.webgpu:webgpu:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
New Features
- Expanded Test Suite: Added more comprehensive tests to improve library stability.
- Color Conversion Extension: Added extension functions to easily convert Android Color values into
GPUColor. - Unified Callback Interface: A new
GPURequestCallbackinterface has been added to handle asynchronous operations more consistently across the library. - Metadata: The library AAR now includes a
dawn_build_metadata.jsonfile in its assets. This file contains the specific Dawn Git SHA-1 commit used for the build.
API Changes
- Callback Consolidation: Several specific callback interfaces have been removed in favor of the new generic
GPURequestCallback.
Version 1.0.0-alpha02
December 17, 2025
androidx.webgpu:webgpu:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.
New Features
- Expanded Test Suite: Added more comprehensive tests to improve library stability.
- Minimum SDK Update: The library is now applicable for
minSdk24 and higher.
API Changes
- Structure Renaming: All structures are now prefixed with "GPU" for consistency with existing objects. For example,
BindGroupDescriptorhas been renamed toGPUBindGroupDescriptor. - Global Method Wrapping: Global functions have been moved into a public GPU object for better clarity and organization within the Kotlin API.
- Exception Handling Refactor: Internalized the
getExceptionfunction by moving it into theWebGpuRuntimeExceptioncompanion object. This prevents developers from accessing the internal exception creation logic while maintaining a clean public API surface.
Version 1.0.0-alpha01
December 03, 2025
androidx.webgpu:webgpu:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.
New Features
- This is the initial alpha version of the WebGPU for Android Applications library. It is intended at this stage for developer preview. The API is expected to be finalized over the next few releases.