[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:buffer_binding_overlap:*]
  implementation-status: backlog
  [:drawType="draw"]
    expected: FAIL

  [:drawType="drawIndexed"]
    expected: FAIL

  [:drawType="drawIndexedIndirect"]
    expected: FAIL

  [:drawType="drawIndirect"]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:index_buffer_OOB:*]
  [:bufferSizeInElements=100;bindingSizeInElements=10;drawIndexCount=10;drawType="drawIndexed"]

  [:bufferSizeInElements=100;bindingSizeInElements=10;drawIndexCount=10;drawType="drawIndexedIndirect"]

  [:bufferSizeInElements=100;bindingSizeInElements=10;drawIndexCount=11;drawType="drawIndexed"]

  [:bufferSizeInElements=100;bindingSizeInElements=10;drawIndexCount=11;drawType="drawIndexedIndirect"]

  [:bufferSizeInElements=10;bindingSizeInElements=10;drawIndexCount=10;drawType="drawIndexed"]

  [:bufferSizeInElements=10;bindingSizeInElements=10;drawIndexCount=10;drawType="drawIndexedIndirect"]

  [:bufferSizeInElements=10;bindingSizeInElements=10;drawIndexCount=11;drawType="drawIndexed"]

  [:bufferSizeInElements=10;bindingSizeInElements=10;drawIndexCount=11;drawType="drawIndexedIndirect"]


[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:last_buffer_setting_take_account:*]
  [:]


[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:max_draw_count:*]
  implementation-status: backlog
  [:bundleFirstHalf=false;bundleSecondHalf=false;maxDrawCount=0]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=false;maxDrawCount=1]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=false;maxDrawCount=16]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=false;maxDrawCount=4]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=true;maxDrawCount=0]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=true;maxDrawCount=1]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=true;maxDrawCount=16]
    expected: FAIL

  [:bundleFirstHalf=false;bundleSecondHalf=true;maxDrawCount=4]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=false;maxDrawCount=0]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=false;maxDrawCount=1]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=false;maxDrawCount=16]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=false;maxDrawCount=4]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=true;maxDrawCount=0]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=true;maxDrawCount=1]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=true;maxDrawCount=16]
    expected: FAIL

  [:bundleFirstHalf=true;bundleSecondHalf=true;maxDrawCount=4]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:unused_buffer_bound:*]
  implementation-status:
    if os == "mac": backlog
  [:smallIndexBuffer=false;smallVertexBuffer=false;smallInstanceBuffer=false]

  [:smallIndexBuffer=false;smallVertexBuffer=false;smallInstanceBuffer=true]
    expected:
      if os == "mac" and debug: [PASS, FAIL]

  [:smallIndexBuffer=false;smallVertexBuffer=true;smallInstanceBuffer=false]
    expected:
      if os == "mac": [PASS, FAIL]

  [:smallIndexBuffer=false;smallVertexBuffer=true;smallInstanceBuffer=true]
    expected:
      if os == "mac": [PASS, FAIL]

  [:smallIndexBuffer=true;smallVertexBuffer=false;smallInstanceBuffer=false]

  [:smallIndexBuffer=true;smallVertexBuffer=false;smallInstanceBuffer=true]

  [:smallIndexBuffer=true;smallVertexBuffer=true;smallInstanceBuffer=false]

  [:smallIndexBuffer=true;smallVertexBuffer=true;smallInstanceBuffer=true]


[cts.https.html?q=webgpu:api,validation,encoding,cmds,render,draw:vertex_buffer_OOB:*]
  tags: [webgpu, webgpu-long]
  implementation-status: backlog
  [:type="draw";VBSize="exact";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="oneTooSmall";AStride="exact"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="oneTooSmall";AStride="oversize"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="oneTooSmall";AStride="zero"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="zero";AStride="exact"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="zero";AStride="oversize"]
    expected: FAIL

  [:type="draw";VBSize="exact";IBSize="zero";AStride="zero"]
    expected: FAIL

  [:type="draw";VBSize="oneTooSmall";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="draw";VBSize="oneTooSmall";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="draw";VBSize="oneTooSmall";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="draw";VBSize="zero";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="draw";VBSize="zero";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="draw";VBSize="zero";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="oneTooSmall";AStride="exact"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="oneTooSmall";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="oneTooSmall";AStride="zero"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="zero";AStride="exact"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="zero";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexed";VBSize="exact";IBSize="zero";AStride="zero"]
    expected: FAIL

  [:type="drawIndexed";VBSize="oneTooSmall";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexed";VBSize="oneTooSmall";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexed";VBSize="oneTooSmall";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexed";VBSize="zero";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexed";VBSize="zero";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexed";VBSize="zero";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="exact"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="zero"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="zero";AStride="exact"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="zero";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="exact";IBSize="zero";AStride="zero"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="zero";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="zero";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndexedIndirect";VBSize="zero";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="exact"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="oversize"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="oneTooSmall";AStride="zero"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="zero";AStride="exact"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="zero";AStride="oversize"]
    expected: FAIL

  [:type="drawIndirect";VBSize="exact";IBSize="zero";AStride="zero"]
    expected: FAIL

  [:type="drawIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndirect";VBSize="oneTooSmall";IBSize="exact";AStride="zero"]
    expected: FAIL

  [:type="drawIndirect";VBSize="zero";IBSize="exact";AStride="exact"]
    expected: FAIL

  [:type="drawIndirect";VBSize="zero";IBSize="exact";AStride="oversize"]
    expected: FAIL

  [:type="drawIndirect";VBSize="zero";IBSize="exact";AStride="zero"]
    expected: FAIL
