enable f16; | |
struct S { | |
@align(64) @location(0) f : f32, | |
@size(32) @location(1) @interpolate(flat) u : u32, | |
@align(128) @builtin(position) v : vec4<f32>, | |
@align(32) @location(2) x : f16, | |
@align(64) @location(3) y : vec3<f16>, | |
}; | |
@group(0) @binding(0) | |
var<storage, read_write> output : S; | |
@fragment | |
fn frag_main(input : S) { | |
let f : f32 = input.f; | |
let u : u32 = input.u; | |
let v : vec4<f32> = input.v; | |
let x : f16 = input.x; | |
let y : vec3<f16> = input.y; | |
output = input; | |
} |