[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:compute:*]
  implementation-status: backlog
  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected: FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected: FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=false;shaderModuleStage="compute"]
    expected: FAIL

  [:isAsync=false;shaderModuleStage="fragment"]

  [:isAsync=false;shaderModuleStage="vertex"]

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win": [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="compute"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="fragment"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="vertex"]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:compute_undefined_entry_point_and_extra_stage:*]
  implementation-status: backlog
  [:isAsync=false;extraShaderModuleStage="compute"]

  [:isAsync=false;extraShaderModuleStage="fragment"]

  [:isAsync=false;extraShaderModuleStage="vertex"]

  [:isAsync=true;extraShaderModuleStage="compute"]
    expected: FAIL

  [:isAsync=true;extraShaderModuleStage="fragment"]

  [:isAsync=true;extraShaderModuleStage="vertex"]


[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:fragment:*]
  implementation-status: backlog
  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleStage="compute"]

  [:isAsync=false;shaderModuleStage="fragment"]
    expected: FAIL

  [:isAsync=false;shaderModuleStage="vertex"]

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleStage="compute"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="fragment"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="vertex"]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:fragment_undefined_entry_point_and_extra_stage:*]
  implementation-status: backlog
  expected:
    if os == "linux" and not debug: [OK, CRASH]
  [:isAsync=false;extraShaderModuleStage="compute"]

  [:isAsync=false;extraShaderModuleStage="fragment"]

  [:isAsync=false;extraShaderModuleStage="vertex"]

  [:isAsync=true;extraShaderModuleStage="compute"]

  [:isAsync=true;extraShaderModuleStage="fragment"]
    expected: FAIL

  [:isAsync=true;extraShaderModuleStage="vertex"]


[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:vertex:*]
  implementation-status: backlog
  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=false;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=false;shaderModuleStage="compute"]

  [:isAsync=false;shaderModuleStage="fragment"]

  [:isAsync=false;shaderModuleStage="vertex"]
    expected: FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint=""]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="ma%20in"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%20"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cn"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="main%5Cu0000a"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main";stageEntryPoint="mian"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="_main_t12V3"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V3"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="main_t12V3";stageEntryPoint="main_t12V5"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="foo"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mainmain";stageEntryPoint="mainmain"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="main"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleEntryPoint="mian";stageEntryPoint="mian"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="s%C3%A9quen%C3%A7age"]
    expected:
      if os == "win" and not debug: [PASS, FAIL]

  [:isAsync=true;shaderModuleEntryPoint="s%C3%A9quen%C3%A7age";stageEntryPoint="se%CC%81quen%C3%A7age"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:isAsync=true;shaderModuleStage="compute"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="fragment"]
    expected: FAIL

  [:isAsync=true;shaderModuleStage="vertex"]
    expected: FAIL


[cts.https.html?q=webgpu:api,validation,shader_module,entry_point:vertex_undefined_entry_point_and_extra_stage:*]
  implementation-status: backlog
  expected:
    if os == "linux" and not debug: [OK, CRASH]
  [:isAsync=false;extraShaderModuleStage="compute"]

  [:isAsync=false;extraShaderModuleStage="fragment"]

  [:isAsync=false;extraShaderModuleStage="vertex"]

  [:isAsync=true;extraShaderModuleStage="compute"]

  [:isAsync=true;extraShaderModuleStage="fragment"]

  [:isAsync=true;extraShaderModuleStage="vertex"]
    expected: FAIL
