[cts.https.html?q=webgpu:shader,execution,memory_layout:read_layout:*]
  implementation-status: backlog
  [:case="array_mat2x2f_stride";aspace="function"]

  [:case="array_mat2x2f_stride";aspace="private"]

  [:case="array_mat2x2f_stride";aspace="storage"]

  [:case="array_mat2x2f_stride";aspace="uniform"]
    expected:
      if os == "win": FAIL

  [:case="array_mat2x2f_stride";aspace="workgroup"]

  [:case="array_mat2x2h_stride";aspace="function"]

  [:case="array_mat2x2h_stride";aspace="private"]

  [:case="array_mat2x2h_stride";aspace="storage"]

  [:case="array_mat2x2h_stride";aspace="uniform"]

  [:case="array_mat2x2h_stride";aspace="workgroup"]

  [:case="array_mat2x3f_stride";aspace="function"]

  [:case="array_mat2x3f_stride";aspace="private"]

  [:case="array_mat2x3f_stride";aspace="storage"]

  [:case="array_mat2x3f_stride";aspace="uniform"]

  [:case="array_mat2x3f_stride";aspace="workgroup"]

  [:case="array_mat2x3h_stride";aspace="function"]

  [:case="array_mat2x3h_stride";aspace="private"]

  [:case="array_mat2x3h_stride";aspace="storage"]

  [:case="array_mat2x3h_stride";aspace="uniform"]

  [:case="array_mat2x3h_stride";aspace="workgroup"]

  [:case="array_mat2x4f_stride";aspace="function"]

  [:case="array_mat2x4f_stride";aspace="private"]

  [:case="array_mat2x4f_stride";aspace="storage"]

  [:case="array_mat2x4f_stride";aspace="uniform"]

  [:case="array_mat2x4f_stride";aspace="workgroup"]

  [:case="array_mat2x4h_stride";aspace="function"]

  [:case="array_mat2x4h_stride";aspace="private"]

  [:case="array_mat2x4h_stride";aspace="storage"]

  [:case="array_mat2x4h_stride";aspace="uniform"]

  [:case="array_mat2x4h_stride";aspace="workgroup"]

  [:case="array_mat3x2f_stride";aspace="function"]

  [:case="array_mat3x2f_stride";aspace="private"]

  [:case="array_mat3x2f_stride";aspace="storage"]

  [:case="array_mat3x2f_stride";aspace="uniform"]

  [:case="array_mat3x2f_stride";aspace="workgroup"]

  [:case="array_mat3x2h_stride";aspace="function"]

  [:case="array_mat3x2h_stride";aspace="private"]

  [:case="array_mat3x2h_stride";aspace="storage"]

  [:case="array_mat3x2h_stride";aspace="uniform"]

  [:case="array_mat3x2h_stride";aspace="workgroup"]

  [:case="array_mat3x3f_stride";aspace="function"]

  [:case="array_mat3x3f_stride";aspace="private"]

  [:case="array_mat3x3f_stride";aspace="storage"]

  [:case="array_mat3x3f_stride";aspace="uniform"]

  [:case="array_mat3x3f_stride";aspace="workgroup"]

  [:case="array_mat3x3h_stride";aspace="function"]

  [:case="array_mat3x3h_stride";aspace="private"]

  [:case="array_mat3x3h_stride";aspace="storage"]

  [:case="array_mat3x3h_stride";aspace="uniform"]

  [:case="array_mat3x3h_stride";aspace="workgroup"]

  [:case="array_mat3x4f_stride";aspace="function"]

  [:case="array_mat3x4f_stride";aspace="private"]

  [:case="array_mat3x4f_stride";aspace="storage"]

  [:case="array_mat3x4f_stride";aspace="uniform"]

  [:case="array_mat3x4f_stride";aspace="workgroup"]

  [:case="array_mat3x4h_stride";aspace="function"]

  [:case="array_mat3x4h_stride";aspace="private"]

  [:case="array_mat3x4h_stride";aspace="storage"]

  [:case="array_mat3x4h_stride";aspace="uniform"]

  [:case="array_mat3x4h_stride";aspace="workgroup"]

  [:case="array_mat4x2f_stride";aspace="function"]

  [:case="array_mat4x2f_stride";aspace="private"]

  [:case="array_mat4x2f_stride";aspace="storage"]

  [:case="array_mat4x2f_stride";aspace="uniform"]
    expected:
      if os == "win": FAIL

  [:case="array_mat4x2f_stride";aspace="workgroup"]

  [:case="array_mat4x2h_stride";aspace="function"]

  [:case="array_mat4x2h_stride";aspace="private"]

  [:case="array_mat4x2h_stride";aspace="storage"]

  [:case="array_mat4x2h_stride";aspace="uniform"]

  [:case="array_mat4x2h_stride";aspace="workgroup"]

  [:case="array_mat4x3f_stride";aspace="function"]

  [:case="array_mat4x3f_stride";aspace="private"]

  [:case="array_mat4x3f_stride";aspace="storage"]

  [:case="array_mat4x3f_stride";aspace="uniform"]

  [:case="array_mat4x3f_stride";aspace="workgroup"]

  [:case="array_mat4x3h_stride";aspace="function"]

  [:case="array_mat4x3h_stride";aspace="private"]

  [:case="array_mat4x3h_stride";aspace="storage"]

  [:case="array_mat4x3h_stride";aspace="uniform"]

  [:case="array_mat4x3h_stride";aspace="workgroup"]

  [:case="array_mat4x4f_stride";aspace="function"]

  [:case="array_mat4x4f_stride";aspace="private"]

  [:case="array_mat4x4f_stride";aspace="storage"]

  [:case="array_mat4x4f_stride";aspace="uniform"]

  [:case="array_mat4x4f_stride";aspace="workgroup"]

  [:case="array_mat4x4h_stride";aspace="function"]

  [:case="array_mat4x4h_stride";aspace="private"]

  [:case="array_mat4x4h_stride";aspace="storage"]

  [:case="array_mat4x4h_stride";aspace="uniform"]

  [:case="array_mat4x4h_stride";aspace="workgroup"]

  [:case="array_stride_size";aspace="function"]

  [:case="array_stride_size";aspace="private"]

  [:case="array_stride_size";aspace="storage"]

  [:case="array_stride_size";aspace="uniform"]

  [:case="array_stride_size";aspace="workgroup"]

  [:case="array_vec3h_align";aspace="function"]

  [:case="array_vec3h_align";aspace="private"]

  [:case="array_vec3h_align";aspace="storage"]

  [:case="array_vec3h_align";aspace="uniform"]

  [:case="array_vec3h_align";aspace="workgroup"]

  [:case="array_vec3h_stride";aspace="function"]

  [:case="array_vec3h_stride";aspace="private"]

  [:case="array_vec3h_stride";aspace="storage"]

  [:case="array_vec3h_stride";aspace="uniform"]

  [:case="array_vec3h_stride";aspace="workgroup"]

  [:case="array_vec3u_align";aspace="function"]

  [:case="array_vec3u_align";aspace="private"]

  [:case="array_vec3u_align";aspace="storage"]

  [:case="array_vec3u_align";aspace="uniform"]

  [:case="array_vec3u_align";aspace="workgroup"]

  [:case="array_vec3u_stride";aspace="function"]

  [:case="array_vec3u_stride";aspace="private"]

  [:case="array_vec3u_stride";aspace="storage"]

  [:case="array_vec3u_stride";aspace="uniform"]

  [:case="array_vec3u_stride";aspace="workgroup"]

  [:case="atomic_align4";aspace="function"]

  [:case="atomic_align4";aspace="private"]

  [:case="atomic_align4";aspace="storage"]

  [:case="atomic_align4";aspace="uniform"]

  [:case="atomic_align4";aspace="workgroup"]

  [:case="atomic_size4";aspace="function"]

  [:case="atomic_size4";aspace="private"]

  [:case="atomic_size4";aspace="storage"]

  [:case="atomic_size4";aspace="uniform"]

  [:case="atomic_size4";aspace="workgroup"]

  [:case="mat2x2f_align8";aspace="function"]

  [:case="mat2x2f_align8";aspace="private"]

  [:case="mat2x2f_align8";aspace="storage"]

  [:case="mat2x2f_align8";aspace="uniform"]

  [:case="mat2x2f_align8";aspace="workgroup"]

  [:case="mat2x2f_size";aspace="function"]

  [:case="mat2x2f_size";aspace="private"]

  [:case="mat2x2f_size";aspace="storage"]

  [:case="mat2x2f_size";aspace="uniform"]

  [:case="mat2x2f_size";aspace="workgroup"]

  [:case="mat2x2h_align4";aspace="function"]

  [:case="mat2x2h_align4";aspace="private"]

  [:case="mat2x2h_align4";aspace="storage"]

  [:case="mat2x2h_align4";aspace="uniform"]

  [:case="mat2x2h_align4";aspace="workgroup"]

  [:case="mat2x2h_size";aspace="function"]

  [:case="mat2x2h_size";aspace="private"]

  [:case="mat2x2h_size";aspace="storage"]

  [:case="mat2x2h_size";aspace="uniform"]

  [:case="mat2x2h_size";aspace="workgroup"]

  [:case="mat2x3f_align16";aspace="function"]

  [:case="mat2x3f_align16";aspace="private"]

  [:case="mat2x3f_align16";aspace="storage"]

  [:case="mat2x3f_align16";aspace="uniform"]

  [:case="mat2x3f_align16";aspace="workgroup"]

  [:case="mat2x3f_size";aspace="function"]

  [:case="mat2x3f_size";aspace="private"]

  [:case="mat2x3f_size";aspace="storage"]

  [:case="mat2x3f_size";aspace="uniform"]

  [:case="mat2x3f_size";aspace="workgroup"]

  [:case="mat2x3h_align8";aspace="function"]

  [:case="mat2x3h_align8";aspace="private"]

  [:case="mat2x3h_align8";aspace="storage"]

  [:case="mat2x3h_align8";aspace="uniform"]

  [:case="mat2x3h_align8";aspace="workgroup"]

  [:case="mat2x3h_size";aspace="function"]

  [:case="mat2x3h_size";aspace="private"]

  [:case="mat2x3h_size";aspace="storage"]

  [:case="mat2x3h_size";aspace="uniform"]

  [:case="mat2x3h_size";aspace="workgroup"]

  [:case="mat2x4f_align16";aspace="function"]

  [:case="mat2x4f_align16";aspace="private"]

  [:case="mat2x4f_align16";aspace="storage"]

  [:case="mat2x4f_align16";aspace="uniform"]

  [:case="mat2x4f_align16";aspace="workgroup"]

  [:case="mat2x4f_size";aspace="function"]

  [:case="mat2x4f_size";aspace="private"]

  [:case="mat2x4f_size";aspace="storage"]

  [:case="mat2x4f_size";aspace="uniform"]

  [:case="mat2x4f_size";aspace="workgroup"]

  [:case="mat2x4h_align8";aspace="function"]

  [:case="mat2x4h_align8";aspace="private"]

  [:case="mat2x4h_align8";aspace="storage"]

  [:case="mat2x4h_align8";aspace="uniform"]

  [:case="mat2x4h_align8";aspace="workgroup"]

  [:case="mat2x4h_size";aspace="function"]

  [:case="mat2x4h_size";aspace="private"]

  [:case="mat2x4h_size";aspace="storage"]

  [:case="mat2x4h_size";aspace="uniform"]

  [:case="mat2x4h_size";aspace="workgroup"]

  [:case="mat3x2f_align8";aspace="function"]

  [:case="mat3x2f_align8";aspace="private"]

  [:case="mat3x2f_align8";aspace="storage"]

  [:case="mat3x2f_align8";aspace="uniform"]

  [:case="mat3x2f_align8";aspace="workgroup"]

  [:case="mat3x2f_size";aspace="function"]

  [:case="mat3x2f_size";aspace="private"]

  [:case="mat3x2f_size";aspace="storage"]

  [:case="mat3x2f_size";aspace="uniform"]

  [:case="mat3x2f_size";aspace="workgroup"]

  [:case="mat3x2h_align4";aspace="function"]

  [:case="mat3x2h_align4";aspace="private"]

  [:case="mat3x2h_align4";aspace="storage"]

  [:case="mat3x2h_align4";aspace="uniform"]

  [:case="mat3x2h_align4";aspace="workgroup"]

  [:case="mat3x2h_size";aspace="function"]

  [:case="mat3x2h_size";aspace="private"]

  [:case="mat3x2h_size";aspace="storage"]

  [:case="mat3x2h_size";aspace="uniform"]

  [:case="mat3x2h_size";aspace="workgroup"]

  [:case="mat3x3f_align16";aspace="function"]

  [:case="mat3x3f_align16";aspace="private"]

  [:case="mat3x3f_align16";aspace="storage"]

  [:case="mat3x3f_align16";aspace="uniform"]

  [:case="mat3x3f_align16";aspace="workgroup"]

  [:case="mat3x3f_size";aspace="function"]

  [:case="mat3x3f_size";aspace="private"]

  [:case="mat3x3f_size";aspace="storage"]

  [:case="mat3x3f_size";aspace="uniform"]

  [:case="mat3x3f_size";aspace="workgroup"]

  [:case="mat3x3h_align8";aspace="function"]

  [:case="mat3x3h_align8";aspace="private"]

  [:case="mat3x3h_align8";aspace="storage"]

  [:case="mat3x3h_align8";aspace="uniform"]

  [:case="mat3x3h_align8";aspace="workgroup"]

  [:case="mat3x3h_size";aspace="function"]

  [:case="mat3x3h_size";aspace="private"]

  [:case="mat3x3h_size";aspace="storage"]

  [:case="mat3x3h_size";aspace="uniform"]

  [:case="mat3x3h_size";aspace="workgroup"]

  [:case="mat3x4f_align16";aspace="function"]

  [:case="mat3x4f_align16";aspace="private"]

  [:case="mat3x4f_align16";aspace="storage"]

  [:case="mat3x4f_align16";aspace="uniform"]

  [:case="mat3x4f_align16";aspace="workgroup"]

  [:case="mat3x4f_size";aspace="function"]

  [:case="mat3x4f_size";aspace="private"]

  [:case="mat3x4f_size";aspace="storage"]

  [:case="mat3x4f_size";aspace="uniform"]

  [:case="mat3x4f_size";aspace="workgroup"]

  [:case="mat3x4h_align8";aspace="function"]

  [:case="mat3x4h_align8";aspace="private"]

  [:case="mat3x4h_align8";aspace="storage"]

  [:case="mat3x4h_align8";aspace="uniform"]

  [:case="mat3x4h_align8";aspace="workgroup"]

  [:case="mat3x4h_size";aspace="function"]

  [:case="mat3x4h_size";aspace="private"]

  [:case="mat3x4h_size";aspace="storage"]

  [:case="mat3x4h_size";aspace="uniform"]

  [:case="mat3x4h_size";aspace="workgroup"]

  [:case="mat4x2f_align8";aspace="function"]

  [:case="mat4x2f_align8";aspace="private"]

  [:case="mat4x2f_align8";aspace="storage"]

  [:case="mat4x2f_align8";aspace="uniform"]

  [:case="mat4x2f_align8";aspace="workgroup"]

  [:case="mat4x2f_size";aspace="function"]

  [:case="mat4x2f_size";aspace="private"]

  [:case="mat4x2f_size";aspace="storage"]

  [:case="mat4x2f_size";aspace="uniform"]

  [:case="mat4x2f_size";aspace="workgroup"]

  [:case="mat4x2h_align4";aspace="function"]

  [:case="mat4x2h_align4";aspace="private"]

  [:case="mat4x2h_align4";aspace="storage"]

  [:case="mat4x2h_align4";aspace="uniform"]

  [:case="mat4x2h_align4";aspace="workgroup"]

  [:case="mat4x2h_size";aspace="function"]

  [:case="mat4x2h_size";aspace="private"]

  [:case="mat4x2h_size";aspace="storage"]

  [:case="mat4x2h_size";aspace="uniform"]

  [:case="mat4x2h_size";aspace="workgroup"]

  [:case="mat4x3f_align16";aspace="function"]

  [:case="mat4x3f_align16";aspace="private"]

  [:case="mat4x3f_align16";aspace="storage"]

  [:case="mat4x3f_align16";aspace="uniform"]

  [:case="mat4x3f_align16";aspace="workgroup"]

  [:case="mat4x3f_size";aspace="function"]

  [:case="mat4x3f_size";aspace="private"]

  [:case="mat4x3f_size";aspace="storage"]

  [:case="mat4x3f_size";aspace="uniform"]

  [:case="mat4x3f_size";aspace="workgroup"]

  [:case="mat4x3h_align8";aspace="function"]

  [:case="mat4x3h_align8";aspace="private"]

  [:case="mat4x3h_align8";aspace="storage"]

  [:case="mat4x3h_align8";aspace="uniform"]

  [:case="mat4x3h_align8";aspace="workgroup"]

  [:case="mat4x3h_size";aspace="function"]

  [:case="mat4x3h_size";aspace="private"]

  [:case="mat4x3h_size";aspace="storage"]

  [:case="mat4x3h_size";aspace="uniform"]

  [:case="mat4x3h_size";aspace="workgroup"]

  [:case="mat4x4f_align16";aspace="function"]

  [:case="mat4x4f_align16";aspace="private"]

  [:case="mat4x4f_align16";aspace="storage"]

  [:case="mat4x4f_align16";aspace="uniform"]

  [:case="mat4x4f_align16";aspace="workgroup"]

  [:case="mat4x4f_size";aspace="function"]

  [:case="mat4x4f_size";aspace="private"]

  [:case="mat4x4f_size";aspace="storage"]

  [:case="mat4x4f_size";aspace="uniform"]

  [:case="mat4x4f_size";aspace="workgroup"]

  [:case="mat4x4h_align8";aspace="function"]

  [:case="mat4x4h_align8";aspace="private"]

  [:case="mat4x4h_align8";aspace="storage"]

  [:case="mat4x4h_align8";aspace="uniform"]

  [:case="mat4x4h_align8";aspace="workgroup"]

  [:case="mat4x4h_size";aspace="function"]

  [:case="mat4x4h_size";aspace="private"]

  [:case="mat4x4h_size";aspace="storage"]

  [:case="mat4x4h_size";aspace="uniform"]

  [:case="mat4x4h_size";aspace="workgroup"]

  [:case="size80";aspace="function"]

  [:case="size80";aspace="private"]

  [:case="size80";aspace="storage"]

  [:case="size80";aspace="uniform"]

  [:case="size80";aspace="workgroup"]

  [:case="struct_align32";aspace="function"]

  [:case="struct_align32";aspace="private"]

  [:case="struct_align32";aspace="storage"]

  [:case="struct_align32";aspace="uniform"]

  [:case="struct_align32";aspace="workgroup"]

  [:case="struct_align_vec2h";aspace="function"]

  [:case="struct_align_vec2h";aspace="private"]

  [:case="struct_align_vec2h";aspace="storage"]

  [:case="struct_align_vec2h";aspace="uniform"]

  [:case="struct_align_vec2h";aspace="workgroup"]

  [:case="struct_align_vec2i";aspace="function"]

  [:case="struct_align_vec2i";aspace="private"]

  [:case="struct_align_vec2i";aspace="storage"]

  [:case="struct_align_vec2i";aspace="uniform"]

  [:case="struct_align_vec2i";aspace="workgroup"]

  [:case="struct_align_vec3h";aspace="function"]

  [:case="struct_align_vec3h";aspace="private"]

  [:case="struct_align_vec3h";aspace="storage"]

  [:case="struct_align_vec3h";aspace="uniform"]

  [:case="struct_align_vec3h";aspace="workgroup"]

  [:case="struct_align_vec3i";aspace="function"]

  [:case="struct_align_vec3i";aspace="private"]

  [:case="struct_align_vec3i";aspace="storage"]

  [:case="struct_align_vec3i";aspace="uniform"]

  [:case="struct_align_vec3i";aspace="workgroup"]

  [:case="struct_align_vec4h";aspace="function"]

  [:case="struct_align_vec4h";aspace="private"]

  [:case="struct_align_vec4h";aspace="storage"]

  [:case="struct_align_vec4h";aspace="uniform"]

  [:case="struct_align_vec4h";aspace="workgroup"]

  [:case="struct_align_vec4i";aspace="function"]

  [:case="struct_align_vec4i";aspace="private"]

  [:case="struct_align_vec4i";aspace="storage"]

  [:case="struct_align_vec4i";aspace="uniform"]

  [:case="struct_align_vec4i";aspace="workgroup"]

  [:case="struct_double_align";aspace="function"]

  [:case="struct_double_align";aspace="private"]

  [:case="struct_double_align";aspace="storage"]

  [:case="struct_double_align";aspace="uniform"]

  [:case="struct_double_align";aspace="workgroup"]

  [:case="struct_inner_align";aspace="function"]
    expected: FAIL

  [:case="struct_inner_align";aspace="private"]
    expected: FAIL

  [:case="struct_inner_align";aspace="storage"]
    expected: FAIL

  [:case="struct_inner_align";aspace="uniform"]
    expected: FAIL

  [:case="struct_inner_align";aspace="workgroup"]
    expected: FAIL

  [:case="struct_inner_size";aspace="function"]

  [:case="struct_inner_size";aspace="private"]

  [:case="struct_inner_size";aspace="storage"]

  [:case="struct_inner_size";aspace="uniform"]

  [:case="struct_inner_size";aspace="workgroup"]

  [:case="struct_inner_size_and_align";aspace="function"]

  [:case="struct_inner_size_and_align";aspace="private"]

  [:case="struct_inner_size_and_align";aspace="storage"]

  [:case="struct_inner_size_and_align";aspace="uniform"]

  [:case="struct_inner_size_and_align";aspace="workgroup"]

  [:case="struct_override_size";aspace="function"]

  [:case="struct_override_size";aspace="private"]

  [:case="struct_override_size";aspace="storage"]

  [:case="struct_override_size";aspace="uniform"]

  [:case="struct_override_size";aspace="workgroup"]

  [:case="struct_size_roundup";aspace="function"]

  [:case="struct_size_roundup";aspace="private"]

  [:case="struct_size_roundup";aspace="storage"]

  [:case="struct_size_roundup";aspace="uniform"]

  [:case="struct_size_roundup";aspace="workgroup"]

  [:case="vec2f_align8";aspace="function"]

  [:case="vec2f_align8";aspace="private"]

  [:case="vec2f_align8";aspace="storage"]

  [:case="vec2f_align8";aspace="uniform"]

  [:case="vec2f_align8";aspace="workgroup"]

  [:case="vec2h_align4";aspace="function"]

  [:case="vec2h_align4";aspace="private"]

  [:case="vec2h_align4";aspace="storage"]

  [:case="vec2h_align4";aspace="uniform"]

  [:case="vec2h_align4";aspace="workgroup"]

  [:case="vec2u_align8";aspace="function"]

  [:case="vec2u_align8";aspace="private"]

  [:case="vec2u_align8";aspace="storage"]

  [:case="vec2u_align8";aspace="uniform"]

  [:case="vec2u_align8";aspace="workgroup"]

  [:case="vec3f_align16";aspace="function"]

  [:case="vec3f_align16";aspace="private"]

  [:case="vec3f_align16";aspace="storage"]

  [:case="vec3f_align16";aspace="uniform"]

  [:case="vec3f_align16";aspace="workgroup"]

  [:case="vec3h_align8";aspace="function"]

  [:case="vec3h_align8";aspace="private"]

  [:case="vec3h_align8";aspace="storage"]

  [:case="vec3h_align8";aspace="uniform"]

  [:case="vec3h_align8";aspace="workgroup"]

  [:case="vec3h_size6";aspace="function"]

  [:case="vec3h_size6";aspace="private"]

  [:case="vec3h_size6";aspace="storage"]

  [:case="vec3h_size6";aspace="uniform"]

  [:case="vec3h_size6";aspace="workgroup"]

  [:case="vec3i_size12";aspace="function"]

  [:case="vec3i_size12";aspace="private"]

  [:case="vec3i_size12";aspace="storage"]

  [:case="vec3i_size12";aspace="uniform"]

  [:case="vec3i_size12";aspace="workgroup"]

  [:case="vec3u_align16";aspace="function"]

  [:case="vec3u_align16";aspace="private"]

  [:case="vec3u_align16";aspace="storage"]

  [:case="vec3u_align16";aspace="uniform"]

  [:case="vec3u_align16";aspace="workgroup"]

  [:case="vec4f_align16";aspace="function"]

  [:case="vec4f_align16";aspace="private"]

  [:case="vec4f_align16";aspace="storage"]

  [:case="vec4f_align16";aspace="uniform"]

  [:case="vec4f_align16";aspace="workgroup"]

  [:case="vec4h_align8";aspace="function"]

  [:case="vec4h_align8";aspace="private"]

  [:case="vec4h_align8";aspace="storage"]

  [:case="vec4h_align8";aspace="uniform"]

  [:case="vec4h_align8";aspace="workgroup"]

  [:case="vec4u_align16";aspace="function"]

  [:case="vec4u_align16";aspace="private"]

  [:case="vec4u_align16";aspace="storage"]

  [:case="vec4u_align16";aspace="uniform"]

  [:case="vec4u_align16";aspace="workgroup"]


[cts.https.html?q=webgpu:shader,execution,memory_layout:write_layout:*]
  implementation-status: backlog
  [:case="array_mat2x2f_stride";aspace="function"]

  [:case="array_mat2x2f_stride";aspace="private"]

  [:case="array_mat2x2f_stride";aspace="storage"]

  [:case="array_mat2x2f_stride";aspace="workgroup"]

  [:case="array_mat2x2h_stride";aspace="function"]

  [:case="array_mat2x2h_stride";aspace="private"]

  [:case="array_mat2x2h_stride";aspace="storage"]

  [:case="array_mat2x2h_stride";aspace="workgroup"]

  [:case="array_mat2x3f_stride";aspace="function"]

  [:case="array_mat2x3f_stride";aspace="private"]

  [:case="array_mat2x3f_stride";aspace="storage"]

  [:case="array_mat2x3f_stride";aspace="workgroup"]

  [:case="array_mat2x3h_stride";aspace="function"]

  [:case="array_mat2x3h_stride";aspace="private"]

  [:case="array_mat2x3h_stride";aspace="storage"]

  [:case="array_mat2x3h_stride";aspace="workgroup"]

  [:case="array_mat2x4f_stride";aspace="function"]

  [:case="array_mat2x4f_stride";aspace="private"]

  [:case="array_mat2x4f_stride";aspace="storage"]

  [:case="array_mat2x4f_stride";aspace="workgroup"]

  [:case="array_mat2x4h_stride";aspace="function"]

  [:case="array_mat2x4h_stride";aspace="private"]

  [:case="array_mat2x4h_stride";aspace="storage"]

  [:case="array_mat2x4h_stride";aspace="workgroup"]

  [:case="array_mat3x2f_stride";aspace="function"]

  [:case="array_mat3x2f_stride";aspace="private"]

  [:case="array_mat3x2f_stride";aspace="storage"]

  [:case="array_mat3x2f_stride";aspace="workgroup"]

  [:case="array_mat3x2h_stride";aspace="function"]

  [:case="array_mat3x2h_stride";aspace="private"]

  [:case="array_mat3x2h_stride";aspace="storage"]

  [:case="array_mat3x2h_stride";aspace="workgroup"]

  [:case="array_mat3x3f_stride";aspace="function"]

  [:case="array_mat3x3f_stride";aspace="private"]

  [:case="array_mat3x3f_stride";aspace="storage"]

  [:case="array_mat3x3f_stride";aspace="workgroup"]

  [:case="array_mat3x3h_stride";aspace="function"]

  [:case="array_mat3x3h_stride";aspace="private"]

  [:case="array_mat3x3h_stride";aspace="storage"]

  [:case="array_mat3x3h_stride";aspace="workgroup"]

  [:case="array_mat3x4f_stride";aspace="function"]

  [:case="array_mat3x4f_stride";aspace="private"]

  [:case="array_mat3x4f_stride";aspace="storage"]

  [:case="array_mat3x4f_stride";aspace="workgroup"]

  [:case="array_mat3x4h_stride";aspace="function"]

  [:case="array_mat3x4h_stride";aspace="private"]

  [:case="array_mat3x4h_stride";aspace="storage"]

  [:case="array_mat3x4h_stride";aspace="workgroup"]

  [:case="array_mat4x2f_stride";aspace="function"]

  [:case="array_mat4x2f_stride";aspace="private"]

  [:case="array_mat4x2f_stride";aspace="storage"]

  [:case="array_mat4x2f_stride";aspace="workgroup"]

  [:case="array_mat4x2h_stride";aspace="function"]

  [:case="array_mat4x2h_stride";aspace="private"]

  [:case="array_mat4x2h_stride";aspace="storage"]

  [:case="array_mat4x2h_stride";aspace="workgroup"]

  [:case="array_mat4x3f_stride";aspace="function"]

  [:case="array_mat4x3f_stride";aspace="private"]

  [:case="array_mat4x3f_stride";aspace="storage"]

  [:case="array_mat4x3f_stride";aspace="workgroup"]

  [:case="array_mat4x3h_stride";aspace="function"]

  [:case="array_mat4x3h_stride";aspace="private"]

  [:case="array_mat4x3h_stride";aspace="storage"]

  [:case="array_mat4x3h_stride";aspace="workgroup"]

  [:case="array_mat4x4f_stride";aspace="function"]

  [:case="array_mat4x4f_stride";aspace="private"]

  [:case="array_mat4x4f_stride";aspace="storage"]

  [:case="array_mat4x4f_stride";aspace="workgroup"]

  [:case="array_mat4x4h_stride";aspace="function"]

  [:case="array_mat4x4h_stride";aspace="private"]

  [:case="array_mat4x4h_stride";aspace="storage"]

  [:case="array_mat4x4h_stride";aspace="workgroup"]

  [:case="array_stride_size";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="array_stride_size";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="array_stride_size";aspace="storage"]

  [:case="array_stride_size";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="array_vec3h_align";aspace="function"]

  [:case="array_vec3h_align";aspace="private"]

  [:case="array_vec3h_align";aspace="storage"]

  [:case="array_vec3h_align";aspace="workgroup"]

  [:case="array_vec3h_stride";aspace="function"]

  [:case="array_vec3h_stride";aspace="private"]

  [:case="array_vec3h_stride";aspace="storage"]

  [:case="array_vec3h_stride";aspace="workgroup"]

  [:case="array_vec3u_align";aspace="function"]

  [:case="array_vec3u_align";aspace="private"]

  [:case="array_vec3u_align";aspace="storage"]

  [:case="array_vec3u_align";aspace="workgroup"]

  [:case="array_vec3u_stride";aspace="function"]

  [:case="array_vec3u_stride";aspace="private"]

  [:case="array_vec3u_stride";aspace="storage"]

  [:case="array_vec3u_stride";aspace="workgroup"]

  [:case="atomic_align4";aspace="function"]

  [:case="atomic_align4";aspace="private"]

  [:case="atomic_align4";aspace="storage"]

  [:case="atomic_align4";aspace="workgroup"]

  [:case="atomic_size4";aspace="function"]

  [:case="atomic_size4";aspace="private"]

  [:case="atomic_size4";aspace="storage"]

  [:case="atomic_size4";aspace="workgroup"]

  [:case="mat2x2f_align8";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2f_align8";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2f_align8";aspace="storage"]

  [:case="mat2x2f_align8";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2f_size";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2f_size";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2f_size";aspace="storage"]

  [:case="mat2x2f_size";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat2x2h_align4";aspace="function"]

  [:case="mat2x2h_align4";aspace="private"]

  [:case="mat2x2h_align4";aspace="storage"]

  [:case="mat2x2h_align4";aspace="workgroup"]

  [:case="mat2x2h_size";aspace="function"]

  [:case="mat2x2h_size";aspace="private"]

  [:case="mat2x2h_size";aspace="storage"]

  [:case="mat2x2h_size";aspace="workgroup"]

  [:case="mat2x3f_align16";aspace="function"]

  [:case="mat2x3f_align16";aspace="private"]

  [:case="mat2x3f_align16";aspace="storage"]

  [:case="mat2x3f_align16";aspace="workgroup"]

  [:case="mat2x3f_size";aspace="function"]

  [:case="mat2x3f_size";aspace="private"]

  [:case="mat2x3f_size";aspace="storage"]

  [:case="mat2x3f_size";aspace="workgroup"]

  [:case="mat2x3h_align8";aspace="function"]

  [:case="mat2x3h_align8";aspace="private"]

  [:case="mat2x3h_align8";aspace="storage"]

  [:case="mat2x3h_align8";aspace="workgroup"]

  [:case="mat2x3h_size";aspace="function"]

  [:case="mat2x3h_size";aspace="private"]

  [:case="mat2x3h_size";aspace="storage"]

  [:case="mat2x3h_size";aspace="workgroup"]

  [:case="mat2x4f_align16";aspace="function"]

  [:case="mat2x4f_align16";aspace="private"]

  [:case="mat2x4f_align16";aspace="storage"]

  [:case="mat2x4f_align16";aspace="workgroup"]

  [:case="mat2x4f_size";aspace="function"]

  [:case="mat2x4f_size";aspace="private"]

  [:case="mat2x4f_size";aspace="storage"]

  [:case="mat2x4f_size";aspace="workgroup"]

  [:case="mat2x4h_align8";aspace="function"]

  [:case="mat2x4h_align8";aspace="private"]

  [:case="mat2x4h_align8";aspace="storage"]

  [:case="mat2x4h_align8";aspace="workgroup"]

  [:case="mat2x4h_size";aspace="function"]

  [:case="mat2x4h_size";aspace="private"]

  [:case="mat2x4h_size";aspace="storage"]

  [:case="mat2x4h_size";aspace="workgroup"]

  [:case="mat3x2f_align8";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2f_align8";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2f_align8";aspace="storage"]

  [:case="mat3x2f_align8";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2f_size";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2f_size";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2f_size";aspace="storage"]

  [:case="mat3x2f_size";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat3x2h_align4";aspace="function"]

  [:case="mat3x2h_align4";aspace="private"]

  [:case="mat3x2h_align4";aspace="storage"]

  [:case="mat3x2h_align4";aspace="workgroup"]

  [:case="mat3x2h_size";aspace="function"]

  [:case="mat3x2h_size";aspace="private"]

  [:case="mat3x2h_size";aspace="storage"]

  [:case="mat3x2h_size";aspace="workgroup"]

  [:case="mat3x3f_align16";aspace="function"]

  [:case="mat3x3f_align16";aspace="private"]

  [:case="mat3x3f_align16";aspace="storage"]

  [:case="mat3x3f_align16";aspace="workgroup"]

  [:case="mat3x3f_size";aspace="function"]

  [:case="mat3x3f_size";aspace="private"]

  [:case="mat3x3f_size";aspace="storage"]

  [:case="mat3x3f_size";aspace="workgroup"]

  [:case="mat3x3h_align8";aspace="function"]

  [:case="mat3x3h_align8";aspace="private"]

  [:case="mat3x3h_align8";aspace="storage"]

  [:case="mat3x3h_align8";aspace="workgroup"]

  [:case="mat3x3h_size";aspace="function"]

  [:case="mat3x3h_size";aspace="private"]

  [:case="mat3x3h_size";aspace="storage"]

  [:case="mat3x3h_size";aspace="workgroup"]

  [:case="mat3x4f_align16";aspace="function"]

  [:case="mat3x4f_align16";aspace="private"]

  [:case="mat3x4f_align16";aspace="storage"]

  [:case="mat3x4f_align16";aspace="workgroup"]

  [:case="mat3x4f_size";aspace="function"]

  [:case="mat3x4f_size";aspace="private"]

  [:case="mat3x4f_size";aspace="storage"]

  [:case="mat3x4f_size";aspace="workgroup"]

  [:case="mat3x4h_align8";aspace="function"]

  [:case="mat3x4h_align8";aspace="private"]

  [:case="mat3x4h_align8";aspace="storage"]

  [:case="mat3x4h_align8";aspace="workgroup"]

  [:case="mat3x4h_size";aspace="function"]

  [:case="mat3x4h_size";aspace="private"]

  [:case="mat3x4h_size";aspace="storage"]

  [:case="mat3x4h_size";aspace="workgroup"]

  [:case="mat4x2f_align8";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2f_align8";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2f_align8";aspace="storage"]

  [:case="mat4x2f_align8";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2f_size";aspace="function"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2f_size";aspace="private"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2f_size";aspace="storage"]

  [:case="mat4x2f_size";aspace="workgroup"]
    expected:
      if os == "win": FAIL

  [:case="mat4x2h_align4";aspace="function"]

  [:case="mat4x2h_align4";aspace="private"]

  [:case="mat4x2h_align4";aspace="storage"]

  [:case="mat4x2h_align4";aspace="workgroup"]

  [:case="mat4x2h_size";aspace="function"]

  [:case="mat4x2h_size";aspace="private"]

  [:case="mat4x2h_size";aspace="storage"]

  [:case="mat4x2h_size";aspace="workgroup"]

  [:case="mat4x3f_align16";aspace="function"]

  [:case="mat4x3f_align16";aspace="private"]

  [:case="mat4x3f_align16";aspace="storage"]

  [:case="mat4x3f_align16";aspace="workgroup"]

  [:case="mat4x3f_size";aspace="function"]

  [:case="mat4x3f_size";aspace="private"]

  [:case="mat4x3f_size";aspace="storage"]

  [:case="mat4x3f_size";aspace="workgroup"]

  [:case="mat4x3h_align8";aspace="function"]

  [:case="mat4x3h_align8";aspace="private"]

  [:case="mat4x3h_align8";aspace="storage"]

  [:case="mat4x3h_align8";aspace="workgroup"]

  [:case="mat4x3h_size";aspace="function"]

  [:case="mat4x3h_size";aspace="private"]

  [:case="mat4x3h_size";aspace="storage"]

  [:case="mat4x3h_size";aspace="workgroup"]

  [:case="mat4x4f_align16";aspace="function"]

  [:case="mat4x4f_align16";aspace="private"]

  [:case="mat4x4f_align16";aspace="storage"]

  [:case="mat4x4f_align16";aspace="workgroup"]

  [:case="mat4x4f_size";aspace="function"]

  [:case="mat4x4f_size";aspace="private"]

  [:case="mat4x4f_size";aspace="storage"]

  [:case="mat4x4f_size";aspace="workgroup"]

  [:case="mat4x4h_align8";aspace="function"]

  [:case="mat4x4h_align8";aspace="private"]

  [:case="mat4x4h_align8";aspace="storage"]

  [:case="mat4x4h_align8";aspace="workgroup"]

  [:case="mat4x4h_size";aspace="function"]

  [:case="mat4x4h_size";aspace="private"]

  [:case="mat4x4h_size";aspace="storage"]

  [:case="mat4x4h_size";aspace="workgroup"]

  [:case="size80";aspace="function"]

  [:case="size80";aspace="private"]

  [:case="size80";aspace="storage"]

  [:case="size80";aspace="workgroup"]

  [:case="struct_align32";aspace="function"]

  [:case="struct_align32";aspace="private"]

  [:case="struct_align32";aspace="storage"]

  [:case="struct_align32";aspace="workgroup"]

  [:case="struct_align_vec2h";aspace="function"]

  [:case="struct_align_vec2h";aspace="private"]

  [:case="struct_align_vec2h";aspace="storage"]

  [:case="struct_align_vec2h";aspace="workgroup"]

  [:case="struct_align_vec2i";aspace="function"]

  [:case="struct_align_vec2i";aspace="private"]

  [:case="struct_align_vec2i";aspace="storage"]

  [:case="struct_align_vec2i";aspace="workgroup"]

  [:case="struct_align_vec3h";aspace="function"]

  [:case="struct_align_vec3h";aspace="private"]

  [:case="struct_align_vec3h";aspace="storage"]

  [:case="struct_align_vec3h";aspace="workgroup"]

  [:case="struct_align_vec3i";aspace="function"]

  [:case="struct_align_vec3i";aspace="private"]

  [:case="struct_align_vec3i";aspace="storage"]

  [:case="struct_align_vec3i";aspace="workgroup"]

  [:case="struct_align_vec4h";aspace="function"]

  [:case="struct_align_vec4h";aspace="private"]

  [:case="struct_align_vec4h";aspace="storage"]

  [:case="struct_align_vec4h";aspace="workgroup"]

  [:case="struct_align_vec4i";aspace="function"]

  [:case="struct_align_vec4i";aspace="private"]

  [:case="struct_align_vec4i";aspace="storage"]

  [:case="struct_align_vec4i";aspace="workgroup"]

  [:case="struct_double_align";aspace="function"]

  [:case="struct_double_align";aspace="private"]

  [:case="struct_double_align";aspace="storage"]

  [:case="struct_double_align";aspace="workgroup"]

  [:case="struct_inner_align";aspace="function"]
    expected: FAIL

  [:case="struct_inner_align";aspace="private"]
    expected: FAIL

  [:case="struct_inner_align";aspace="storage"]
    expected: FAIL

  [:case="struct_inner_align";aspace="workgroup"]
    expected: FAIL

  [:case="struct_inner_size";aspace="function"]

  [:case="struct_inner_size";aspace="private"]

  [:case="struct_inner_size";aspace="storage"]

  [:case="struct_inner_size";aspace="workgroup"]

  [:case="struct_inner_size_and_align";aspace="function"]

  [:case="struct_inner_size_and_align";aspace="private"]

  [:case="struct_inner_size_and_align";aspace="storage"]

  [:case="struct_inner_size_and_align";aspace="workgroup"]

  [:case="struct_override_size";aspace="function"]

  [:case="struct_override_size";aspace="private"]

  [:case="struct_override_size";aspace="storage"]

  [:case="struct_override_size";aspace="workgroup"]

  [:case="struct_size_roundup";aspace="function"]

  [:case="struct_size_roundup";aspace="private"]

  [:case="struct_size_roundup";aspace="storage"]

  [:case="struct_size_roundup";aspace="workgroup"]

  [:case="vec2f_align8";aspace="function"]

  [:case="vec2f_align8";aspace="private"]

  [:case="vec2f_align8";aspace="storage"]

  [:case="vec2f_align8";aspace="workgroup"]

  [:case="vec2h_align4";aspace="function"]

  [:case="vec2h_align4";aspace="private"]

  [:case="vec2h_align4";aspace="storage"]

  [:case="vec2h_align4";aspace="workgroup"]

  [:case="vec2u_align8";aspace="function"]

  [:case="vec2u_align8";aspace="private"]

  [:case="vec2u_align8";aspace="storage"]

  [:case="vec2u_align8";aspace="workgroup"]

  [:case="vec3f_align16";aspace="function"]

  [:case="vec3f_align16";aspace="private"]

  [:case="vec3f_align16";aspace="storage"]

  [:case="vec3f_align16";aspace="workgroup"]

  [:case="vec3h_align8";aspace="function"]

  [:case="vec3h_align8";aspace="private"]

  [:case="vec3h_align8";aspace="storage"]

  [:case="vec3h_align8";aspace="workgroup"]

  [:case="vec3h_size6";aspace="function"]

  [:case="vec3h_size6";aspace="private"]

  [:case="vec3h_size6";aspace="storage"]

  [:case="vec3h_size6";aspace="workgroup"]

  [:case="vec3i_size12";aspace="function"]

  [:case="vec3i_size12";aspace="private"]

  [:case="vec3i_size12";aspace="storage"]

  [:case="vec3i_size12";aspace="workgroup"]

  [:case="vec3u_align16";aspace="function"]

  [:case="vec3u_align16";aspace="private"]

  [:case="vec3u_align16";aspace="storage"]

  [:case="vec3u_align16";aspace="workgroup"]

  [:case="vec4f_align16";aspace="function"]

  [:case="vec4f_align16";aspace="private"]

  [:case="vec4f_align16";aspace="storage"]

  [:case="vec4f_align16";aspace="workgroup"]

  [:case="vec4h_align8";aspace="function"]

  [:case="vec4h_align8";aspace="private"]

  [:case="vec4h_align8";aspace="storage"]

  [:case="vec4h_align8";aspace="workgroup"]

  [:case="vec4u_align16";aspace="function"]

  [:case="vec4u_align16";aspace="private"]

  [:case="vec4u_align16";aspace="storage"]

  [:case="vec4u_align16";aspace="workgroup"]
