| # Chromium Experimental Framebuffer Fetch | 
 |  | 
 | The `chromium_experimental_framebuffer_fetch` extension adds support for framebuffer inputs to fragment stages in WGSL. | 
 | Framebuffer input, or framebuffer fetch, lets a fragment shader read the value of framebuffer attachments for the current fragment. | 
 | It synchronizes the read with all previous writes to the same fragment (in API order). | 
 |  | 
 | ## Status | 
 |  | 
 | Framebuffer Fetch support in Tint is experimental and might change as we gain implementation experience. | 
 | It will also be updated to follow an upstream specification if one is made at some point. | 
 | Specification work in the WebGPU group hasn't started. | 
 |  | 
 | ## Pseudo-specification | 
 |  | 
 | This adds a new builtin attribute `@color` which takes a `u32` argument and is only allowed on `@fragment` entry point scalar / vector inputs. | 
 | Two input variables cannot have the same `@color` attribute. | 
 |  | 
 | ## Example usage | 
 |  | 
 | ``` | 
 | @fragment fn main(@color(0) vec4f previousColor) -> @location(0) vec4f { | 
 |     let color = computeThisFragmentColor(); | 
 |     return myBlend(previousColor, color); | 
 | } | 
 | ``` | 
 |  | 
 | ## To-dos | 
 |  | 
 |  - Are f16 types allowed for the `@color` inputs? | 
 |  - Are any changes needed for Vulkan support? |