export const description = `Validation tests for discard`;import { makeTestGroup } from '../../../../common/framework/test_group.js';import { ShaderValidationTest } from '../shader_validation_test.js';export const g = makeTestGroup(ShaderValidationTest);g.test('placement').desc('Test that discard usage is validated').params(u =>u.combine('place', ['compute', 'vertex', 'fragment', 'module', 'subfrag', 'subvert', 'subcomp'])).fn(t => {const pos: { [key: string]: string } = {module: '',subvert: '',subfrag: '',subcomp: '',vertex: '',fragment: '',compute: '',};pos[t.params.place] = 'discard;';const code = `${pos.module}fn subvert() {${pos.subvert}}@vertexfn vtx() -> @builtin(position) vec4f {${pos.vertex}subvert();return vec4f(1);}fn subfrag() {${pos.subfrag}}@fragmentfn frag() -> @location(0) vec4f {${pos.fragment}subfrag();return vec4f(1);}fn subcomp() {${pos.subcomp}}@compute@workgroup_size(1)fn comp() {${pos.compute}subcomp();}`;const pass = ['fragment', 'subfrag'].includes(t.params.place);t.expectCompileResult(pass, code);});