[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,textureStore:array_index_argument:*]
  [:textureType="texture_storage_2d_array";arrayIndexType="abstract-float"]

  [:textureType="texture_storage_2d_array";arrayIndexType="abstract-int"]

  [:textureType="texture_storage_2d_array";arrayIndexType="bool"]

  [:textureType="texture_storage_2d_array";arrayIndexType="f16"]

  [:textureType="texture_storage_2d_array";arrayIndexType="f32"]

  [:textureType="texture_storage_2d_array";arrayIndexType="i32"]

  [:textureType="texture_storage_2d_array";arrayIndexType="u32"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";arrayIndexType="vec4%3Cu32%3E"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,textureStore:coords_argument:*]
  [:textureType="texture_storage_1d";coordType="abstract-float"]

  [:textureType="texture_storage_1d";coordType="abstract-int"]

  [:textureType="texture_storage_1d";coordType="bool"]

  [:textureType="texture_storage_1d";coordType="f16"]

  [:textureType="texture_storage_1d";coordType="f32"]

  [:textureType="texture_storage_1d";coordType="i32"]

  [:textureType="texture_storage_1d";coordType="u32"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_1d";coordType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_1d";coordType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cabstract-int%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_1d";coordType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_2d";coordType="abstract-float"]

  [:textureType="texture_storage_2d";coordType="abstract-int"]

  [:textureType="texture_storage_2d";coordType="bool"]

  [:textureType="texture_storage_2d";coordType="f16"]

  [:textureType="texture_storage_2d";coordType="f32"]

  [:textureType="texture_storage_2d";coordType="i32"]

  [:textureType="texture_storage_2d";coordType="u32"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_2d";coordType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_2d";coordType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_2d";coordType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";coordType="abstract-float"]

  [:textureType="texture_storage_2d_array";coordType="abstract-int"]

  [:textureType="texture_storage_2d_array";coordType="bool"]

  [:textureType="texture_storage_2d_array";coordType="f16"]

  [:textureType="texture_storage_2d_array";coordType="f32"]

  [:textureType="texture_storage_2d_array";coordType="i32"]

  [:textureType="texture_storage_2d_array";coordType="u32"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";coordType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_3d";coordType="abstract-float"]

  [:textureType="texture_storage_3d";coordType="abstract-int"]

  [:textureType="texture_storage_3d";coordType="bool"]

  [:textureType="texture_storage_3d";coordType="f16"]

  [:textureType="texture_storage_3d";coordType="f32"]

  [:textureType="texture_storage_3d";coordType="i32"]

  [:textureType="texture_storage_3d";coordType="u32"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_3d";coordType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_3d";coordType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cabstract-int%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_3d";coordType="vec4%3Cu32%3E"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,textureStore:texture_type,storage:*]
  [:testTextureType="texture_1d%3Cf32%3E"]

  [:testTextureType="texture_1d%3Cu32%3E"]

  [:testTextureType="texture_2d%3Cf32%3E"]

  [:testTextureType="texture_2d%3Cu32%3E"]

  [:testTextureType="texture_2d_array%3Cf32%3E"]

  [:testTextureType="texture_2d_array%3Cu32%3E"]

  [:testTextureType="texture_3d%3Cf32%3E"]

  [:testTextureType="texture_3d%3Cu32%3E"]

  [:testTextureType="texture_cube%3Cf32%3E"]

  [:testTextureType="texture_cube%3Cu32%3E"]

  [:testTextureType="texture_cube_array%3Cf32%3E"]

  [:testTextureType="texture_cube_array%3Cu32%3E"]

  [:testTextureType="texture_depth_2d"]

  [:testTextureType="texture_depth_2d_array"]

  [:testTextureType="texture_depth_cube"]

  [:testTextureType="texture_depth_cube_array"]

  [:testTextureType="texture_depth_multisampled_2d"]

  [:testTextureType="texture_external"]

  [:testTextureType="texture_multisampled_2d%3Cf32%3E"]

  [:testTextureType="texture_multisampled_2d%3Cu32%3E"]

  [:testTextureType="texture_storage_1d%3Cr32uint,%20read%3E"]

  [:testTextureType="texture_storage_1d%3Crgba8unorm,%20read%3E"]

  [:testTextureType="texture_storage_2d%3Cr32uint,%20read%3E"]

  [:testTextureType="texture_storage_2d%3Crgba8unorm,%20read%3E"]

  [:testTextureType="texture_storage_2d_array%3Cr32uint,%20read%3E"]

  [:testTextureType="texture_storage_2d_array%3Crgba8unorm,%20read%3E"]

  [:testTextureType="texture_storage_3d%3Cr32uint,%20read%3E"]

  [:testTextureType="texture_storage_3d%3Crgba8unorm,%20read%3E"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,textureStore:value_argument:*]
  implementation-status: backlog
  [:textureType="texture_storage_1d";valueType="abstract-float"]

  [:textureType="texture_storage_1d";valueType="abstract-int"]

  [:textureType="texture_storage_1d";valueType="bool"]

  [:textureType="texture_storage_1d";valueType="f16"]

  [:textureType="texture_storage_1d";valueType="f32"]

  [:textureType="texture_storage_1d";valueType="i32"]

  [:textureType="texture_storage_1d";valueType="u32"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_1d";valueType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_1d";valueType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Cabstract-int%3E"]
    expected: FAIL

  [:textureType="texture_storage_1d";valueType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_1d";valueType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_2d";valueType="abstract-float"]

  [:textureType="texture_storage_2d";valueType="abstract-int"]

  [:textureType="texture_storage_2d";valueType="bool"]

  [:textureType="texture_storage_2d";valueType="f16"]

  [:textureType="texture_storage_2d";valueType="f32"]

  [:textureType="texture_storage_2d";valueType="i32"]

  [:textureType="texture_storage_2d";valueType="u32"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_2d";valueType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_2d";valueType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Cabstract-int%3E"]
    expected: FAIL

  [:textureType="texture_storage_2d";valueType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_2d";valueType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";valueType="abstract-float"]

  [:textureType="texture_storage_2d_array";valueType="abstract-int"]

  [:textureType="texture_storage_2d_array";valueType="bool"]

  [:textureType="texture_storage_2d_array";valueType="f16"]

  [:textureType="texture_storage_2d_array";valueType="f32"]

  [:textureType="texture_storage_2d_array";valueType="i32"]

  [:textureType="texture_storage_2d_array";valueType="u32"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cabstract-int%3E"]
    expected: FAIL

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_2d_array";valueType="vec4%3Cu32%3E"]

  [:textureType="texture_storage_3d";valueType="abstract-float"]

  [:textureType="texture_storage_3d";valueType="abstract-int"]

  [:textureType="texture_storage_3d";valueType="bool"]

  [:textureType="texture_storage_3d";valueType="f16"]

  [:textureType="texture_storage_3d";valueType="f32"]

  [:textureType="texture_storage_3d";valueType="i32"]

  [:textureType="texture_storage_3d";valueType="u32"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cabstract-int%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cbool%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cf16%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cf32%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Ci32%3E"]

  [:textureType="texture_storage_3d";valueType="vec2%3Cu32%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cabstract-int%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cbool%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cf16%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cf32%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Ci32%3E"]

  [:textureType="texture_storage_3d";valueType="vec3%3Cu32%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Cabstract-float%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Cabstract-int%3E"]
    expected: FAIL

  [:textureType="texture_storage_3d";valueType="vec4%3Cbool%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Cf16%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Cf32%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Ci32%3E"]

  [:textureType="texture_storage_3d";valueType="vec4%3Cu32%3E"]
