export const description = `This tests overrides numeric identifiers should not conflict.`;import { makeTestGroup } from '../../../../common/framework/test_group.js';import { AllFeaturesMaxLimitsGPUTest } from '../../../gpu_test.js';export const g = makeTestGroup(AllFeaturesMaxLimitsGPUTest);g.test('id_conflict').desc(`Tests that overrides' explicit numeric identifier should not conflict.`).fn(t => {t.expectValidationError(() => {t.device.createShaderModule({code: `@id(1234) override c0: u32;@id(4321) override c1: u32;@compute @workgroup_size(1) fn main() {// make sure the overridable constants are not optimized out_ = c0;_ = c1;}`,});}, false);t.expectValidationError(() => {t.device.createShaderModule({code: `@id(1234) override c0: u32;@id(1234) override c1: u32;@compute @workgroup_size(1) fn main() {// make sure the overridable constants are not optimized out_ = c0;_ = c1;}`,});}, true);});g.test('name_conflict').desc(`Tests that overrides' variable name should not conflict, regardless of their numeric identifiers.`).fn(t => {t.expectValidationError(() => {t.device.createShaderModule({code: `override c0: u32;override c0: u32;@compute @workgroup_size(1) fn main() {// make sure the overridable constants are not optimized out_ = c0;}`,});}, true);t.expectValidationError(() => {t.device.createShaderModule({code: `@id(1) override c0: u32;override c0: u32;@compute @workgroup_size(1) fn main() {// make sure the overridable constants are not optimized out_ = c0;}`,});}, true);t.expectValidationError(() => {t.device.createShaderModule({code: `@id(1) override c0: u32;@id(2) override c0: u32;@compute @workgroup_size(1) fn main() {// make sure the overridable constants are not optimized out_ = c0;}`,});}, true);});