v136 · miscellaneous
WebGPU: GPUTextureView for externalTexture binding
Functionality added to the WebGPU spec after its first shipment in a browser. A GPUTextureView is now allowed to be used for an externalTexture binding when creating a GPUBindGroup.
concepts
-
External texture view
External textures (video frames) accept regular GPUTextureView bindings.
-
Intermediate buffer pipeline
The video-effects use case: one WGSL shader and one bind-group layout used at every stage, because the external-texture slot now also accepts a plain texture view.
-
Binding Compatibility Table
Every slot type × every source crossed in one table, with the new (v136) cells highlighted. A live "probe" button verifies your build accepts a
GPUTextureViewin atexture_externalslot. -
Unified Texture Demo
Creates a procedural texture, wraps it as a
GPUTextureView, binds it to a slot that previously required aGPUExternalTexture, and runs it through five live WGSL effects (passthrough, invert, grayscale, sepia, hue-shift) — all without a separate shader variant.
why it shipped
Some developers using WebGPU for video effects pipelines have proposed allowing a compatible GPUTextureView (2D, single subresource) to be used in place of a GPUExternalTexture binding. This would simplify their shader logic, which currently needs to handle both GPUExternalTexture (for source video) and GPUTextureView (for intermediate processing) and reduce the need to dynamically compile shaders depending on where the texture comes from.