|  | # 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? |