# Chromium Internal Graphite

This is a WGSL extension enabling a grab bag of small features that are useful to Graphite:

 - Adds `r8unorm` to the texel formats for storage textures.

## Status

This is an internal extensions that's highly specific to what Graphite needs.
Don't use it unless you are Graphite (or Tint/Dawn's tests).
