[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createBindGroupLayout,at_over:*]
  tags: [webgpu, webgpu-long]
  implementation-status:
    if os == "win": backlog
  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:*]
  implementation-status: backlog
  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="read-write"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="write-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="write-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="vertex";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="read-write"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="vertex";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="atDefault";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "mac": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="read-write"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="compute";access="write-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="write-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="vertex";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="read-write"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="vertex";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="read-write"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="compute";access="write-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-write"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="fragment";access="write-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="vertex";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="read-write"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="compute";access="write-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-write"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="fragment";access="write-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="vertex";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]

  [:limitTest="overMaximum";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="vertex";access="read-only"]

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="read-write"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="atLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected:
      if os == "win": FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=false;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="read-write"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="compute";access="write-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="read-write"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="fragment";access="write-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="vertex";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleFragmentStageOverflow";access="read-only"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";async=true;bindingCombination="vertexAndFragmentWithPossibleVertexStageOverflow";access="read-only"]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipelineLayout,at_over:*]
  tags: [webgpu, webgpu-long]
  implementation-status: backlog
  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected:
      if os == "win": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=1;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=2;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=3;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=4;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=5;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="read-write";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=6;access="write-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";visibility=7;access="read-only";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=1;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=2;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=3;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=4;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=5;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="read-write";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=6;access="write-only";order="shiftByHalf"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="backward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="forward"]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";visibility=7;access="read-only";order="shiftByHalf"]
    expected: FAIL
