v136 · webgpu
Unified Texture Demo
Before Chrome 136, a texture_external binding slot could only receive a GPUExternalTexture (video frame). Now it also accepts a plain GPUTextureView — one shader, one pipeline, one bind group layout for both source types. This demo runs a procedural texture through an effect shader using just a GPUTextureView in the external-texture slot.
WebGPU is not available in this browser. Requires Chrome 113+ with WebGPU enabled.
Effect gallery
Initialising WebGPU…
source GPUTexture
Procedural input texture
GPUTextureView → externalTexture slot
Shader output (Chrome 136+)
WGSL bind group layout
Loading…
The key change: The WGSL shader uses a standard
texture_2d<f32>
binding. Pre-136, video-pipeline code required a separate texture_external shader
variant for video frames. Now the same GPUBindGroupLayout can accept either a
GPUTextureView or a GPUExternalTexture in the same slot, eliminating
the need for duplicate shader compilation for pipelines that mix static and video textures.