[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createBindGroupLayout,at_over:*]
  [:limitTest="atDefault";testValueName="atLimit"]

  [:limitTest="atDefault";testValueName="overLimit"]

  [:limitTest="atMaximum";testValueName="atLimit"]

  [:limitTest="atMaximum";testValueName="overLimit"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit"]

  [:limitTest="overMaximum";testValueName="atLimit"]

  [:limitTest="overMaximum";testValueName="overLimit"]

  [:limitTest="underDefault";testValueName="atLimit"]

  [:limitTest="underDefault";testValueName="overLimit"]


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:*]
  implementation-status: backlog
  expected:
    if os == "linux" and debug: [OK, CRASH]
  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createComputePipeline";async=false]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createComputePipeline";async=true]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createRenderPipeline";async=false]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createRenderPipeline";async=true]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected: FAIL

  [:limitTest="atDefault";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=false]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=true]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=false]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=true]
    expected: FAIL

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:limitTest="atMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=false]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=true]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=false]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=true]
    expected: FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected: FAIL

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="overMaximum";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createComputePipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createComputePipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createRenderPipeline";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createRenderPipeline";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="atLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected:
      if os == "win": [PASS, FAIL]

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createComputePipeline";async=false]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createComputePipeline";async=true]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createRenderPipeline";async=false]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createRenderPipeline";async=true]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=false]
    expected: FAIL

  [:limitTest="underDefault";testValueName="overLimit";createPipelineType="createRenderPipelineWithFragmentStage";async=true]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:validate:*]
  [:]
