[cts.https.html?q=webgpu:shader,validation,parse,must_use:builtin_must_use:*]
  implementation-status: backlog
  expected: TIMEOUT
  [:call="abs";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="abs";use=true]

  [:call="acos";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="acos";use=true]

  [:call="acosh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="acosh";use=true]

  [:call="all";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="all";use=true]

  [:call="any";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="any";use=true]

  [:call="arrayLength";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="arrayLength";use=true]

  [:call="asin";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="asin";use=true]

  [:call="asinh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="asinh";use=true]

  [:call="atan";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atan";use=true]

  [:call="atan2";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atan2";use=true]

  [:call="atanh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atanh";use=true]

  [:call="bitcast";use=false]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:call="bitcast";use=true]

  [:call="ceil";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="ceil";use=true]

  [:call="clamp";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="clamp";use=true]

  [:call="cos";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="cos";use=true]

  [:call="cosh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="cosh";use=true]

  [:call="countLeadingZeros";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="countLeadingZeros";use=true]

  [:call="countOneBits";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="countOneBits";use=true]

  [:call="countTrailingZeros";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="countTrailingZeros";use=true]

  [:call="cross";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="cross";use=true]

  [:call="degrees";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="degrees";use=true]

  [:call="determinant";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="determinant";use=true]

  [:call="distance";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="distance";use=true]

  [:call="dot";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="dot";use=true]

  [:call="dpdx";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdx";use=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="dpdxCoarse";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdxCoarse";use=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="dpdxFine";use=false]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdxFine";use=true]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="dpdy";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdy";use=true]
    expected:
      if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="dpdyCoarse";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdyCoarse";use=true]
    expected:
      if os == "win" and debug: [TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="dpdyFine";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="dpdyFine";use=true]
    expected:
      if os == "win" and debug: [TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="exp";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="exp";use=true]

  [:call="exp2";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="exp2";use=true]

  [:call="extractBits";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="extractBits";use=true]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:call="faceForward";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="faceForward";use=true]

  [:call="firstLeadingBit";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="firstLeadingBit";use=true]

  [:call="firstTrailingBit";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="firstTrailingBit";use=true]

  [:call="floor";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="floor";use=true]

  [:call="fma";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="fma";use=true]

  [:call="fract";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="fract";use=true]

  [:call="frexp";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="frexp";use=true]

  [:call="fwidth";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="fwidth";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="fwidthCoarse";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="fwidthCoarse";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="fwidthFine";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="fwidthFine";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="i32";use=false]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:call="i32";use=true]

  [:call="insertBits";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:call="insertBits";use=true]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:call="inverseSqrt";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="inverseSqrt";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:call="ldexp";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="ldexp";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="length";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="length";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="log";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="log";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="log2";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="log2";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="max";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="max";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:call="min";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="min";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:call="mix";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="mix";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="modf";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="modf";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="normalize";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="normalize";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="pack2x16float";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pack2x16float";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="pack2x16snorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pack2x16snorm";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="pack2x16unorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pack2x16unorm";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="pack4x8snorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pack4x8snorm";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="pack4x8unorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pack4x8unorm";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="pow";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="pow";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="quantizeToF16";use=false]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="quantizeToF16";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="radians";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="radians";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="reflect";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="reflect";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="refract";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="refract";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="reverseBits";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="reverseBits";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="round";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="round";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="saturate";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="saturate";use=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="select";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="select";use=true]

  [:call="sign";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="sign";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="sin";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="sin";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="sinh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="sinh";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="smoothstep";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="smoothstep";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="sqrt";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="sqrt";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="step";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="step";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="struct";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="struct";use=true]

  [:call="tan";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="tan";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="tanh";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="tanh";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="textureDimensions";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureDimensions";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="textureGather";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureGather";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureGatherCompare";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureGatherCompare";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureLoad";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureLoad";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="textureNumLayers";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureNumLayers";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="textureNumLevels";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureNumLevels";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="textureNumSamples";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureNumSamples";use=true]
    expected: [TIMEOUT, NOTRUN]

  [:call="textureSample";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSample";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleBaseClampToEdge";use=false]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleBaseClampToEdge";use=true]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleBias";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleBias";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleCompare";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleCompare";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleCompareLevel";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleCompareLevel";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleGrad";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleGrad";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="textureSampleLevel";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="textureSampleLevel";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="transpose";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="transpose";use=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="trunc";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="trunc";use=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:call="u32";use=false]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:call="u32";use=true]

  [:call="unpack2x16float";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="unpack2x16float";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="unpack2x16snorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="unpack2x16snorm";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="unpack2x16unorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="unpack2x16unorm";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="unpack4x8snorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="unpack4x8snorm";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="unpack4x8unorm";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="unpack4x8unorm";use=true]
    expected:
      if os == "win": [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:call="workgroupUniformLoad";use=false]
    expected:
      if os == "win": [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:call="workgroupUniformLoad";use=true]
    expected: [TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,validation,parse,must_use:builtin_no_must_use:*]
  implementation-status: backlog
  [:call="atomicAdd";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicAdd";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicAnd";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicAnd";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicCompareExchangeWeak";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicCompareExchangeWeak";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicExchange";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicExchange";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicLoad";use=false]

  [:call="atomicLoad";use=true]

  [:call="atomicMax";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicMax";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicMin";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicMin";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicOr";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicOr";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicSub";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicSub";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicXor";use=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:call="atomicXor";use=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL


[cts.https.html?q=webgpu:shader,validation,parse,must_use:call:*]
  implementation-status: backlog
  [:use="";call="condition"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="let"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="local_var"]
    expected: FAIL

  [:use="";call="matrix_elem"]
    expected: FAIL

  [:use="";call="no_call"]
    expected: FAIL

  [:use="";call="param"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="phony"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="pointer"]
    expected: FAIL

  [:use="";call="private_var"]
    expected: FAIL

  [:use="";call="return"]
    expected: FAIL

  [:use="";call="statement"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="storage_var"]
    expected: FAIL

  [:use="";call="var"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="";call="vector_elem"]
    expected: FAIL

  [:use="%40must_use";call="condition"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="%40must_use";call="let"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="%40must_use";call="local_var"]
    expected: FAIL

  [:use="%40must_use";call="matrix_elem"]
    expected: FAIL

  [:use="%40must_use";call="no_call"]
    expected: FAIL

  [:use="%40must_use";call="param"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="%40must_use";call="phony"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="%40must_use";call="pointer"]
    expected: FAIL

  [:use="%40must_use";call="private_var"]
    expected: FAIL

  [:use="%40must_use";call="return"]
    expected: FAIL

  [:use="%40must_use";call="statement"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:use="%40must_use";call="storage_var"]
    expected: FAIL

  [:use="%40must_use";call="var"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:use="%40must_use";call="vector_elem"]
    expected: FAIL


[cts.https.html?q=webgpu:shader,validation,parse,must_use:declaration:*]
  implementation-status: backlog
  [:test="empty_parameter"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="function_call"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="function_no_return"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="function_parameter"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="function_scalar_return"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:test="function_struct_return"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:test="function_var"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="parameter"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]

  [:test="var"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL]


[cts.https.html?q=webgpu:shader,validation,parse,must_use:ignore_result_of_non_must_use_that_returns_call_of_must_use:*]
  implementation-status: backlog
  [:]
    expected: FAIL
