Skip to content

WebGPU is broken on Pixel 10 (Tensor G5 / PowerVR) — temporary fallback to WebGL2 to be removed when fixed #8874

Description

@mvaligursky

Problem

The Pixel 10 family (Tensor G5) switched from Arm Mali to an Imagination PowerVR DXT-48-1536 GPU. Chrome's WebGPU support for this GPU is new and still buggy — Dawn carries device-specific workarounds (broken workgroup-memory zero-init, pipeline caching, shader miscompiles) and was still suppressing CTS failures for this device as of June 2026.

In practice, engine content using compute shaders fails on this device — e.g. the gsplat GPU radix sort, which breaks SuperSplat.

Detection

pixel 10 webgpu report.txt

The adapter is identifiable via the standard GPUAdapterInfo API (adapter.info):

  • vendor: "img-tec"
  • architecture: "d-series"

(captured via webgpureport.com on a Pixel 10 Pro)

On Chrome for Android this vendor string currently only matches Tensor G5 devices, as older PowerVR parts were never allowlisted for WebGPU.

Temporary workaround

Detect vendor === 'img-tec' in WebgpuGraphicsDevice.createDevice() after requestAdapter() and fail WebGPU device creation, so createGraphicsDevice() falls back to WebGL2 automatically.

To close this issue

  • Chrome/Dawn ships working support for the PowerVR DXT path
  • Re-test on Pixel 10 with the workaround disabled (engine gsplat examples + SuperSplat)
  • Remove the img-tec blocklist from the engine

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions