[cts.https.html?q=webgpu:shader,validation,types,matrix:invalid:*]
  [:case="mat1x1"]

  [:case="mat2x1"]

  [:case="mat2x2_array"]

  [:case="mat2x2_i32"]

  [:case="mat2x2_struct"]

  [:case="mat2x2_vec4f"]

  [:case="mat2x2b"]

  [:case="mat2x2i"]

  [:case="mat2x2u"]

  [:case="mat2x5"]

  [:case="mat3x3_u32"]

  [:case="mat4x4_bool"]

  [:case="mat5x5"]

  [:case="missing_comp"]

  [:case="missing_left_template"]

  [:case="missing_right_template"]

  [:case="missing_template"]

  [:case="no_enable_mat2x2h"]

  [:case="no_enable_mat2x3h"]

  [:case="no_enable_mat2x4h"]

  [:case="no_enable_mat3x2h"]

  [:case="no_enable_mat3x3h"]

  [:case="no_enable_mat3x4h"]

  [:case="no_enable_mat4x2h"]

  [:case="no_enable_mat4x3h"]

  [:case="no_enable_mat4x4h"]


[cts.https.html?q=webgpu:shader,validation,types,matrix:valid:*]
  implementation-status: backlog
  [:case="abstract_2x2"]

  [:case="abstract_2x3"]

  [:case="abstract_2x4"]

  [:case="mat2x2_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat2x2_f32"]

  [:case="mat2x2f"]

  [:case="mat2x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat2x3_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat2x3_f32"]

  [:case="mat2x3f"]

  [:case="mat2x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat2x4_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat2x4_f32"]

  [:case="mat2x4f"]

  [:case="mat2x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x2_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x2_f32"]

  [:case="mat3x2f"]

  [:case="mat3x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x3_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x3_f32"]

  [:case="mat3x3f"]

  [:case="mat3x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x4_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat3x4_f32"]

  [:case="mat3x4f"]

  [:case="mat3x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x2_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x2_f32"]

  [:case="mat4x2f"]

  [:case="mat4x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x3_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x3_f32"]

  [:case="mat4x3f"]

  [:case="mat4x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x4_f16"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="mat4x4_f32"]

  [:case="mat4x4f"]

  [:case="mat4x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x2"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x2f"]

  [:case="shadow_mat2x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x3"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x3f"]

  [:case="shadow_mat2x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x4"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat2x4f"]

  [:case="shadow_mat2x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x2"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x2f"]

  [:case="shadow_mat3x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x3"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x3f"]

  [:case="shadow_mat3x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x4"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat3x4f"]

  [:case="shadow_mat3x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x2"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x2f"]

  [:case="shadow_mat4x2h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x3"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x3f"]

  [:case="shadow_mat4x3h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x4"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="shadow_mat4x4f"]

  [:case="shadow_mat4x4h"]
    expected:
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL

  [:case="trailing_comman"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: [PASS, FAIL]
      if os == "mac" and not debug: FAIL
