[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersInFragmentStage:auto_upgraded_from_per_stage,maxStorageBuffersPerShaderStage:*]
  [:]


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersInFragmentStage:auto_upgrades_per_stage,maxStorageBuffersPerShaderStage:*]
  [:]


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersInFragmentStage:createBindGroupLayout,at_over:*]
  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="shiftByHalf"]


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

  [:limitTest="atDefault";testValueName="atLimit";async=true]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageBuffersInFragmentStage:createPipelineLayout,at_over:*]
  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="atDefault";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="atDefault";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="atMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="atMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="betweenDefaultAndMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="overMaximum";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="overMaximum";testValueName="overLimit";type="storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="backward"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="forward"]

  [:limitTest="underDefault";testValueName="atLimit";type="storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";type="read-only-storage";order="shiftByHalf"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="backward"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="forward"]

  [:limitTest="underDefault";testValueName="overLimit";type="storage";order="shiftByHalf"]
