[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mapAsync,mapState:*]
  implementation-status: backlog
  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="read";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="READ";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=false]

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=false;afterDestroy=true]

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=false]

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=false;afterUnmap=true;afterDestroy=true]

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=false;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=false;afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="write";mapModeType="WRITE";beforeUnmap=true;beforeDestroy=true;afterUnmap=true;afterDestroy=true]
    expected: FAIL


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mapAsync,read,typedArrayAccess:*]
  implementation-status: backlog
  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="default-expand"]
    expected: FAIL

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="default-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="default-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mapAsync,read:*]
  implementation-status: backlog
  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="default-expand"]
    expected: FAIL

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="default-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="default-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="explicit-expand"]
    expected:
      if os == "mac": FAIL

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="minimal"]
    expected:
      if os == "mac": FAIL


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mapAsync,write,unchanged_ranges_preserved:*]
  [:]


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mapAsync,write:*]
  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="minimal"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="minimal"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="minimal"]


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mappedAtCreation,mapState:*]
  implementation-status: backlog
  [:usageType="invalid";afterUnmap=false;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";afterUnmap=false;afterDestroy=true]
    expected: FAIL

  [:usageType="invalid";afterUnmap=true;afterDestroy=false]
    expected: FAIL

  [:usageType="invalid";afterUnmap=true;afterDestroy=true]
    expected: FAIL

  [:usageType="read";afterUnmap=false;afterDestroy=false]

  [:usageType="read";afterUnmap=false;afterDestroy=true]

  [:usageType="read";afterUnmap=true;afterDestroy=false]

  [:usageType="read";afterUnmap=true;afterDestroy=true]

  [:usageType="write";afterUnmap=false;afterDestroy=false]

  [:usageType="write";afterUnmap=false;afterDestroy=true]

  [:usageType="write";afterUnmap=true;afterDestroy=false]

  [:usageType="write";afterUnmap=true;afterDestroy=true]


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:mappedAtCreation:*]
  [:mappable=false]

  [:mappable=true]


[dedicated.https.html?worker=dedicated&q=webgpu:api,operation,buffers,map:remapped_for_write:*]
  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="default-expand";mapAsyncRegionRight="minimal"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="explicit-expand";mapAsyncRegionRight="minimal"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="default-expand"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="explicit-expand"]

  [:mapAsyncRegionLeft="minimal";mapAsyncRegionRight="minimal"]
