[cts.https.html?q=webgpu:shader,execution,expression,access,matrix,index:abstract_float_column:*]
  [:indexType="i32";columns=2;rows=2]

  [:indexType="i32";columns=2;rows=3]

  [:indexType="i32";columns=2;rows=4]

  [:indexType="i32";columns=3;rows=2]

  [:indexType="i32";columns=3;rows=3]

  [:indexType="i32";columns=3;rows=4]

  [:indexType="i32";columns=4;rows=2]

  [:indexType="i32";columns=4;rows=3]

  [:indexType="i32";columns=4;rows=4]

  [:indexType="u32";columns=2;rows=2]

  [:indexType="u32";columns=2;rows=3]

  [:indexType="u32";columns=2;rows=4]

  [:indexType="u32";columns=3;rows=2]

  [:indexType="u32";columns=3;rows=3]

  [:indexType="u32";columns=3;rows=4]

  [:indexType="u32";columns=4;rows=2]

  [:indexType="u32";columns=4;rows=3]

  [:indexType="u32";columns=4;rows=4]


[cts.https.html?q=webgpu:shader,execution,expression,access,matrix,index:abstract_float_element:*]
  [:indexType="i32";columns=2;rows=2]

  [:indexType="i32";columns=2;rows=3]

  [:indexType="i32";columns=2;rows=4]

  [:indexType="i32";columns=3;rows=2]

  [:indexType="i32";columns=3;rows=3]

  [:indexType="i32";columns=3;rows=4]

  [:indexType="i32";columns=4;rows=2]

  [:indexType="i32";columns=4;rows=3]

  [:indexType="i32";columns=4;rows=4]

  [:indexType="u32";columns=2;rows=2]

  [:indexType="u32";columns=2;rows=3]

  [:indexType="u32";columns=2;rows=4]

  [:indexType="u32";columns=3;rows=2]

  [:indexType="u32";columns=3;rows=3]

  [:indexType="u32";columns=3;rows=4]

  [:indexType="u32";columns=4;rows=2]

  [:indexType="u32";columns=4;rows=3]

  [:indexType="u32";columns=4;rows=4]


[cts.https.html?q=webgpu:shader,execution,expression,access,matrix,index:concrete_float_column:*]
  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=2]

  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=3]

  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=4]

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=2]

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=3]

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=4]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=2]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=3]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=4]

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=2]

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=3]

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=4]

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=2]

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=3]

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=4]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=2]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=3]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=4]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=4]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=4]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=2]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=3]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=4]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=2]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=3]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=4]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=2]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=3]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=4]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=2]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=3]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=4]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=2]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=3]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=4]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=2]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=3]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=4]


[cts.https.html?q=webgpu:shader,execution,expression,access,matrix,index:concrete_float_element:*]
  implementation-status:
    if os == "mac": backlog
  expected:
    if os == "mac" and debug: [OK, TIMEOUT]
  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=2]

  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:inputSource="const";elementType="f16";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:inputSource="const";elementType="f16";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f16";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=2;rows=4]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=3;rows=4]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=2]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=3]

  [:inputSource="const";elementType="f32";indexType="i32";columns=4;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=2;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=3;rows=4]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=2]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=3]

  [:inputSource="const";elementType="f32";indexType="u32";columns=4;rows=4]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f16";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_r";elementType="f32";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f16";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="i32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=2;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=3;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=2]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=3]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:inputSource="uniform";elementType="f32";indexType="u32";columns=4;rows=4]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,execution,expression,access,matrix,index:non_const_index:*]
  [:columns=2;rows=2]

  [:columns=2;rows=3]

  [:columns=2;rows=4]

  [:columns=3;rows=2]

  [:columns=3;rows=3]

  [:columns=3;rows=4]

  [:columns=4;rows=2]

  [:columns=4;rows=3]

  [:columns=4;rows=4]
