[cts.https.html?q=webgpu:shader,validation,decl,var_access_mode:explicit_access_mode:*]
  [:addressSpace="function";explicitSpace=false;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="function";explicitSpace=false;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="function";explicitSpace=false;explicitAccess=true;accessMode="write";stage="compute"]

  [:addressSpace="function";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="function";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="function";explicitSpace=true;explicitAccess=true;accessMode="write";stage="compute"]

  [:addressSpace="private";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="private";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="private";explicitSpace=true;explicitAccess=true;accessMode="write";stage="compute"]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="write";stage="compute"]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=true;accessMode="write";stage="compute"]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=true;accessMode="write";stage="compute"]


[cts.https.html?q=webgpu:shader,validation,decl,var_access_mode:implicit_access_mode:*]
  implementation-status: backlog
  expected:
    if os == "win" and not debug: [OK, TIMEOUT]
  [:addressSpace="function";explicitSpace=false;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="function";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:addressSpace="private";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]


[cts.https.html?q=webgpu:shader,validation,decl,var_access_mode:read_access:*]
  implementation-status: backlog
  expected:
    if os == "win" and not debug: [OK, TIMEOUT]
  [:addressSpace="function";explicitSpace=false;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="function";explicitSpace=false;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="function";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:addressSpace="function";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:addressSpace="private";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="private";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]


[cts.https.html?q=webgpu:shader,validation,decl,var_access_mode:write_access:*]
  implementation-status: backlog
  expected:
    if os == "win" and not debug: [OK, TIMEOUT]
  [:addressSpace="function";explicitSpace=false;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="function";explicitSpace=false;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="function";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:addressSpace="function";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac": FAIL

  [:addressSpace="private";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="private";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read";stage="compute"]

  [:addressSpace="storage";explicitSpace=true;explicitAccess=true;accessMode="read_write";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]

  [:addressSpace="uniform";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=false;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:addressSpace="workgroup";explicitSpace=true;explicitAccess=true;accessMode="";stage="compute"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]
