struct type_1 { @location(0) member: vec2, @location(1) member_1: vec2, } struct VertexOutput { @builtin(position) member: vec4, @location(0) member_1: vec2, } @group(0) @binding(0) var global: texture_2d; @group(0) @binding(1) var global_1: sampler; @vertex fn vs(param: type_1) -> VertexOutput { return VertexOutput(vec4(param.member, vec2(0f, 1f)), param.member_1); } @fragment fn fs(param_1: VertexOutput) -> @location(0) vec4 { var local: vec4; let _e4: vec4 = textureSample(global, global_1, param_1.member_1); if (_e4.z < 0.5f) { discard; } else { local = _e4; } let _e10: vec4 = local; return _e10; }