[tint] Add RW storage textureLoad overloads
Adds them to the intrinsics table but no codegen support yet.
Bug: tint:2007
Change-Id: I4e3b768461ce06016e1ae6a4bf02ca70d0584237
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/145982
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index 61ecbdb..92c4d65 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -874,6 +874,18 @@
@must_use fn textureLoad<C: iu32, A: iu32, L: iu32>(texture: texture_depth_2d_array, coords: vec2<C>, array_index: A, level: L) -> f32
@must_use fn textureLoad<C: iu32, S: iu32>(texture: texture_depth_multisampled_2d, coords: vec2<C>, sample_index: S) -> f32
@must_use fn textureLoad<C: iu32>(texture: texture_external, coords: vec2<C>) -> vec4<f32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_1d<f32_texel_format, read_write>, coords: C) -> vec4<f32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_1d<i32_texel_format, read_write>, coords: C) -> vec4<i32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_1d<u32_texel_format, read_write>, coords: C) -> vec4<u32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_2d<f32_texel_format, read_write>, coords: vec2<C>) -> vec4<f32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_2d<i32_texel_format, read_write>, coords: vec2<C>) -> vec4<i32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_2d<u32_texel_format, read_write>, coords: vec2<C>) -> vec4<u32>
+@must_use fn textureLoad<C: iu32, A: iu32>(texture: texture_storage_2d_array<f32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<f32>
+@must_use fn textureLoad<C: iu32, A: iu32>(texture: texture_storage_2d_array<i32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<i32>
+@must_use fn textureLoad<C: iu32, A: iu32>(texture: texture_storage_2d_array<u32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<u32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_3d<f32_texel_format, read_write>, coords: vec3<C>) -> vec4<f32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_3d<i32_texel_format, read_write>, coords: vec3<C>) -> vec4<i32>
+@must_use fn textureLoad<C: iu32>(texture: texture_storage_3d<u32_texel_format, read_write>, coords: vec3<C>) -> vec4<u32>
@stage("fragment", "compute") fn atomicLoad<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T
@stage("fragment", "compute") fn atomicStore<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T)
diff --git a/src/tint/lang/core/intrinsic/data/data.cc b/src/tint/lang/core/intrinsic/data/data.cc
index 3c8c343..8a032d4 100644
--- a/src/tint/lang/core/intrinsic/data/data.cc
+++ b/src/tint/lang/core/intrinsic/data/data.cc
@@ -2000,10 +2000,16 @@
/* [11] */ NumberMatcherIndex(6),
/* [12] */ NumberMatcherIndex(5),
/* [13] */ NumberMatcherIndex(6),
- /* [14] */ NumberMatcherIndex(1),
- /* [15] */ NumberMatcherIndex(2),
- /* [16] */ NumberMatcherIndex(0),
- /* [17] */ NumberMatcherIndex(2),
+ /* [14] */ NumberMatcherIndex(3),
+ /* [15] */ NumberMatcherIndex(7),
+ /* [16] */ NumberMatcherIndex(4),
+ /* [17] */ NumberMatcherIndex(7),
+ /* [18] */ NumberMatcherIndex(5),
+ /* [19] */ NumberMatcherIndex(7),
+ /* [20] */ NumberMatcherIndex(1),
+ /* [21] */ NumberMatcherIndex(2),
+ /* [22] */ NumberMatcherIndex(0),
+ /* [23] */ NumberMatcherIndex(2),
};
static_assert(NumberMatcherIndex::CanIndex(kNumberMatcherIndices),
@@ -3728,577 +3734,739 @@
},
{
/* [286] */
- /* usage */ ParameterUsage::kXy,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
},
{
/* [287] */
- /* usage */ ParameterUsage::kZ,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [288] */
- /* usage */ ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [289] */
- /* usage */ ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [290] */
- /* usage */ ParameterUsage::kYz,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [291] */
- /* usage */ ParameterUsage::kW,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [292] */
- /* usage */ ParameterUsage::kX,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [293] */
- /* usage */ ParameterUsage::kY,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [294] */
- /* usage */ ParameterUsage::kZw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [295] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [296] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [297] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [298] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(20),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [299] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(32),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [300] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [301] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(36),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [302] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [303] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(38),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [304] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [305] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(42),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [306] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [307] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(44),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [308] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [309] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(46),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [310] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [311] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [312] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [313] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [314] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [315] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(162),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [316] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [317] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(163),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [318] */
- /* usage */ ParameterUsage::kLevel,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [319] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(169),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [320] */
/* usage */ ParameterUsage::kCoords,
/* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [321] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* [288] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [322] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [323] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(82),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [324] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [325] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [326] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [327] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [328] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
- },
- {
- /* [329] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
- },
- {
- /* [330] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
- },
- {
- /* [331] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* [289] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
/* number_matcher_indices */ NumberMatcherIndicesIndex(16),
},
{
- /* [332] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
+ /* [290] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [333] */
+ /* [291] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [292] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
+ },
+ {
+ /* [293] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [294] */
+ /* usage */ ParameterUsage::kArrayIndex,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [295] */
/* usage */ ParameterUsage::kXy,
/* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [334] */
- /* usage */ ParameterUsage::kZw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* [296] */
+ /* usage */ ParameterUsage::kZ,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [335] */
- /* usage */ ParameterUsage::kXyz,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- },
- {
- /* [336] */
+ /* [297] */
/* usage */ ParameterUsage::kW,
/* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [337] */
+ /* [298] */
/* usage */ ParameterUsage::kX,
/* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [338] */
- /* usage */ ParameterUsage::kZyw,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
+ /* [299] */
+ /* usage */ ParameterUsage::kYz,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [339] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(0),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(0),
+ /* [300] */
+ /* usage */ ParameterUsage::kW,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
- /* [340] */
+ /* [301] */
+ /* usage */ ParameterUsage::kX,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [302] */
+ /* usage */ ParameterUsage::kY,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [303] */
+ /* usage */ ParameterUsage::kZw,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [304] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [305] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [306] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
- /* [341] */
+ /* [307] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(20),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ },
+ {
+ /* [308] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(32),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [309] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [310] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(36),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [311] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [312] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(38),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [313] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [314] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(42),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [315] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [316] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(44),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [317] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [318] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(46),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [319] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(21),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [320] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(160),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [321] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [322] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(161),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [323] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [324] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(162),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [325] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [326] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(163),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [327] */
+ /* usage */ ParameterUsage::kLevel,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [328] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(169),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [329] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [330] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
+ },
+ {
+ /* [331] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [332] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
+ },
+ {
+ /* [333] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [334] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
+ },
+ {
+ /* [335] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [336] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
+ },
+ {
+ /* [337] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [338] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
+ },
+ {
+ /* [339] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [340] */
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
+ },
+ {
+ /* [341] */
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [342] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(14),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(14),
},
{
/* [343] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [344] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(16),
},
{
/* [345] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(30),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(6),
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [346] */
/* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(18),
},
{
/* [347] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* usage */ ParameterUsage::kCoords,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [348] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [349] */
- /* usage */ ParameterUsage::kTexture,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
/* [350] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(53),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(82),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
/* [351] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(87),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [352] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [353] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(78),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [354] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(98),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [355] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
/* [356] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(108),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
},
{
/* [357] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(106),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [358] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(22),
},
{
/* [359] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(114),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(3),
},
{
/* [360] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(112),
+ /* usage */ ParameterUsage::kXy,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [361] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* usage */ ParameterUsage::kZw,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(70),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [362] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(120),
+ /* usage */ ParameterUsage::kXyz,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [363] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(118),
+ /* usage */ ParameterUsage::kW,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [364] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* usage */ ParameterUsage::kX,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [365] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(126),
+ /* usage */ ParameterUsage::kZyw,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [366] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(124),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(0),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(0),
},
{
/* [367] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
/* [368] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(132),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [369] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(130),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(14),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(1),
},
{
/* [370] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(26),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [371] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(138),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [372] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(136),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(30),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(6),
},
{
/* [373] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(165),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [374] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(144),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(166),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [375] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(142),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(167),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [376] */
- /* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* usage */ ParameterUsage::kTexture,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(168),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(2),
},
{
/* [377] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(150),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(53),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [378] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(148),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(87),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [379] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(76),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [380] */
/* usage */ ParameterUsage::kNone,
- /* type_matcher_indices */ TypeMatcherIndicesIndex(156),
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(78),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
{
/* [381] */
/* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(98),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [382] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [383] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(108),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [384] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(106),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [385] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [386] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(114),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [387] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(112),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [388] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [389] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(120),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [390] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(118),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [391] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [392] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(126),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [393] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(124),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [394] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(128),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [395] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(132),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [396] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(130),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [397] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [398] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(138),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [399] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(136),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [400] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(140),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [401] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(144),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [402] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(142),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [403] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(146),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [404] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(150),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [405] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(148),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [406] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [407] */
+ /* usage */ ParameterUsage::kNone,
+ /* type_matcher_indices */ TypeMatcherIndicesIndex(156),
+ /* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ },
+ {
+ /* [408] */
+ /* usage */ ParameterUsage::kNone,
/* type_matcher_indices */ TypeMatcherIndicesIndex(154),
/* number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
},
@@ -4687,7 +4855,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(299),
+ /* parameters */ ParameterIndex(308),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4713,7 +4881,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(301),
+ /* parameters */ ParameterIndex(310),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4739,7 +4907,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(303),
+ /* parameters */ ParameterIndex(312),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4765,7 +4933,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(305),
+ /* parameters */ ParameterIndex(314),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4791,7 +4959,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(307),
+ /* parameters */ ParameterIndex(316),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4817,7 +4985,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(12),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(309),
+ /* parameters */ ParameterIndex(318),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4856,7 +5024,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(3),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(311),
+ /* parameters */ ParameterIndex(320),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4882,7 +5050,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(3),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(313),
+ /* parameters */ ParameterIndex(322),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4908,7 +5076,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(3),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(315),
+ /* parameters */ ParameterIndex(324),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4934,7 +5102,7 @@
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(3),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(317),
+ /* parameters */ ParameterIndex(326),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4960,7 +5128,7 @@
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(346),
+ /* parameters */ ParameterIndex(373),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4973,7 +5141,7 @@
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(347),
+ /* parameters */ ParameterIndex(374),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4986,7 +5154,7 @@
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(348),
+ /* parameters */ ParameterIndex(375),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -4999,7 +5167,7 @@
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(349),
+ /* parameters */ ParameterIndex(376),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
@@ -5019,1319 +5187,6 @@
},
{
/* [27] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(96),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [28] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [29] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [30] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [31] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [32] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(286),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [33] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(289),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [34] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(292),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [35] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(333),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [36] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(335),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [37] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(337),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [38] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [39] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(100),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [40] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [41] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [42] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(354),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(102),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [43] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(235),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [44] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [45] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(165),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [46] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(19),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [47] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(99),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [48] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [49] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(169),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [50] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(119),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [51] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(56),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [52] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [53] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(157),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [54] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [55] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(84),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [56] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [57] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [58] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(124),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [59] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(124),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [60] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(62),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [61] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(62),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [62] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(129),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [63] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(129),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [64] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(177),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [65] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(134),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [66] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [67] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [68] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [69] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [70] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(3),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [71] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [72] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(74),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [73] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(74),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [74] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(26),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [75] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(26),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [76] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(153),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [77] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 3,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(79),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [78] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(139),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [79] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(157),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [80] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(68),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [81] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(84),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [82] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(181),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [83] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(144),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [84] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(241),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [85] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(244),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [86] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(185),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [87] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(247),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [88] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(250),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [89] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(253),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [90] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(189),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [91] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(256),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [92] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(259),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [93] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(262),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [94] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(193),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [95] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(1),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(265),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [96] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(90),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [97] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [98] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [99] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [100] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [101] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(286),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [102] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(289),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(102),
- },
- {
- /* [103] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(54),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [104] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(92),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [105] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(64),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [106] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [107] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(353),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(94),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [108] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(268),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [109] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(75),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [110] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(27),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [111] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(274),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [112] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [113] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(0),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(80),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [114] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [115] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [116] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [117] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [118] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(84),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [119] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(35),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [120] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [121] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(100),
- },
- {
- /* [122] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(205),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(101),
- },
- {
- /* [123] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(352),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [124] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(352),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(86),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [125] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(18),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(352),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(52),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [126] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(20),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(352),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [127] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(22),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(352),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(88),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [128] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 3,
@@ -6344,7 +5199,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [129] */
+ /* [28] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 3,
@@ -6357,7 +5212,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [130] */
+ /* [29] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 4,
@@ -6370,7 +5225,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [131] */
+ /* [30] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 3,
@@ -6383,7 +5238,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [132] */
+ /* [31] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 3,
@@ -6396,7 +5251,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [133] */
+ /* [32] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 2,
@@ -6409,7 +5264,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [134] */
+ /* [33] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 3,
@@ -6422,7 +5277,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [135] */
+ /* [34] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 2,
@@ -6435,243 +5290,399 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [136] */
+ /* [35] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(1),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(319),
+ /* parameters */ ParameterIndex(328),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [137] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* [36] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(330),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [37] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(332),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [38] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(334),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [39] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(336),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [40] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(338),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [41] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(340),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [42] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(286),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [43] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(289),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [44] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(292),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [45] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(342),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [46] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(344),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [47] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(346),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [48] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(96),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [49] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(35),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [50] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(217),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [51] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
- /* [138] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [139] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [140] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(321),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [141] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(326),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [142] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(325),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(79),
- },
- {
- /* [143] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(1),
- /* parameters */ ParameterIndex(327),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(3),
- /* const_eval_fn */ ConstEvalFunctionIndex(80),
- },
- {
- /* [144] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(1),
- /* parameters */ ParameterIndex(329),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(81),
- },
- {
- /* [145] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 3,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(0),
- /* parameters */ ParameterIndex(331),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(14),
- /* const_eval_fn */ ConstEvalFunctionIndex(82),
- },
- {
- /* [146] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* [52] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(104),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [147] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(104),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [148] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(38),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* parameters */ ParameterIndex(205),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
- /* [149] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
+ /* [53] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(38),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* parameters */ ParameterIndex(295),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
- /* [150] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(109),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [151] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(109),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [152] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(173),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [153] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
+ /* [54] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(114),
+ /* parameters */ ParameterIndex(298),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [55] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(301),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [56] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(360),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [57] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(362),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [58] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(364),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [59] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(381),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [60] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(381),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(100),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [61] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(18),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(381),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(72),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [62] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(20),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(381),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(74),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [63] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(22),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(381),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(102),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [64] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(235),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [154] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
+ /* [65] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
@@ -6682,22 +5693,22 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [155] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
+ /* [66] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(44),
+ /* parameters */ ParameterIndex(165),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [156] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
+ /* [67] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
@@ -6708,22 +5719,22 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [157] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 7,
+ /* [68] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(19),
+ /* parameters */ ParameterIndex(99),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [158] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
+ /* [69] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
@@ -6734,22 +5745,22 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [159] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
+ /* [70] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
+ /* parameters */ ParameterIndex(169),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [160] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
+ /* [71] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
@@ -6760,9 +5771,9 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [161] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
+ /* [72] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
@@ -6773,943 +5784,761 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [162] */
+ /* [73] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(139),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [74] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(157),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [75] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(68),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [76] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(84),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [77] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(181),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [78] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(144),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [79] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
+ /* parameters */ ParameterIndex(124),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [163] */
+ /* [80] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 5,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
+ /* parameters */ ParameterIndex(124),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [164] */
+ /* [81] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 5,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
+ /* parameters */ ParameterIndex(62),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [165] */
+ /* [82] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 6,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
+ /* parameters */ ParameterIndex(62),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [166] */
+ /* [83] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
+ /* parameters */ ParameterIndex(129),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [167] */
+ /* [84] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 5,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
+ /* parameters */ ParameterIndex(129),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [168] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [169] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [170] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [171] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [172] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [173] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(2),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [174] */
+ /* [85] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* parameters */ ParameterIndex(177),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [175] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 5,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(89),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [176] */
+ /* [86] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 5,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
+ /* parameters */ ParameterIndex(134),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [87] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(3),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(139),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [177] */
+ /* [88] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(3),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(139),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [89] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(68),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [90] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 6,
- /* num_template_types */ 1,
+ /* num_template_types */ 2,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(32),
+ /* parameters */ ParameterIndex(68),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [178] */
+ /* [91] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(3),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(181),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [92] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(144),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [93] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(74),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [94] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(74),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [95] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 3,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(26),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [96] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 3,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(26),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [97] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(153),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [98] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 3,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(79),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(50),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [99] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(139),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [100] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 4,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(161),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* parameters */ ParameterIndex(157),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [179] */
+ /* [101] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(68),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [102] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 5,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(2),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(94),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* parameters */ ParameterIndex(84),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [180] */
+ /* [103] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(181),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [104] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(144),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [105] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(241),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [106] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(244),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [107] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(185),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [108] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(247),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [109] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(250),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [110] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(253),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [111] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(189),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [112] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(256),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [113] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(259),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [114] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(262),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [115] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(193),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [116] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(1),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(265),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(/* invalid */),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [117] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(90),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [181] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(355),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [182] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [183] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [184] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(356),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(106),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [185] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(357),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(108),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [186] */
+ /* [118] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
+ /* template_types */ TemplateTypeIndex(35),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [187] */
+ /* [119] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(358),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [188] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [189] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [190] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(359),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(112),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [191] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(360),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(114),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [192] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [193] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(361),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [194] */
+ /* [120] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
},
{
- /* [195] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [196] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(362),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(118),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [197] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(363),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(120),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [198] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [199] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(364),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [200] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 6,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [201] */
+ /* [121] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* parameters */ ParameterIndex(205),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
},
{
- /* [202] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* [122] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
+ /* template_types */ TemplateTypeIndex(27),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(365),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(124),
+ /* parameters */ ParameterIndex(295),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
},
{
- /* [203] */
+ /* [123] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(298),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(10),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(102),
+ },
+ {
+ /* [124] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 2,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(14),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(366),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(126),
+ /* parameters */ ParameterIndex(380),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(54),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [204] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [205] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(367),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [206] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 9,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [207] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [208] */
+ /* [125] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(368),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(130),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [209] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(369),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(132),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [210] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [211] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(370),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [212] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [213] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [214] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(371),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(136),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [215] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(372),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(138),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [216] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [217] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(373),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [218] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 8,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [219] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(209),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [220] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(374),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(142),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [221] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(375),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(144),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [222] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [223] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(376),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [224] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 12,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [225] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(213),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [226] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(16),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(377),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(148),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [227] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(378),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(150),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
- },
- {
- /* [228] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 0,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(/* invalid */),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(98),
- },
- {
- /* [229] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(36),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(379),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(73),
- },
- {
- /* [230] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 16,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(103),
- },
- {
- /* [231] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(217),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(104),
- },
- {
- /* [232] */
- /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 2,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(16),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(380),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(154),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(92),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [233] */
+ /* [126] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(18),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(380),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(64),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [127] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(20),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(380),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(40),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [128] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(22),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(380),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(94),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [129] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(14),
+ /* template_types */ TemplateTypeIndex(0),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(381),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(156),
+ /* parameters */ ParameterIndex(268),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [234] */
+ /* [130] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(75),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [131] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -7722,7 +6551,33 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [235] */
+ /* [132] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(274),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [133] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(154),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [134] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -7735,7 +6590,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [236] */
+ /* [135] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [136] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -7748,7 +6616,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [237] */
+ /* [137] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(161),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [138] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -7761,186 +6642,1473 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
+ /* [139] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(84),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [140] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(35),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [141] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(209),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [142] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(100),
+ },
+ {
+ /* [143] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(205),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(70),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(101),
+ },
+ {
+ /* [144] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(379),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(26),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [145] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(379),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(86),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [146] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(18),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(379),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(52),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [147] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(20),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(379),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(34),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [148] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 2,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(22),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(379),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(88),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [149] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [150] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [151] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(223),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [152] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(348),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [153] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(353),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [154] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(352),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* const_eval_fn */ ConstEvalFunctionIndex(79),
+ },
+ {
+ /* [155] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(1),
+ /* parameters */ ParameterIndex(354),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(3),
+ /* const_eval_fn */ ConstEvalFunctionIndex(80),
+ },
+ {
+ /* [156] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(1),
+ /* parameters */ ParameterIndex(356),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(81),
+ },
+ {
+ /* [157] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 3,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(0),
+ /* parameters */ ParameterIndex(358),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(20),
+ /* const_eval_fn */ ConstEvalFunctionIndex(82),
+ },
+ {
+ /* [158] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(104),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [159] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(104),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [160] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(38),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [161] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(38),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [162] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(109),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [163] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(109),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [164] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(173),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [165] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(114),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [166] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(44),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [167] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(44),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [168] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(19),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [169] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 7,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(19),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [170] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(50),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [171] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(50),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [172] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(119),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [173] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(56),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [174] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [175] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [176] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [177] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [178] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(161),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [179] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(94),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(28),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [180] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [181] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [182] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [183] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [184] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(161),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [185] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(94),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [186] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [187] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(89),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [188] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [189] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [190] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(161),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [191] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 5,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(2),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(94),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [192] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [193] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(382),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [194] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [195] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(209),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(104),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [196] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(383),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(106),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [197] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(384),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(108),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [198] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [199] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(385),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [200] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [201] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(213),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(110),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [202] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(386),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(112),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [203] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(387),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(114),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [204] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [205] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(388),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [206] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 8,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [207] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(217),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(116),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [208] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(389),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(118),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [209] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(390),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(120),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [210] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [211] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(391),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [212] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 6,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [213] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(209),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(122),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [214] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(392),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(124),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [215] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(393),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(126),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [216] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [217] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(394),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [218] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 9,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [219] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(213),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(128),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [220] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(395),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(130),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [221] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(396),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(132),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [222] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [223] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(397),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [224] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 12,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [225] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(217),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(134),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [226] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(398),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(136),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [227] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(399),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(138),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [228] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [229] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(400),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [230] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 8,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [231] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(209),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(140),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [232] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(401),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(142),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [233] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(402),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(144),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [234] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [235] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(403),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [236] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 12,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [237] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(213),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(146),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
/* [238] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(404),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(148),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [239] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(405),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(150),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [240] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 0,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(/* invalid */),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(98),
+ },
+ {
+ /* [241] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(36),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(406),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(73),
+ },
+ {
+ /* [242] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 16,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(103),
+ },
+ {
+ /* [243] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(217),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(152),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(104),
+ },
+ {
+ /* [244] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(16),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(407),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(154),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [245] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(14),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(408),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(156),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(99),
+ },
+ {
+ /* [246] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(27),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [247] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(0),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(80),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [248] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(32),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [249] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(94),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [250] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(6),
- /* parameters */ ParameterIndex(348),
+ /* parameters */ ParameterIndex(375),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [239] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [240] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [241] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [242] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(321),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [243] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(324),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(77),
- },
- {
- /* [244] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [245] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [246] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [247] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(321),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [248] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 2,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(324),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
- /* const_eval_fn */ ConstEvalFunctionIndex(78),
- },
- {
- /* [249] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
- /* [250] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
- },
- {
/* [251] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
- /* num_template_numbers */ 1,
+ /* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(223),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(83),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(77),
},
{
/* [252] */
@@ -7950,13 +8118,169 @@
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(321),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(77),
+ },
+ {
+ /* [253] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(223),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(77),
+ },
+ {
+ /* [254] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(348),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(77),
+ },
+ {
+ /* [255] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(351),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* const_eval_fn */ ConstEvalFunctionIndex(77),
+ },
+ {
+ /* [256] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(78),
+ },
+ {
+ /* [257] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(78),
+ },
+ {
+ /* [258] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(223),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(78),
+ },
+ {
+ /* [259] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(348),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(78),
+ },
+ {
+ /* [260] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 2,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(351),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(2),
+ /* const_eval_fn */ ConstEvalFunctionIndex(78),
+ },
+ {
+ /* [261] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
+ },
+ {
+ /* [262] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(83),
},
{
- /* [253] */
+ /* [263] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(223),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
+ },
+ {
+ /* [264] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(348),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(83),
+ },
+ {
+ /* [265] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -7969,7 +8293,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
- /* [254] */
+ /* [266] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -7982,7 +8306,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
- /* [255] */
+ /* [267] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -7995,20 +8319,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
- /* [256] */
+ /* [268] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(321),
+ /* parameters */ ParameterIndex(348),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(84),
},
{
- /* [257] */
+ /* [269] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -8021,7 +8345,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
- /* [258] */
+ /* [270] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -8034,7 +8358,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
- /* [259] */
+ /* [271] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -8047,7 +8371,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
- /* [260] */
+ /* [272] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -8060,7 +8384,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(86),
},
{
- /* [261] */
+ /* [273] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -8073,7 +8397,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
- /* [262] */
+ /* [274] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -8086,7 +8410,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
- /* [263] */
+ /* [275] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -8099,7 +8423,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
- /* [264] */
+ /* [276] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -8112,7 +8436,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(87),
},
{
- /* [265] */
+ /* [277] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8125,7 +8449,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(40),
},
{
- /* [266] */
+ /* [278] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8138,7 +8462,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(40),
},
{
- /* [267] */
+ /* [279] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8151,7 +8475,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(40),
},
{
- /* [268] */
+ /* [280] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8164,7 +8488,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(56),
},
{
- /* [269] */
+ /* [281] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8177,7 +8501,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(56),
},
{
- /* [270] */
+ /* [282] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -8190,7 +8514,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(57),
},
{
- /* [271] */
+ /* [283] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -8203,20 +8527,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [272] */
+ /* [284] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(350),
+ /* parameters */ ParameterIndex(377),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(53),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [273] */
+ /* [285] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8229,7 +8553,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [274] */
+ /* [286] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -8242,7 +8566,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [275] */
+ /* [287] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -8255,7 +8579,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [276] */
+ /* [288] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8268,7 +8592,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [277] */
+ /* [289] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -8281,20 +8605,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [278] */
+ /* [290] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(341),
+ /* parameters */ ParameterIndex(368),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [279] */
+ /* [291] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8307,7 +8631,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [280] */
+ /* [292] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -8320,20 +8644,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [281] */
+ /* [293] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(351),
+ /* parameters */ ParameterIndex(378),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(87),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [282] */
+ /* [294] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8346,7 +8670,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [283] */
+ /* [295] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -8359,7 +8683,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(98),
},
{
- /* [284] */
+ /* [296] */
/* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -8372,7 +8696,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [285] */
+ /* [297] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8385,173 +8709,17 @@
/* const_eval_fn */ ConstEvalFunctionIndex(99),
},
{
- /* [286] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [287] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(0),
- },
- {
- /* [288] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [289] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(1),
- },
- {
- /* [290] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [291] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(2),
- },
- {
- /* [292] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [293] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(3),
- },
- {
- /* [294] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(226),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [295] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(233),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(4),
- },
- {
- /* [296] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
- /* [297] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(5),
- },
- {
/* [298] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
/* [299] */
@@ -8559,12 +8727,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(6),
+ /* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
/* [300] */
@@ -8577,7 +8745,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
/* [301] */
@@ -8590,12 +8758,12 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(7),
+ /* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
/* [302] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
@@ -8603,12 +8771,12 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
},
{
/* [303] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
@@ -8616,38 +8784,64 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(8),
+ /* const_eval_fn */ ConstEvalFunctionIndex(2),
},
{
/* [304] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* parameters */ ParameterIndex(226),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
},
{
/* [305] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ /* parameters */ ParameterIndex(233),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(3),
},
{
/* [306] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(226),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [307] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 0,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(233),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(4),
+ },
+ {
+ /* [308] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
@@ -8655,10 +8849,10 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
},
{
- /* [307] */
+ /* [309] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -8668,33 +8862,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(10),
- },
- {
- /* [308] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
- },
- {
- /* [309] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ /* const_eval_fn */ ConstEvalFunctionIndex(5),
},
{
/* [310] */
@@ -8707,7 +8875,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
},
{
/* [311] */
@@ -8720,7 +8888,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ /* const_eval_fn */ ConstEvalFunctionIndex(6),
},
{
/* [312] */
@@ -8733,7 +8901,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
},
{
/* [313] */
@@ -8746,33 +8914,33 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ /* const_eval_fn */ ConstEvalFunctionIndex(7),
},
{
/* [314] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
},
{
/* [315] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ /* const_eval_fn */ ConstEvalFunctionIndex(8),
},
{
/* [316] */
@@ -8780,12 +8948,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
},
{
/* [317] */
@@ -8793,6 +8961,162 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(9),
+ },
+ {
+ /* [318] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(10),
+ },
+ {
+ /* [319] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(10),
+ },
+ {
+ /* [320] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [321] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(221),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(11),
+ },
+ {
+ /* [322] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [323] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(12),
+ },
+ {
+ /* [324] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [325] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(13),
+ },
+ {
+ /* [326] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(26),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [327] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(26),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(14),
+ },
+ {
+ /* [328] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(26),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(15),
+ },
+ {
+ /* [329] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
@@ -8801,186 +9125,30 @@
/* const_eval_fn */ ConstEvalFunctionIndex(15),
},
{
- /* [318] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [319] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(16),
- },
- {
- /* [320] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [321] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(18),
- },
- {
- /* [322] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [323] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(20),
- },
- {
- /* [324] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(341),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [325] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 0,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(342),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [326] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
- },
- {
- /* [327] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(22),
- },
- {
- /* [328] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
- },
- {
- /* [329] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(23),
- },
- {
/* [330] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
+ /* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
},
{
/* [331] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(150),
+ /* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ /* const_eval_fn */ ConstEvalFunctionIndex(16),
},
{
/* [332] */
@@ -8988,12 +9156,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(18),
},
{
/* [333] */
@@ -9001,69 +9169,69 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(26),
+ /* const_eval_fn */ ConstEvalFunctionIndex(18),
},
{
/* [334] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
+ /* const_eval_fn */ ConstEvalFunctionIndex(20),
},
{
/* [335] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(27),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(20),
},
{
/* [336] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* parameters */ ParameterIndex(368),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [337] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* parameters */ ParameterIndex(369),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [338] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
@@ -9071,20 +9239,20 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ /* const_eval_fn */ ConstEvalFunctionIndex(22),
},
{
/* [339] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
+ /* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ /* const_eval_fn */ ConstEvalFunctionIndex(22),
},
{
/* [340] */
@@ -9097,7 +9265,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ /* const_eval_fn */ ConstEvalFunctionIndex(23),
},
{
/* [341] */
@@ -9110,51 +9278,51 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(30),
+ /* const_eval_fn */ ConstEvalFunctionIndex(23),
},
{
/* [342] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(16),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [343] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(18),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(31),
- },
- {
- /* [344] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* num_parameters */ 3,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(15),
+ /* parameters */ ParameterIndex(16),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ },
+ {
+ /* [343] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(26),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(150),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(24),
+ },
+ {
+ /* [344] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(26),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
},
{
/* [345] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(26),
@@ -9162,7 +9330,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(32),
+ /* const_eval_fn */ ConstEvalFunctionIndex(26),
},
{
/* [346] */
@@ -9170,12 +9338,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ /* const_eval_fn */ ConstEvalFunctionIndex(27),
},
{
/* [347] */
@@ -9183,42 +9351,16 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(33),
+ /* const_eval_fn */ ConstEvalFunctionIndex(27),
},
{
/* [348] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(295),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [349] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 2,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(297),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(34),
- },
- {
- /* [350] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
@@ -9227,10 +9369,10 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(28),
},
{
- /* [351] */
+ /* [349] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -9238,9 +9380,35 @@
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(28),
+ },
+ {
+ /* [350] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
+ },
+ {
+ /* [351] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(221),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(29),
},
{
/* [352] */
@@ -9253,7 +9421,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
},
{
/* [353] */
@@ -9266,7 +9434,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(36),
+ /* const_eval_fn */ ConstEvalFunctionIndex(30),
},
{
/* [354] */
@@ -9277,9 +9445,9 @@
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(16),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
},
{
/* [355] */
@@ -9290,92 +9458,92 @@
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(18),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(31),
},
{
/* [356] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 4,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
+ /* parameters */ ParameterIndex(15),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
},
{
/* [357] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 4,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(38),
+ /* const_eval_fn */ ConstEvalFunctionIndex(32),
},
{
/* [358] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
},
{
/* [359] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(39),
+ /* const_eval_fn */ ConstEvalFunctionIndex(33),
},
{
/* [360] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_parameters */ 2,
+ /* num_template_types */ 2,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(22),
+ /* parameters */ ParameterIndex(304),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
},
{
/* [361] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_parameters */ 2,
+ /* num_template_types */ 2,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(24),
+ /* parameters */ ParameterIndex(306),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(34),
},
{
/* [362] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
@@ -9383,46 +9551,46 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
},
{
/* [363] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(48),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(35),
},
{
/* [364] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 0,
+ /* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(341),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
},
{
/* [365] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 0,
+ /* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(/* invalid */),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(342),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(49),
+ /* const_eval_fn */ ConstEvalFunctionIndex(36),
},
{
/* [366] */
@@ -9435,7 +9603,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
},
{
/* [367] */
@@ -9448,59 +9616,59 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(50),
+ /* const_eval_fn */ ConstEvalFunctionIndex(37),
},
{
/* [368] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
},
{
/* [369] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(26),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(53),
+ /* const_eval_fn */ ConstEvalFunctionIndex(38),
},
{
/* [370] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
},
{
/* [371] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(54),
+ /* const_eval_fn */ ConstEvalFunctionIndex(39),
},
{
/* [372] */
@@ -9511,9 +9679,9 @@
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(22),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
},
{
/* [373] */
@@ -9524,61 +9692,61 @@
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(24),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(55),
+ /* const_eval_fn */ ConstEvalFunctionIndex(41),
},
{
/* [374] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(28),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ /* const_eval_fn */ ConstEvalFunctionIndex(48),
},
{
/* [375] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(28),
+ /* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(58),
+ /* const_eval_fn */ ConstEvalFunctionIndex(48),
},
{
/* [376] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* parameters */ ParameterIndex(368),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(15),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ /* const_eval_fn */ ConstEvalFunctionIndex(49),
},
{
/* [377] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
- /* num_template_types */ 1,
+ /* num_template_types */ 0,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* parameters */ ParameterIndex(369),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(14),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(59),
+ /* const_eval_fn */ ConstEvalFunctionIndex(49),
},
{
/* [378] */
@@ -9591,7 +9759,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ /* const_eval_fn */ ConstEvalFunctionIndex(50),
},
{
/* [379] */
@@ -9604,33 +9772,33 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(60),
+ /* const_eval_fn */ ConstEvalFunctionIndex(50),
},
{
/* [380] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ /* const_eval_fn */ ConstEvalFunctionIndex(53),
},
{
/* [381] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(26),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(221),
+ /* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ /* const_eval_fn */ ConstEvalFunctionIndex(53),
},
{
/* [382] */
@@ -9643,7 +9811,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ /* const_eval_fn */ ConstEvalFunctionIndex(54),
},
{
/* [383] */
@@ -9656,12 +9824,12 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ /* const_eval_fn */ ConstEvalFunctionIndex(54),
},
{
/* [384] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(10),
@@ -9669,12 +9837,12 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
},
{
/* [385] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
@@ -9682,7 +9850,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ /* const_eval_fn */ ConstEvalFunctionIndex(55),
},
{
/* [386] */
@@ -9690,12 +9858,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(28),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ /* const_eval_fn */ ConstEvalFunctionIndex(58),
},
{
/* [387] */
@@ -9703,12 +9871,12 @@
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(10),
+ /* template_types */ TemplateTypeIndex(28),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ /* const_eval_fn */ ConstEvalFunctionIndex(58),
},
{
/* [388] */
@@ -9721,7 +9889,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ /* const_eval_fn */ ConstEvalFunctionIndex(59),
},
{
/* [389] */
@@ -9734,7 +9902,7 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ /* const_eval_fn */ ConstEvalFunctionIndex(59),
},
{
/* [390] */
@@ -9747,7 +9915,7 @@
/* parameters */ ParameterIndex(1),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
},
{
/* [391] */
@@ -9760,11 +9928,167 @@
/* parameters */ ParameterIndex(149),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ /* const_eval_fn */ ConstEvalFunctionIndex(60),
},
{
/* [392] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [393] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(221),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(61),
+ },
+ {
+ /* [394] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [395] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(62),
+ },
+ {
+ /* [396] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ },
+ {
+ /* [397] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(63),
+ },
+ {
+ /* [398] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ },
+ {
+ /* [399] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(64),
+ },
+ {
+ /* [400] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [401] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(65),
+ },
+ {
+ /* [402] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [403] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(10),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(67),
+ },
+ {
+ /* [404] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
@@ -9776,7 +10100,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [393] */
+ /* [405] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -9789,7 +10113,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [394] */
+ /* [406] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 0,
@@ -9802,7 +10126,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [395] */
+ /* [407] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 0,
@@ -9815,7 +10139,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [396] */
+ /* [408] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -9828,7 +10152,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(74),
},
{
- /* [397] */
+ /* [409] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -9841,212 +10165,56 @@
/* const_eval_fn */ ConstEvalFunctionIndex(74),
},
{
- /* [398] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(75),
- },
- {
- /* [399] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(75),
- },
- {
- /* [400] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(76),
- },
- {
- /* [401] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(28),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(76),
- },
- {
- /* [402] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [403] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(29),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(85),
- },
- {
- /* [404] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [405] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(90),
- },
- {
- /* [406] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [407] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(27),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(91),
- },
- {
- /* [408] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
- /* [409] */
- /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
- /* num_template_types */ 1,
- /* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
- /* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
- /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(92),
- },
- {
/* [410] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(29),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ /* const_eval_fn */ ConstEvalFunctionIndex(75),
},
{
/* [411] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(29),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ /* const_eval_fn */ ConstEvalFunctionIndex(75),
},
{
/* [412] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(28),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ /* const_eval_fn */ ConstEvalFunctionIndex(76),
},
{
/* [413] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 2,
+ /* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
- /* template_types */ TemplateTypeIndex(24),
+ /* template_types */ TemplateTypeIndex(28),
/* template_numbers */ TemplateNumberIndex(4),
/* parameters */ ParameterIndex(149),
- /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
- /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ /* const_eval_fn */ ConstEvalFunctionIndex(76),
},
{
/* [414] */
@@ -10054,6 +10222,162 @@
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(29),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [415] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(29),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(85),
+ },
+ {
+ /* [416] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [417] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(90),
+ },
+ {
+ /* [418] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [419] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(27),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(91),
+ },
+ {
+ /* [420] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [421] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(92),
+ },
+ {
+ /* [422] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [423] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(93),
+ },
+ {
+ /* [424] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(/* invalid */),
+ /* parameters */ ParameterIndex(1),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(9),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [425] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 1,
+ /* template_types */ TemplateTypeIndex(24),
+ /* template_numbers */ TemplateNumberIndex(4),
+ /* parameters */ ParameterIndex(149),
+ /* return_type_matcher_indices */ TypeMatcherIndicesIndex(8),
+ /* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(94),
+ },
+ {
+ /* [426] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
+ /* num_template_types */ 1,
+ /* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(24),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
/* parameters */ ParameterIndex(1),
@@ -10062,7 +10386,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(95),
},
{
- /* [415] */
+ /* [427] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10075,7 +10399,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(95),
},
{
- /* [416] */
+ /* [428] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10088,20 +10412,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(96),
},
{
- /* [417] */
+ /* [429] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(29),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(322),
+ /* parameters */ ParameterIndex(349),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(96),
},
{
- /* [418] */
+ /* [430] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10114,33 +10438,33 @@
/* const_eval_fn */ ConstEvalFunctionIndex(97),
},
{
- /* [419] */
+ /* [431] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(29),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(322),
+ /* parameters */ ParameterIndex(349),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(6),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(97),
},
{
- /* [420] */
+ /* [432] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(25),
/* template_numbers */ TemplateNumberIndex(8),
- /* parameters */ ParameterIndex(339),
+ /* parameters */ ParameterIndex(366),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [421] */
+ /* [433] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10153,20 +10477,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(17),
},
{
- /* [422] */
+ /* [434] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 1,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(4),
- /* parameters */ ParameterIndex(340),
+ /* parameters */ ParameterIndex(367),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(19),
},
{
- /* [423] */
+ /* [435] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10179,7 +10503,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(21),
},
{
- /* [424] */
+ /* [436] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -10192,7 +10516,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [425] */
+ /* [437] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -10205,7 +10529,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [426] */
+ /* [438] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -10218,7 +10542,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(25),
},
{
- /* [427] */
+ /* [439] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -10231,72 +10555,72 @@
/* const_eval_fn */ ConstEvalFunctionIndex(42),
},
{
- /* [428] */
+ /* [440] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(343),
+ /* parameters */ ParameterIndex(370),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(43),
},
{
- /* [429] */
+ /* [441] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(343),
+ /* parameters */ ParameterIndex(370),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(44),
},
{
- /* [430] */
+ /* [442] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(343),
+ /* parameters */ ParameterIndex(370),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(45),
},
{
- /* [431] */
+ /* [443] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(344),
+ /* parameters */ ParameterIndex(371),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(46),
},
{
- /* [432] */
+ /* [444] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(/* invalid */),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(344),
+ /* parameters */ ParameterIndex(371),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(35),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(47),
},
{
- /* [433] */
+ /* [445] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10309,7 +10633,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(51),
},
{
- /* [434] */
+ /* [446] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -10322,7 +10646,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(52),
},
{
- /* [435] */
+ /* [447] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -10335,20 +10659,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [436] */
+ /* [448] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 2,
/* template_types */ TemplateTypeIndex(10),
/* template_numbers */ TemplateNumberIndex(3),
- /* parameters */ ParameterIndex(324),
+ /* parameters */ ParameterIndex(351),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(12),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(66),
},
{
- /* [437] */
+ /* [449] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -10361,7 +10685,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(68),
},
{
- /* [438] */
+ /* [450] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -10374,7 +10698,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(69),
},
{
- /* [439] */
+ /* [451] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -10387,7 +10711,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(70),
},
{
- /* [440] */
+ /* [452] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -10400,7 +10724,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(71),
},
{
- /* [441] */
+ /* [453] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 0,
@@ -10413,20 +10737,20 @@
/* const_eval_fn */ ConstEvalFunctionIndex(72),
},
{
- /* [442] */
+ /* [454] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
/* num_template_numbers */ 0,
/* template_types */ TemplateTypeIndex(25),
/* template_numbers */ TemplateNumberIndex(/* invalid */),
- /* parameters */ ParameterIndex(345),
+ /* parameters */ ParameterIndex(372),
/* return_type_matcher_indices */ TypeMatcherIndicesIndex(2),
/* return_number_matcher_indices */ NumberMatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [443] */
+ /* [455] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -10439,7 +10763,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [444] */
+ /* [456] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10452,7 +10776,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [445] */
+ /* [457] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_template_types */ 1,
@@ -10465,7 +10789,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [446] */
+ /* [458] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_template_types */ 1,
@@ -10478,7 +10802,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [447] */
+ /* [459] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 0,
/* num_template_types */ 0,
@@ -10491,7 +10815,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [448] */
+ /* [460] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -10504,7 +10828,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(73),
},
{
- /* [449] */
+ /* [461] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -10517,7 +10841,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(88),
},
{
- /* [450] */
+ /* [462] */
/* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_template_types */ 0,
@@ -10530,7 +10854,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(89),
},
{
- /* [451] */
+ /* [463] */
/* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_template_types */ 1,
@@ -10553,357 +10877,357 @@
/* fn abs<T : fia_fiu32_f16>(T) -> T */
/* fn abs<N : num, T : fia_fiu32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(286),
+ /* overloads */ OverloadIndex(298),
},
{
/* [1] */
/* fn acos<T : fa_f32_f16>(@test_value(0.96891242171) T) -> T */
/* fn acos<N : num, T : fa_f32_f16>(@test_value(0.96891242171) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(288),
+ /* overloads */ OverloadIndex(300),
},
{
/* [2] */
/* fn acosh<T : fa_f32_f16>(@test_value(1.5430806348) T) -> T */
/* fn acosh<N : num, T : fa_f32_f16>(@test_value(1.5430806348) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(290),
+ /* overloads */ OverloadIndex(302),
},
{
/* [3] */
/* fn all(bool) -> bool */
/* fn all<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(292),
+ /* overloads */ OverloadIndex(304),
},
{
/* [4] */
/* fn any(bool) -> bool */
/* fn any<N : num>(vec<N, bool>) -> bool */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(294),
+ /* overloads */ OverloadIndex(306),
},
{
/* [5] */
/* fn arrayLength<T, A : access>(ptr<storage, array<T>, A>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(420),
+ /* overloads */ OverloadIndex(432),
},
{
/* [6] */
/* fn asin<T : fa_f32_f16>(@test_value(0.479425538604) T) -> T */
/* fn asin<N : num, T : fa_f32_f16>(@test_value(0.479425538604) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(296),
+ /* overloads */ OverloadIndex(308),
},
{
/* [7] */
/* fn asinh<T : fa_f32_f16>(T) -> T */
/* fn asinh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(298),
+ /* overloads */ OverloadIndex(310),
},
{
/* [8] */
/* fn atan<T : fa_f32_f16>(T) -> T */
/* fn atan<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(300),
+ /* overloads */ OverloadIndex(312),
},
{
/* [9] */
/* fn atan2<T : fa_f32_f16>(T, T) -> T */
/* fn atan2<T : fa_f32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(302),
+ /* overloads */ OverloadIndex(314),
},
{
/* [10] */
/* fn atanh<T : fa_f32_f16>(@test_value(0.5) T) -> T */
/* fn atanh<N : num, T : fa_f32_f16>(@test_value(0.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(304),
+ /* overloads */ OverloadIndex(316),
},
{
/* [11] */
/* fn ceil<T : fa_f32_f16>(@test_value(1.5) T) -> T */
/* fn ceil<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(306),
+ /* overloads */ OverloadIndex(318),
},
{
/* [12] */
/* fn clamp<T : fia_fiu32_f16>(T, T, T) -> T */
/* fn clamp<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(308),
+ /* overloads */ OverloadIndex(320),
},
{
/* [13] */
/* fn cos<T : fa_f32_f16>(@test_value(0) T) -> T */
/* fn cos<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(310),
+ /* overloads */ OverloadIndex(322),
},
{
/* [14] */
/* fn cosh<T : fa_f32_f16>(@test_value(0) T) -> T */
/* fn cosh<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(312),
+ /* overloads */ OverloadIndex(324),
},
{
/* [15] */
/* fn countLeadingZeros<T : iu32>(T) -> T */
/* fn countLeadingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(314),
+ /* overloads */ OverloadIndex(326),
},
{
/* [16] */
/* fn countOneBits<T : iu32>(T) -> T */
/* fn countOneBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(316),
+ /* overloads */ OverloadIndex(328),
},
{
/* [17] */
/* fn countTrailingZeros<T : iu32>(T) -> T */
/* fn countTrailingZeros<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(318),
+ /* overloads */ OverloadIndex(330),
},
{
/* [18] */
/* fn cross<T : fa_f32_f16>(vec3<T>, vec3<T>) -> vec3<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(421),
+ /* overloads */ OverloadIndex(433),
},
{
/* [19] */
/* fn degrees<T : fa_f32_f16>(T) -> T */
/* fn degrees<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(320),
+ /* overloads */ OverloadIndex(332),
},
{
/* [20] */
/* fn determinant<N : num, T : fa_f32_f16>(mat<N, N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(422),
+ /* overloads */ OverloadIndex(434),
},
{
/* [21] */
/* fn distance<T : fa_f32_f16>(T, T) -> T */
/* fn distance<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(322),
+ /* overloads */ OverloadIndex(334),
},
{
/* [22] */
/* fn dot<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(423),
+ /* overloads */ OverloadIndex(435),
},
{
/* [23] */
/* fn dot4I8Packed(u32, u32) -> i32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(424),
+ /* overloads */ OverloadIndex(436),
},
{
/* [24] */
/* fn dot4U8Packed(u32, u32) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(425),
+ /* overloads */ OverloadIndex(437),
},
{
/* [25] */
/* fn dpdx(f32) -> f32 */
/* fn dpdx<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [26] */
/* fn dpdxCoarse(f32) -> f32 */
/* fn dpdxCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [27] */
/* fn dpdxFine(f32) -> f32 */
/* fn dpdxFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [28] */
/* fn dpdy(f32) -> f32 */
/* fn dpdy<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [29] */
/* fn dpdyCoarse(f32) -> f32 */
/* fn dpdyCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [30] */
/* fn dpdyFine(f32) -> f32 */
/* fn dpdyFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [31] */
/* fn exp<T : fa_f32_f16>(T) -> T */
/* fn exp<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(326),
+ /* overloads */ OverloadIndex(338),
},
{
/* [32] */
/* fn exp2<T : fa_f32_f16>(T) -> T */
/* fn exp2<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(328),
+ /* overloads */ OverloadIndex(340),
},
{
/* [33] */
/* fn extractBits<T : iu32>(T, u32, u32) -> T */
/* fn extractBits<N : num, T : iu32>(vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(330),
+ /* overloads */ OverloadIndex(342),
},
{
/* [34] */
/* fn faceForward<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(426),
+ /* overloads */ OverloadIndex(438),
},
{
/* [35] */
/* fn firstLeadingBit<T : iu32>(T) -> T */
/* fn firstLeadingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(332),
+ /* overloads */ OverloadIndex(344),
},
{
/* [36] */
/* fn firstTrailingBit<T : iu32>(T) -> T */
/* fn firstTrailingBit<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(334),
+ /* overloads */ OverloadIndex(346),
},
{
/* [37] */
/* fn floor<T : fa_f32_f16>(@test_value(1.5) T) -> T */
/* fn floor<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(336),
+ /* overloads */ OverloadIndex(348),
},
{
/* [38] */
/* fn fma<T : fa_f32_f16>(T, T, T) -> T */
/* fn fma<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(338),
+ /* overloads */ OverloadIndex(350),
},
{
/* [39] */
/* fn fract<T : fa_f32_f16>(@test_value(1.25) T) -> T */
/* fn fract<N : num, T : fa_f32_f16>(@test_value(1.25) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(340),
+ /* overloads */ OverloadIndex(352),
},
{
/* [40] */
/* fn frexp<T : fa_f32_f16>(T) -> __frexp_result<T> */
/* fn frexp<N : num, T : fa_f32_f16>(vec<N, T>) -> __frexp_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(342),
+ /* overloads */ OverloadIndex(354),
},
{
/* [41] */
/* fn fwidth(f32) -> f32 */
/* fn fwidth<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [42] */
/* fn fwidthCoarse(f32) -> f32 */
/* fn fwidthCoarse<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [43] */
/* fn fwidthFine(f32) -> f32 */
/* fn fwidthFine<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(324),
+ /* overloads */ OverloadIndex(336),
},
{
/* [44] */
/* fn insertBits<T : iu32>(T, T, u32, u32) -> T */
/* fn insertBits<N : num, T : iu32>(vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(344),
+ /* overloads */ OverloadIndex(356),
},
{
/* [45] */
/* fn inverseSqrt<T : fa_f32_f16>(T) -> T */
/* fn inverseSqrt<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(346),
+ /* overloads */ OverloadIndex(358),
},
{
/* [46] */
/* fn ldexp<T : fa_f32_f16, U : ia_i32>(T, U) -> T */
/* fn ldexp<N : num, T : fa_f32_f16, U : ia_i32>(vec<N, T>, vec<N, U>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(348),
+ /* overloads */ OverloadIndex(360),
},
{
/* [47] */
/* fn length<T : fa_f32_f16>(@test_value(0) T) -> T */
/* fn length<N : num, T : fa_f32_f16>(@test_value(0) vec<N, T>) -> T */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(350),
+ /* overloads */ OverloadIndex(362),
},
{
/* [48] */
/* fn log<T : fa_f32_f16>(T) -> T */
/* fn log<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(352),
+ /* overloads */ OverloadIndex(364),
},
{
/* [49] */
/* fn log2<T : fa_f32_f16>(T) -> T */
/* fn log2<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(354),
+ /* overloads */ OverloadIndex(366),
},
{
/* [50] */
/* fn max<T : fia_fiu32_f16>(T, T) -> T */
/* fn max<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(356),
+ /* overloads */ OverloadIndex(368),
},
{
/* [51] */
/* fn min<T : fia_fiu32_f16>(T, T) -> T */
/* fn min<N : num, T : fia_fiu32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(358),
+ /* overloads */ OverloadIndex(370),
},
{
/* [52] */
@@ -10911,104 +11235,104 @@
/* fn mix<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
/* fn mix<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(265),
+ /* overloads */ OverloadIndex(277),
},
{
/* [53] */
/* fn modf<T : fa_f32_f16>(@test_value(-1.5) T) -> __modf_result<T> */
/* fn modf<N : num, T : fa_f32_f16>(@test_value(-1.5) vec<N, T>) -> __modf_result_vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(360),
+ /* overloads */ OverloadIndex(372),
},
{
/* [54] */
/* fn normalize<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(427),
+ /* overloads */ OverloadIndex(439),
},
{
/* [55] */
/* fn pack2x16float(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(428),
+ /* overloads */ OverloadIndex(440),
},
{
/* [56] */
/* fn pack2x16snorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(429),
+ /* overloads */ OverloadIndex(441),
},
{
/* [57] */
/* fn pack2x16unorm(vec2<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(430),
+ /* overloads */ OverloadIndex(442),
},
{
/* [58] */
/* fn pack4x8snorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(431),
+ /* overloads */ OverloadIndex(443),
},
{
/* [59] */
/* fn pack4x8unorm(vec4<f32>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(432),
+ /* overloads */ OverloadIndex(444),
},
{
/* [60] */
/* fn pow<T : fa_f32_f16>(T, T) -> T */
/* fn pow<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(362),
+ /* overloads */ OverloadIndex(374),
},
{
/* [61] */
/* fn quantizeToF16(f32) -> f32 */
/* fn quantizeToF16<N : num>(vec<N, f32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(364),
+ /* overloads */ OverloadIndex(376),
},
{
/* [62] */
/* fn radians<T : fa_f32_f16>(T) -> T */
/* fn radians<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(366),
+ /* overloads */ OverloadIndex(378),
},
{
/* [63] */
/* fn reflect<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(433),
+ /* overloads */ OverloadIndex(445),
},
{
/* [64] */
/* fn refract<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>, T) -> vec<N, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(434),
+ /* overloads */ OverloadIndex(446),
},
{
/* [65] */
/* fn reverseBits<T : iu32>(T) -> T */
/* fn reverseBits<N : num, T : iu32>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(368),
+ /* overloads */ OverloadIndex(380),
},
{
/* [66] */
/* fn round<T : fa_f32_f16>(@test_value(3.5) T) -> T */
/* fn round<N : num, T : fa_f32_f16>(@test_value(3.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(370),
+ /* overloads */ OverloadIndex(382),
},
{
/* [67] */
/* fn saturate<T : fa_f32_f16>(@test_value(2) T) -> T */
/* fn saturate<T : fa_f32_f16, N : num>(@test_value(2) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(372),
+ /* overloads */ OverloadIndex(384),
},
{
/* [68] */
@@ -11016,124 +11340,124 @@
/* fn select<T : scalar, N : num>(vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
/* fn select<N : num, T : scalar>(vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(268),
+ /* overloads */ OverloadIndex(280),
},
{
/* [69] */
/* fn sign<T : fia_fi32_f16>(T) -> T */
/* fn sign<N : num, T : fia_fi32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(374),
+ /* overloads */ OverloadIndex(386),
},
{
/* [70] */
/* fn sin<T : fa_f32_f16>(@test_value(1.57079632679) T) -> T */
/* fn sin<N : num, T : fa_f32_f16>(@test_value(1.57079632679) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(376),
+ /* overloads */ OverloadIndex(388),
},
{
/* [71] */
/* fn sinh<T : fa_f32_f16>(T) -> T */
/* fn sinh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(378),
+ /* overloads */ OverloadIndex(390),
},
{
/* [72] */
/* fn smoothstep<T : fa_f32_f16>(@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */
/* fn smoothstep<N : num, T : fa_f32_f16>(@test_value(2) vec<N, T>, @test_value(4) vec<N, T>, @test_value(3) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(380),
+ /* overloads */ OverloadIndex(392),
},
{
/* [73] */
/* fn sqrt<T : fa_f32_f16>(T) -> T */
/* fn sqrt<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(382),
+ /* overloads */ OverloadIndex(394),
},
{
/* [74] */
/* fn step<T : fa_f32_f16>(T, T) -> T */
/* fn step<N : num, T : fa_f32_f16>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(384),
+ /* overloads */ OverloadIndex(396),
},
{
/* [75] */
/* fn storageBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(435),
+ /* overloads */ OverloadIndex(447),
},
{
/* [76] */
/* fn tan<T : fa_f32_f16>(T) -> T */
/* fn tan<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(386),
+ /* overloads */ OverloadIndex(398),
},
{
/* [77] */
/* fn tanh<T : fa_f32_f16>(T) -> T */
/* fn tanh<N : num, T : fa_f32_f16>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(388),
+ /* overloads */ OverloadIndex(400),
},
{
/* [78] */
/* fn transpose<M : num, N : num, T : fa_f32_f16>(mat<M, N, T>) -> mat<N, M, T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(436),
+ /* overloads */ OverloadIndex(448),
},
{
/* [79] */
/* fn trunc<T : fa_f32_f16>(@test_value(1.5) T) -> T */
/* fn trunc<N : num, T : fa_f32_f16>(@test_value(1.5) vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(390),
+ /* overloads */ OverloadIndex(402),
},
{
/* [80] */
/* fn unpack2x16float(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(437),
+ /* overloads */ OverloadIndex(449),
},
{
/* [81] */
/* fn unpack2x16snorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(438),
+ /* overloads */ OverloadIndex(450),
},
{
/* [82] */
/* fn unpack2x16unorm(u32) -> vec2<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(439),
+ /* overloads */ OverloadIndex(451),
},
{
/* [83] */
/* fn unpack4x8snorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(440),
+ /* overloads */ OverloadIndex(452),
},
{
/* [84] */
/* fn unpack4x8unorm(u32) -> vec4<f32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(441),
+ /* overloads */ OverloadIndex(453),
},
{
/* [85] */
/* fn workgroupBarrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(435),
+ /* overloads */ OverloadIndex(447),
},
{
/* [86] */
/* fn workgroupUniformLoad<T>(ptr<workgroup, T, read_write>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(442),
+ /* overloads */ OverloadIndex(454),
},
{
/* [87] */
@@ -11182,7 +11506,7 @@
/* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
/* fn textureGather<A : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<f32> */
/* num overloads */ 12,
- /* overloads */ OverloadIndex(72),
+ /* overloads */ OverloadIndex(93),
},
{
/* [89] */
@@ -11193,7 +11517,7 @@
/* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32> */
/* fn textureGatherCompare<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(162),
+ /* overloads */ OverloadIndex(174),
},
{
/* [90] */
@@ -11203,7 +11527,7 @@
/* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */
/* fn textureNumLayers<F : texel_format, A : write>(texture: texture_storage_2d_array<F, A>) -> u32 */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(234),
+ /* overloads */ OverloadIndex(246),
},
{
/* [91] */
@@ -11218,14 +11542,14 @@
/* fn textureNumLevels(texture: texture_depth_cube) -> u32 */
/* fn textureNumLevels(texture: texture_depth_cube_array) -> u32 */
/* num overloads */ 10,
- /* overloads */ OverloadIndex(108),
+ /* overloads */ OverloadIndex(129),
},
{
/* [92] */
/* fn textureNumSamples<T : fiu32>(texture: texture_multisampled_2d<T>) -> u32 */
/* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(392),
+ /* overloads */ OverloadIndex(404),
},
{
/* [93] */
@@ -11245,7 +11569,7 @@
/* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> f32 */
/* fn textureSample<A : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> f32 */
/* num overloads */ 15,
- /* overloads */ OverloadIndex(43),
+ /* overloads */ OverloadIndex(64),
},
{
/* [94] */
@@ -11258,7 +11582,7 @@
/* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
/* fn textureSampleBias<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, bias: f32) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ OverloadIndex(146),
+ /* overloads */ OverloadIndex(158),
},
{
/* [95] */
@@ -11269,7 +11593,7 @@
/* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompare<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(168),
+ /* overloads */ OverloadIndex(180),
},
{
/* [96] */
@@ -11280,7 +11604,7 @@
/* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
/* fn textureSampleCompareLevel<A : iu32>(texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(174),
+ /* overloads */ OverloadIndex(186),
},
{
/* [97] */
@@ -11293,7 +11617,7 @@
/* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* fn textureSampleGrad<A : iu32>(texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ OverloadIndex(154),
+ /* overloads */ OverloadIndex(166),
},
{
/* [98] */
@@ -11312,14 +11636,14 @@
/* fn textureSampleLevel<L : iu32>(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>, level: L) -> f32 */
/* fn textureSampleLevel<A : iu32, L : iu32>(texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A, level: L) -> f32 */
/* num overloads */ 14,
- /* overloads */ OverloadIndex(58),
+ /* overloads */ OverloadIndex(79),
},
{
/* [99] */
/* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(394),
+ /* overloads */ OverloadIndex(406),
},
{
/* [100] */
@@ -11336,7 +11660,7 @@
/* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<C>, array_index: A, value: vec4<u32>) */
/* fn textureStore<C : iu32>(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<C>, value: vec4<u32>) */
/* num overloads */ 12,
- /* overloads */ OverloadIndex(84),
+ /* overloads */ OverloadIndex(105),
},
{
/* [101] */
@@ -11349,86 +11673,98 @@
/* fn textureLoad<C : iu32, A : iu32, L : iu32>(texture: texture_depth_2d_array, coords: vec2<C>, array_index: A, level: L) -> f32 */
/* fn textureLoad<C : iu32, S : iu32>(texture: texture_depth_multisampled_2d, coords: vec2<C>, sample_index: S) -> f32 */
/* fn textureLoad<C : iu32>(texture: texture_external, coords: vec2<C>) -> vec4<f32> */
- /* num overloads */ 9,
- /* overloads */ OverloadIndex(128),
+ /* fn textureLoad<C : iu32>(texture: texture_storage_1d<f32_texel_format, read_write>, coords: C) -> vec4<f32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_1d<i32_texel_format, read_write>, coords: C) -> vec4<i32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_1d<u32_texel_format, read_write>, coords: C) -> vec4<u32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_2d<f32_texel_format, read_write>, coords: vec2<C>) -> vec4<f32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_2d<i32_texel_format, read_write>, coords: vec2<C>) -> vec4<i32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_2d<u32_texel_format, read_write>, coords: vec2<C>) -> vec4<u32> */
+ /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<f32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<f32> */
+ /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<i32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<i32> */
+ /* fn textureLoad<C : iu32, A : iu32>(texture: texture_storage_2d_array<u32_texel_format, read_write>, coords: vec2<C>, array_index: A) -> vec4<u32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_3d<f32_texel_format, read_write>, coords: vec3<C>) -> vec4<f32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_3d<i32_texel_format, read_write>, coords: vec3<C>) -> vec4<i32> */
+ /* fn textureLoad<C : iu32>(texture: texture_storage_3d<u32_texel_format, read_write>, coords: vec3<C>) -> vec4<u32> */
+ /* num overloads */ 21,
+ /* overloads */ OverloadIndex(27),
},
{
/* [102] */
/* fn atomicLoad<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(443),
+ /* overloads */ OverloadIndex(455),
},
{
/* [103] */
/* fn atomicStore<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(444),
+ /* overloads */ OverloadIndex(456),
},
{
/* [104] */
/* fn atomicAdd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [105] */
/* fn atomicSub<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [106] */
/* fn atomicMax<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [107] */
/* fn atomicMin<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [108] */
/* fn atomicAnd<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [109] */
/* fn atomicOr<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [110] */
/* fn atomicXor<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [111] */
/* fn atomicExchange<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(445),
+ /* overloads */ OverloadIndex(457),
},
{
/* [112] */
/* fn atomicCompareExchangeWeak<T : iu32, S : workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(446),
+ /* overloads */ OverloadIndex(458),
},
{
/* [113] */
/* fn subgroupBallot() -> vec4<u32> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(447),
+ /* overloads */ OverloadIndex(459),
},
{
/* [114] */
/* fn _tint_materialize<T>(T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(448),
+ /* overloads */ OverloadIndex(460),
},
};
@@ -11438,21 +11774,21 @@
/* op !(bool) -> bool */
/* op !<N : num>(vec<N, bool>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(396),
+ /* overloads */ OverloadIndex(408),
},
{
/* [1] */
/* op ~<T : ia_iu32>(T) -> T */
/* op ~<T : ia_iu32, N : num>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(398),
+ /* overloads */ OverloadIndex(410),
},
{
/* [2] */
/* op -<T : fia_fi32_f16>(T) -> T */
/* op -<T : fia_fi32_f16, N : num>(vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(400),
+ /* overloads */ OverloadIndex(412),
},
};
constexpr uint8_t kUnaryOperatorNot = 0;
@@ -11468,7 +11804,7 @@
/* op +<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
/* op +<T : fa_f32_f16, N : num, M : num>(mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(239),
+ /* overloads */ OverloadIndex(251),
},
{
/* [1] */
@@ -11478,7 +11814,7 @@
/* op -<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
/* op -<T : fa_f32_f16, N : num, M : num>(mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
/* num overloads */ 5,
- /* overloads */ OverloadIndex(244),
+ /* overloads */ OverloadIndex(256),
},
{
/* [2] */
@@ -11492,7 +11828,7 @@
/* op *<T : fa_f32_f16, C : num, R : num>(vec<R, T>, mat<C, R, T>) -> vec<C, T> */
/* op *<T : fa_f32_f16, K : num, C : num, R : num>(mat<K, R, T>, mat<C, K, T>) -> mat<C, R, T> */
/* num overloads */ 9,
- /* overloads */ OverloadIndex(137),
+ /* overloads */ OverloadIndex(149),
},
{
/* [3] */
@@ -11501,7 +11837,7 @@
/* op /<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
/* op /<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(249),
+ /* overloads */ OverloadIndex(261),
},
{
/* [4] */
@@ -11510,14 +11846,14 @@
/* op %<T : fia_fiu32_f16, N : num>(vec<N, T>, T) -> vec<N, T> */
/* op %<T : fia_fiu32_f16, N : num>(T, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(253),
+ /* overloads */ OverloadIndex(265),
},
{
/* [5] */
/* op ^<T : ia_iu32>(T, T) -> T */
/* op ^<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(402),
+ /* overloads */ OverloadIndex(414),
},
{
/* [6] */
@@ -11526,7 +11862,7 @@
/* op &<T : ia_iu32>(T, T) -> T */
/* op &<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(257),
+ /* overloads */ OverloadIndex(269),
},
{
/* [7] */
@@ -11535,75 +11871,75 @@
/* op |<T : ia_iu32>(T, T) -> T */
/* op |<T : ia_iu32, N : num>(vec<N, T>, vec<N, T>) -> vec<N, T> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(261),
+ /* overloads */ OverloadIndex(273),
},
{
/* [8] */
/* op &&(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(449),
+ /* overloads */ OverloadIndex(461),
},
{
/* [9] */
/* op ||(bool, bool) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(450),
+ /* overloads */ OverloadIndex(462),
},
{
/* [10] */
/* op ==<T : scalar>(T, T) -> bool */
/* op ==<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(404),
+ /* overloads */ OverloadIndex(416),
},
{
/* [11] */
/* op !=<T : scalar>(T, T) -> bool */
/* op !=<T : scalar, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(406),
+ /* overloads */ OverloadIndex(418),
},
{
/* [12] */
/* op <<T : fia_fiu32_f16>(T, T) -> bool */
/* op <<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(408),
+ /* overloads */ OverloadIndex(420),
},
{
/* [13] */
/* op ><T : fia_fiu32_f16>(T, T) -> bool */
/* op ><T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(410),
+ /* overloads */ OverloadIndex(422),
},
{
/* [14] */
/* op <=<T : fia_fiu32_f16>(T, T) -> bool */
/* op <=<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(412),
+ /* overloads */ OverloadIndex(424),
},
{
/* [15] */
/* op >=<T : fia_fiu32_f16>(T, T) -> bool */
/* op >=<T : fia_fiu32_f16, N : num>(vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(414),
+ /* overloads */ OverloadIndex(426),
},
{
/* [16] */
/* op <<<T : ia_iu32>(T, u32) -> T */
/* op <<<T : ia_iu32, N : num>(vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(416),
+ /* overloads */ OverloadIndex(428),
},
{
/* [17] */
/* op >><T : ia_iu32>(T, u32) -> T */
/* op >><T : ia_iu32, N : num>(vec<N, T>, vec<N, u32>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(418),
+ /* overloads */ OverloadIndex(430),
},
};
constexpr uint8_t kBinaryOperatorPlus = 0;
@@ -11632,7 +11968,7 @@
/* ctor i32(i32) -> i32 */
/* conv i32<T : scalar_no_i32>(T) -> i32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(271),
+ /* overloads */ OverloadIndex(283),
},
{
/* [1] */
@@ -11640,7 +11976,7 @@
/* ctor u32(u32) -> u32 */
/* conv u32<T : scalar_no_u32>(T) -> u32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(274),
+ /* overloads */ OverloadIndex(286),
},
{
/* [2] */
@@ -11648,7 +11984,7 @@
/* ctor f32(f32) -> f32 */
/* conv f32<T : scalar_no_f32>(T) -> f32 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(277),
+ /* overloads */ OverloadIndex(289),
},
{
/* [3] */
@@ -11656,7 +11992,7 @@
/* ctor f16(f16) -> f16 */
/* conv f16<T : scalar_no_f16>(T) -> f16 */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(280),
+ /* overloads */ OverloadIndex(292),
},
{
/* [4] */
@@ -11664,7 +12000,7 @@
/* ctor bool(bool) -> bool */
/* conv bool<T : scalar_no_bool>(T) -> bool */
/* num overloads */ 3,
- /* overloads */ OverloadIndex(283),
+ /* overloads */ OverloadIndex(295),
},
{
/* [5] */
@@ -11679,7 +12015,7 @@
/* conv vec2<T : u32, U : scalar_no_u32>(vec2<U>) -> vec2<u32> */
/* conv vec2<T : bool, U : scalar_no_bool>(vec2<U>) -> vec2<bool> */
/* num overloads */ 10,
- /* overloads */ OverloadIndex(118),
+ /* overloads */ OverloadIndex(139),
},
{
/* [6] */
@@ -11696,7 +12032,7 @@
/* conv vec3<T : u32, U : scalar_no_u32>(vec3<U>) -> vec3<u32> */
/* conv vec3<T : bool, U : scalar_no_bool>(vec3<U>) -> vec3<bool> */
/* num overloads */ 12,
- /* overloads */ OverloadIndex(96),
+ /* overloads */ OverloadIndex(117),
},
{
/* [7] */
@@ -11717,7 +12053,7 @@
/* conv vec4<T : u32, U : scalar_no_u32>(vec4<U>) -> vec4<u32> */
/* conv vec4<T : bool, U : scalar_no_bool>(vec4<U>) -> vec4<bool> */
/* num overloads */ 16,
- /* overloads */ OverloadIndex(27),
+ /* overloads */ OverloadIndex(48),
},
{
/* [8] */
@@ -11728,7 +12064,7 @@
/* conv mat2x2<T : f16>(mat2x2<f32>) -> mat2x2<f16> */
/* conv mat2x2<T : f32>(mat2x2<f16>) -> mat2x2<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(180),
+ /* overloads */ OverloadIndex(192),
},
{
/* [9] */
@@ -11739,7 +12075,7 @@
/* conv mat2x3<T : f16>(mat2x3<f32>) -> mat2x3<f16> */
/* conv mat2x3<T : f32>(mat2x3<f16>) -> mat2x3<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(186),
+ /* overloads */ OverloadIndex(198),
},
{
/* [10] */
@@ -11750,7 +12086,7 @@
/* conv mat2x4<T : f16>(mat2x4<f32>) -> mat2x4<f16> */
/* conv mat2x4<T : f32>(mat2x4<f16>) -> mat2x4<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(192),
+ /* overloads */ OverloadIndex(204),
},
{
/* [11] */
@@ -11761,7 +12097,7 @@
/* conv mat3x2<T : f16>(mat3x2<f32>) -> mat3x2<f16> */
/* conv mat3x2<T : f32>(mat3x2<f16>) -> mat3x2<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(198),
+ /* overloads */ OverloadIndex(210),
},
{
/* [12] */
@@ -11772,7 +12108,7 @@
/* conv mat3x3<T : f16>(mat3x3<f32>) -> mat3x3<f16> */
/* conv mat3x3<T : f32>(mat3x3<f16>) -> mat3x3<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(204),
+ /* overloads */ OverloadIndex(216),
},
{
/* [13] */
@@ -11783,7 +12119,7 @@
/* conv mat3x4<T : f16>(mat3x4<f32>) -> mat3x4<f16> */
/* conv mat3x4<T : f32>(mat3x4<f16>) -> mat3x4<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(210),
+ /* overloads */ OverloadIndex(222),
},
{
/* [14] */
@@ -11794,7 +12130,7 @@
/* conv mat4x2<T : f16>(mat4x2<f32>) -> mat4x2<f16> */
/* conv mat4x2<T : f32>(mat4x2<f16>) -> mat4x2<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(216),
+ /* overloads */ OverloadIndex(228),
},
{
/* [15] */
@@ -11805,7 +12141,7 @@
/* conv mat4x3<T : f16>(mat4x3<f32>) -> mat4x3<f16> */
/* conv mat4x3<T : f32>(mat4x3<f16>) -> mat4x3<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(222),
+ /* overloads */ OverloadIndex(234),
},
{
/* [16] */
@@ -11816,13 +12152,13 @@
/* conv mat4x4<T : f16>(mat4x4<f32>) -> mat4x4<f16> */
/* conv mat4x4<T : f32>(mat4x4<f16>) -> mat4x4<f32> */
/* num overloads */ 6,
- /* overloads */ OverloadIndex(228),
+ /* overloads */ OverloadIndex(240),
},
{
/* [17] */
/* conv packedVec3<T : concrete_scalar>(vec3<T>) -> packedVec3<T> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(451),
+ /* overloads */ OverloadIndex(463),
},
};
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl
index e76dd820..d74ecf0 100644
--- a/test/tint/builtins/gen/gen.wgsl.tmpl
+++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -207,6 +207,11 @@
enable chromium_experimental_subgroups;
{{ end -}}
+{{- /* Check and emit chromium_experimental_read_write_storage_texture */ -}}
+{{- if OverloadUsesReadWriteStorageTexture $overload }}
+enable chromium_experimental_read_write_storage_texture;
+{{ end -}}
+
{{- /* Check and emit f16 */ -}}
{{- if OverloadUsesF16 $overload}}
enable f16;
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl
new file mode 100644
index 0000000..b58fa14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8unorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_012e11() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..340a1e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/012e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..340a1e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/012e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.glsl
new file mode 100644
index 0000000..692a3e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_012e11();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_012e11();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_012e11();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.msl
new file mode 100644
index 0000000..67d047b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/012e11.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.spvasm
new file mode 100644
index 0000000..cba2ad4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/012e11.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.wgsl
new file mode 100644
index 0000000..761929e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/012e11.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl
new file mode 100644
index 0000000..a8bceec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_01cd01() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cd74c55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/01cd01.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..cd74c55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/01cd01.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.glsl
new file mode 100644
index 0000000..52ca0d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_01cd01();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_01cd01();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_01cd01();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.msl
new file mode 100644
index 0000000..67239aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/01cd01.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.spvasm
new file mode 100644
index 0000000..ae4871d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/01cd01.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.wgsl
new file mode 100644
index 0000000..d5b0d90
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/01cd01.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl
new file mode 100644
index 0000000..d835759
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_02c48d() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a549ff2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02c48d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a549ff2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02c48d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.glsl
new file mode 100644
index 0000000..c2ea412
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_02c48d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_02c48d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_02c48d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.msl
new file mode 100644
index 0000000..9f90b47
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02c48d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.spvasm
new file mode 100644
index 0000000..248c295
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02c48d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.wgsl
new file mode 100644
index 0000000..c861e01
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02c48d.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl
new file mode 100644
index 0000000..84c2076
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_02ef1f() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..84d5c4c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02ef1f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..84d5c4c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02ef1f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.glsl
new file mode 100644
index 0000000..0bdb953
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_02ef1f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_02ef1f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_02ef1f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.msl
new file mode 100644
index 0000000..ed2e332
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02ef1f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.spvasm
new file mode 100644
index 0000000..a2909b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/02ef1f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.wgsl
new file mode 100644
index 0000000..065837b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/02ef1f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl
new file mode 100644
index 0000000..72a8e13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_03e03e() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e9fd840d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/03e03e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e9fd840d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/03e03e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.glsl
new file mode 100644
index 0000000..d5fe6a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_03e03e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_03e03e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_03e03e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.msl
new file mode 100644
index 0000000..afebee8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/03e03e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.spvasm
new file mode 100644
index 0000000..3ca91a6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/03e03e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.wgsl
new file mode 100644
index 0000000..c365f74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/03e03e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl
new file mode 100644
index 0000000..dba38f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_054350() {
+ var res: vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..608d63c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/054350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..608d63c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/054350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.glsl
new file mode 100644
index 0000000..f6783ec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_054350();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_054350();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_054350();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.msl
new file mode 100644
index 0000000..8b829ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/054350.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.spvasm
new file mode 100644
index 0000000..687b610
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/054350.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.wgsl
new file mode 100644
index 0000000..96335b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/054350.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl
new file mode 100644
index 0000000..606209a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_0b515a() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..06b9854
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/0b515a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..06b9854
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/0b515a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.glsl
new file mode 100644
index 0000000..0e418a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_0b515a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_0b515a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_0b515a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.msl
new file mode 100644
index 0000000..ec973a7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/0b515a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.spvasm
new file mode 100644
index 0000000..dc07cfa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/0b515a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.wgsl
new file mode 100644
index 0000000..3879816
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/0b515a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl
new file mode 100644
index 0000000..acbc240
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_126466() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5b80c14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/126466.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5b80c14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/126466.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.glsl
new file mode 100644
index 0000000..09eb431
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_126466();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_126466();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_126466();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.msl
new file mode 100644
index 0000000..9808db0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/126466.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.spvasm
new file mode 100644
index 0000000..4062605
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/126466.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.wgsl
new file mode 100644
index 0000000..c550294
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/126466.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl
new file mode 100644
index 0000000..a269a11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8unorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_14cc4c() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7c73205
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/14cc4c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7c73205
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/14cc4c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.glsl
new file mode 100644
index 0000000..8cb5bb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_14cc4c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_14cc4c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_14cc4c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.msl
new file mode 100644
index 0000000..3f13eb4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/14cc4c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.spvasm
new file mode 100644
index 0000000..2fa73d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/14cc4c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.wgsl
new file mode 100644
index 0000000..204495d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/14cc4c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl
new file mode 100644
index 0000000..6f9f222
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_1619bf() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..227c41c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1619bf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..227c41c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1619bf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.glsl
new file mode 100644
index 0000000..1e2823e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1619bf();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1619bf();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1619bf();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.msl
new file mode 100644
index 0000000..51d5bb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1619bf.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.spvasm
new file mode 100644
index 0000000..ae324d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1619bf.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.wgsl
new file mode 100644
index 0000000..7ec054f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1619bf.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl
new file mode 100644
index 0000000..06acc2a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_170593() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2bc7583
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/170593.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2bc7583
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/170593.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.glsl
new file mode 100644
index 0000000..17d42d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_170593();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_170593();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_170593();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.msl
new file mode 100644
index 0000000..ab0c7d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/170593.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.spvasm
new file mode 100644
index 0000000..4503da9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/170593.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.wgsl
new file mode 100644
index 0000000..e37d3ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/170593.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl
new file mode 100644
index 0000000..df9d60b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_17095b() {
+ var res: vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1960534
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/17095b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1960534
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/17095b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.glsl
new file mode 100644
index 0000000..aebbd25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_17095b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_17095b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_17095b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.msl
new file mode 100644
index 0000000..172d5a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/17095b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.spvasm
new file mode 100644
index 0000000..e05c17d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/17095b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.wgsl
new file mode 100644
index 0000000..10cb707
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/17095b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl
new file mode 100644
index 0000000..d7110ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_19d6be() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..35d3b30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/19d6be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..35d3b30
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/19d6be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.glsl
new file mode 100644
index 0000000..b4fbc13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_19d6be();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_19d6be();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_19d6be();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.msl
new file mode 100644
index 0000000..18b8fa1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/19d6be.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.spvasm
new file mode 100644
index 0000000..c1906e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/19d6be.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.wgsl
new file mode 100644
index 0000000..123d09f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/19d6be.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl
new file mode 100644
index 0000000..4c707b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_1b4332() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..41b51e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1b4332.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..41b51e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1b4332.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.glsl
new file mode 100644
index 0000000..1f1654b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1b4332();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1b4332();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1b4332();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.msl
new file mode 100644
index 0000000..4b95cde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1b4332.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.spvasm
new file mode 100644
index 0000000..b3485dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1b4332.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.wgsl
new file mode 100644
index 0000000..a6302ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1b4332.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl
new file mode 100644
index 0000000..0a9d0e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8snorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_1bc5ab() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0ce6988
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1bc5ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0ce6988
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1bc5ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.glsl
new file mode 100644
index 0000000..3b6d535
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1bc5ab();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1bc5ab();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.msl
new file mode 100644
index 0000000..57d83f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1bc5ab.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.spvasm
new file mode 100644
index 0000000..3fa5238
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1bc5ab.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.wgsl
new file mode 100644
index 0000000..049b0d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1bc5ab.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl
new file mode 100644
index 0000000..d23536e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_1d43ae() {
+ var res: vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b7a4437
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1d43ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b7a4437
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1d43ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.glsl
new file mode 100644
index 0000000..5c75003
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1d43ae();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1d43ae();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1d43ae();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.msl
new file mode 100644
index 0000000..3a5a1f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1d43ae.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.spvasm
new file mode 100644
index 0000000..7f97722
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1d43ae.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.wgsl
new file mode 100644
index 0000000..a64c77d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1d43ae.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl
new file mode 100644
index 0000000..b2d5181
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_1e6baa() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..57c296a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1e6baa.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..57c296a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1e6baa.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.glsl
new file mode 100644
index 0000000..b460688
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1e6baa();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1e6baa();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1e6baa();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.msl
new file mode 100644
index 0000000..a2c881e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1e6baa.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.spvasm
new file mode 100644
index 0000000..33919cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/1e6baa.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.wgsl
new file mode 100644
index 0000000..6532827
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/1e6baa.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl
new file mode 100644
index 0000000..d451f25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_25b67f() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dfeed5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/25b67f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dfeed5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/25b67f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.glsl
new file mode 100644
index 0000000..5005d61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_25b67f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_25b67f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_25b67f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.msl
new file mode 100644
index 0000000..70bda3a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/25b67f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.spvasm
new file mode 100644
index 0000000..d6a41c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/25b67f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.wgsl
new file mode 100644
index 0000000..af6d133
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/25b67f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl
new file mode 100644
index 0000000..17815b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_26b8f6() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5c7f7b8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/26b8f6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5c7f7b8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/26b8f6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.glsl
new file mode 100644
index 0000000..77882a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_26b8f6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_26b8f6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_26b8f6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.msl
new file mode 100644
index 0000000..58c848ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/26b8f6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.spvasm
new file mode 100644
index 0000000..edd1e1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/26b8f6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.wgsl
new file mode 100644
index 0000000..59f211c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/26b8f6.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl
new file mode 100644
index 0000000..0752fb5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_272e7a() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..28733cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/272e7a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..28733cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/272e7a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.glsl
new file mode 100644
index 0000000..31df1d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_272e7a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_272e7a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_272e7a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.msl
new file mode 100644
index 0000000..a5fb3f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/272e7a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.spvasm
new file mode 100644
index 0000000..30df6cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/272e7a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.wgsl
new file mode 100644
index 0000000..24b08bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/272e7a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl
new file mode 100644
index 0000000..110b580
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_2cee30() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..880e6c0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2cee30.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..880e6c0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2cee30.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.glsl
new file mode 100644
index 0000000..2288605
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2cee30();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2cee30();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2cee30();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.msl
new file mode 100644
index 0000000..cac3f91
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2cee30.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.spvasm
new file mode 100644
index 0000000..ba2b123
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2cee30.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.wgsl
new file mode 100644
index 0000000..f1e67ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2cee30.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl
new file mode 100644
index 0000000..ec9eb94
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_2dbfc2() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dd31157
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2dbfc2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dd31157
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2dbfc2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.glsl
new file mode 100644
index 0000000..3613a32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2dbfc2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2dbfc2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.msl
new file mode 100644
index 0000000..e9092c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2dbfc2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.spvasm
new file mode 100644
index 0000000..5fae4ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2dbfc2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.wgsl
new file mode 100644
index 0000000..fc3b2ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2dbfc2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl
new file mode 100644
index 0000000..37af4ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_2eaf31() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..76218ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2eaf31.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..76218ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2eaf31.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.glsl
new file mode 100644
index 0000000..c7500cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2eaf31();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2eaf31();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2eaf31();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.msl
new file mode 100644
index 0000000..2bd48a2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2eaf31.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.spvasm
new file mode 100644
index 0000000..cc5a7a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/2eaf31.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.wgsl
new file mode 100644
index 0000000..e53725c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/2eaf31.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl
new file mode 100644
index 0000000..850853e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_32a7b8() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0c51a92
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/32a7b8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0c51a92
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/32a7b8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.glsl
new file mode 100644
index 0000000..b8d20ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_32a7b8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_32a7b8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_32a7b8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.msl
new file mode 100644
index 0000000..7776733
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/32a7b8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.spvasm
new file mode 100644
index 0000000..dbd48b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/32a7b8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.wgsl
new file mode 100644
index 0000000..22e2d3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/32a7b8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl
new file mode 100644
index 0000000..d28f864
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_34d97c() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..087a41d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/34d97c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..087a41d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/34d97c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.glsl
new file mode 100644
index 0000000..81b13fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_34d97c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_34d97c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_34d97c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.msl
new file mode 100644
index 0000000..19074e0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/34d97c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.spvasm
new file mode 100644
index 0000000..a8e5f9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/34d97c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.wgsl
new file mode 100644
index 0000000..d0d5704
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/34d97c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl
new file mode 100644
index 0000000..fad148c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8snorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_39016c() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..90bdc29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/39016c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..90bdc29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/39016c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.glsl
new file mode 100644
index 0000000..348a003
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_39016c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_39016c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_39016c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.msl
new file mode 100644
index 0000000..2eb8470
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/39016c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.spvasm
new file mode 100644
index 0000000..fecf7c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/39016c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.wgsl
new file mode 100644
index 0000000..a850531
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/39016c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl
new file mode 100644
index 0000000..f42b68a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_395447() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8848333
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/395447.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8848333
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/395447.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.glsl
new file mode 100644
index 0000000..501fd05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_395447();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_395447();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_395447();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.msl
new file mode 100644
index 0000000..07d9ff6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/395447.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.spvasm
new file mode 100644
index 0000000..68b2d0c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/395447.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.wgsl
new file mode 100644
index 0000000..ab61fe1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/395447.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl
new file mode 100644
index 0000000..9d1f1b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_3a2350() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3879afe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3a2350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3879afe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3a2350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.glsl
new file mode 100644
index 0000000..f4eb8bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3a2350();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3a2350();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3a2350();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.msl
new file mode 100644
index 0000000..1fc2e3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3a2350.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.spvasm
new file mode 100644
index 0000000..69dbc9c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3a2350.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.wgsl
new file mode 100644
index 0000000..1df2d58
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3a2350.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl
new file mode 100644
index 0000000..aec6816
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_3aea13() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..978cbb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3aea13.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..978cbb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3aea13.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.glsl
new file mode 100644
index 0000000..b50c587
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3aea13();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3aea13();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3aea13();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.msl
new file mode 100644
index 0000000..7ef7f19
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3aea13.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.spvasm
new file mode 100644
index 0000000..7253c28
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3aea13.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.wgsl
new file mode 100644
index 0000000..6bc6ddb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3aea13.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl
new file mode 100644
index 0000000..078761b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_3bbc2b() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..40d74db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3bbc2b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..40d74db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3bbc2b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.glsl
new file mode 100644
index 0000000..751847e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3bbc2b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3bbc2b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.msl
new file mode 100644
index 0000000..ecc7075
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3bbc2b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.spvasm
new file mode 100644
index 0000000..8b287bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3bbc2b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.wgsl
new file mode 100644
index 0000000..1b34b6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3bbc2b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl
new file mode 100644
index 0000000..dbdde7b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_3cfb9c() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..296ade4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3cfb9c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..296ade4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3cfb9c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.glsl
new file mode 100644
index 0000000..765c882
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3cfb9c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3cfb9c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.msl
new file mode 100644
index 0000000..43f5b27
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3cfb9c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.spvasm
new file mode 100644
index 0000000..4187af2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/3cfb9c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.wgsl
new file mode 100644
index 0000000..3cb6ece
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/3cfb9c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl
new file mode 100644
index 0000000..cefb1e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_40ee8b() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ff06aa7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/40ee8b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ff06aa7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/40ee8b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.glsl
new file mode 100644
index 0000000..cb5d4c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_40ee8b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_40ee8b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_40ee8b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.msl
new file mode 100644
index 0000000..b01fec0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/40ee8b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.spvasm
new file mode 100644
index 0000000..a1c459a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/40ee8b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.wgsl
new file mode 100644
index 0000000..95f3b23
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/40ee8b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl
new file mode 100644
index 0000000..f36947d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_4212a1() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..de7bfe8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4212a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..de7bfe8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4212a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.glsl
new file mode 100644
index 0000000..f901d13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4212a1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4212a1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4212a1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.msl
new file mode 100644
index 0000000..57c7eb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4212a1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.spvasm
new file mode 100644
index 0000000..509f86e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4212a1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.wgsl
new file mode 100644
index 0000000..9b520a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4212a1.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl
new file mode 100644
index 0000000..d193a21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_424afd() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0e47f0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/424afd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0e47f0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/424afd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.glsl
new file mode 100644
index 0000000..218a63b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_424afd();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_424afd();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_424afd();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.msl
new file mode 100644
index 0000000..459b0d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/424afd.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.spvasm
new file mode 100644
index 0000000..e0f48bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/424afd.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.wgsl
new file mode 100644
index 0000000..581d191
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/424afd.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl
new file mode 100644
index 0000000..15ead44
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_42a631() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ec836fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/42a631.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ec836fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/42a631.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.glsl
new file mode 100644
index 0000000..4f91121
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_42a631();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_42a631();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_42a631();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.msl
new file mode 100644
index 0000000..9f86e50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/42a631.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.spvasm
new file mode 100644
index 0000000..948854e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/42a631.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.wgsl
new file mode 100644
index 0000000..7f339a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/42a631.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl
new file mode 100644
index 0000000..a0c9108
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_43484a() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4d0cb02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43484a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4d0cb02
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43484a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.glsl
new file mode 100644
index 0000000..04dbccf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_43484a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_43484a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_43484a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.msl
new file mode 100644
index 0000000..2c318ea
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43484a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.spvasm
new file mode 100644
index 0000000..7501a24
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43484a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.wgsl
new file mode 100644
index 0000000..7b22051
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43484a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl
new file mode 100644
index 0000000..c051ad5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8snorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_43cd86() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..99f26c5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43cd86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..99f26c5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43cd86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.glsl
new file mode 100644
index 0000000..75363c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_43cd86();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_43cd86();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_43cd86();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.msl
new file mode 100644
index 0000000..0348493
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43cd86.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.spvasm
new file mode 100644
index 0000000..1fbd1f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/43cd86.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.wgsl
new file mode 100644
index 0000000..5ffe992
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/43cd86.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl
new file mode 100644
index 0000000..5cefc86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_4542ae() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e1a6d2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4542ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e1a6d2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4542ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.glsl
new file mode 100644
index 0000000..ff98d3e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4542ae();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4542ae();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4542ae();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.msl
new file mode 100644
index 0000000..8c9a04a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4542ae.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.spvasm
new file mode 100644
index 0000000..ee9ce13
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4542ae.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.wgsl
new file mode 100644
index 0000000..a0dd3bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4542ae.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl
new file mode 100644
index 0000000..9b432ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_469912() {
+ var res: vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..62544ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/469912.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..62544ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/469912.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.glsl
new file mode 100644
index 0000000..4a58a31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_469912();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_469912();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_469912();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.msl
new file mode 100644
index 0000000..a6d61d1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/469912.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.spvasm
new file mode 100644
index 0000000..ad87339
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/469912.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.wgsl
new file mode 100644
index 0000000..38f077d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/469912.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl
new file mode 100644
index 0000000..27baff4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_473d3e() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9e1d8de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/473d3e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9e1d8de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/473d3e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.glsl
new file mode 100644
index 0000000..eb4990b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_473d3e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_473d3e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_473d3e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.msl
new file mode 100644
index 0000000..a00d2f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/473d3e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.spvasm
new file mode 100644
index 0000000..05a5718
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/473d3e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.wgsl
new file mode 100644
index 0000000..b581485
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/473d3e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl
new file mode 100644
index 0000000..de842ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_482627() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a294b96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/482627.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a294b96
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/482627.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.glsl
new file mode 100644
index 0000000..a6490b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_482627();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_482627();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_482627();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.msl
new file mode 100644
index 0000000..3e8aa80
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/482627.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.spvasm
new file mode 100644
index 0000000..2e6ed92
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/482627.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.wgsl
new file mode 100644
index 0000000..b5a49af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/482627.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl
new file mode 100644
index 0000000..285bcc9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_4a5c55() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4b34918
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4a5c55.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4b34918
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4a5c55.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.glsl
new file mode 100644
index 0000000..fb9c59a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4a5c55();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4a5c55();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4a5c55();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.msl
new file mode 100644
index 0000000..ef4cd03
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4a5c55.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.spvasm
new file mode 100644
index 0000000..64c0cb9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4a5c55.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.wgsl
new file mode 100644
index 0000000..9855d55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4a5c55.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl
new file mode 100644
index 0000000..c68c7f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_4c15b2() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4321746
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c15b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4321746
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c15b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.glsl
new file mode 100644
index 0000000..084e22b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4c15b2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4c15b2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4c15b2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.msl
new file mode 100644
index 0000000..6e84cc3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c15b2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.spvasm
new file mode 100644
index 0000000..f92caa3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c15b2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.wgsl
new file mode 100644
index 0000000..dc9bde9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c15b2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl
new file mode 100644
index 0000000..60687f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_4c1a1e() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4c286b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c1a1e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4c286b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c1a1e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.glsl
new file mode 100644
index 0000000..03bdee9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4c1a1e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4c1a1e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.msl
new file mode 100644
index 0000000..357967d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c1a1e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.spvasm
new file mode 100644
index 0000000..c65ceec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4c1a1e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.wgsl
new file mode 100644
index 0000000..b083e4a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4c1a1e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl
new file mode 100644
index 0000000..75ed175
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_4ccf9a() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bf332dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4ccf9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bf332dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4ccf9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.glsl
new file mode 100644
index 0000000..6c40df6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4ccf9a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4ccf9a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.msl
new file mode 100644
index 0000000..bc7bc61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4ccf9a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.spvasm
new file mode 100644
index 0000000..e0e9ece
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4ccf9a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.wgsl
new file mode 100644
index 0000000..9d76deb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4ccf9a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl
new file mode 100644
index 0000000..145e115
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_4e2c5c() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dd1d5e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4e2c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dd1d5e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4e2c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.glsl
new file mode 100644
index 0000000..943c7b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4e2c5c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4e2c5c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.msl
new file mode 100644
index 0000000..060ba49
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4e2c5c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.spvasm
new file mode 100644
index 0000000..306d82d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4e2c5c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.wgsl
new file mode 100644
index 0000000..f161905
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4e2c5c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl
new file mode 100644
index 0000000..7ee8357
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_4f5496() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d1734a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f5496.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d1734a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f5496.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.glsl
new file mode 100644
index 0000000..67bb8fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4f5496();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4f5496();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4f5496();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.msl
new file mode 100644
index 0000000..d85a159
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f5496.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.spvasm
new file mode 100644
index 0000000..0966af6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f5496.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.wgsl
new file mode 100644
index 0000000..3b2e9f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f5496.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl
new file mode 100644
index 0000000..8b62f85
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<bgra8unorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_4f90bb() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..19335d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f90bb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..19335d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f90bb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.glsl
new file mode 100644
index 0000000..2151e9d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4f90bb();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4f90bb();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4f90bb();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.msl
new file mode 100644
index 0000000..fe67f18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f90bb.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.spvasm
new file mode 100644
index 0000000..87d8e2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/4f90bb.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.wgsl
new file mode 100644
index 0000000..488c431
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/4f90bb.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl
new file mode 100644
index 0000000..d09b2a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_5154e1() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ebb4bda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5154e1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ebb4bda
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5154e1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.glsl
new file mode 100644
index 0000000..c1fb4ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5154e1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5154e1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5154e1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.msl
new file mode 100644
index 0000000..0d3493d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5154e1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.spvasm
new file mode 100644
index 0000000..6cff054
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5154e1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.wgsl
new file mode 100644
index 0000000..61e6774
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5154e1.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl
new file mode 100644
index 0000000..a6d98ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_53941c() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d1d3e37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/53941c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d1d3e37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/53941c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.glsl
new file mode 100644
index 0000000..3259d55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_53941c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_53941c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_53941c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.msl
new file mode 100644
index 0000000..098e873
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/53941c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.spvasm
new file mode 100644
index 0000000..0b765f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/53941c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.wgsl
new file mode 100644
index 0000000..0f164d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/53941c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl
new file mode 100644
index 0000000..c6b163a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_54fb38() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..75acc29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/54fb38.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..75acc29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/54fb38.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.glsl
new file mode 100644
index 0000000..a8ccc42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_54fb38();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_54fb38();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_54fb38();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.msl
new file mode 100644
index 0000000..53fab08
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/54fb38.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.spvasm
new file mode 100644
index 0000000..4e4b1e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/54fb38.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.wgsl
new file mode 100644
index 0000000..a5f5a6b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/54fb38.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl
new file mode 100644
index 0000000..35d5e00
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_56a000() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aba731c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/56a000.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..aba731c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/56a000.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.glsl
new file mode 100644
index 0000000..925018b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_56a000();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_56a000();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_56a000();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.msl
new file mode 100644
index 0000000..bbd46a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/56a000.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.spvasm
new file mode 100644
index 0000000..52c8d45
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/56a000.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.wgsl
new file mode 100644
index 0000000..1013797
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/56a000.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl
new file mode 100644
index 0000000..97b973e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_5b0f5b() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7d4e3b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b0f5b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7d4e3b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b0f5b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.glsl
new file mode 100644
index 0000000..c6553f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5b0f5b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5b0f5b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.msl
new file mode 100644
index 0000000..bc0deb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b0f5b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.spvasm
new file mode 100644
index 0000000..d26d50f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b0f5b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.wgsl
new file mode 100644
index 0000000..9a33411
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b0f5b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl
new file mode 100644
index 0000000..2ae8624
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<bgra8unorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_5b4947() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5f3fd81
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b4947.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5f3fd81
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b4947.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.glsl
new file mode 100644
index 0000000..970b909
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5b4947();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5b4947();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5b4947();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.msl
new file mode 100644
index 0000000..8fb6a0a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b4947.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.spvasm
new file mode 100644
index 0000000..e883622
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5b4947.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.wgsl
new file mode 100644
index 0000000..10574b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5b4947.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl
new file mode 100644
index 0000000..c4f21f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<bgra8unorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_5c69f8() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ab21a89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5c69f8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ab21a89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5c69f8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.glsl
new file mode 100644
index 0000000..31f9589
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5c69f8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5c69f8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5c69f8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.msl
new file mode 100644
index 0000000..ed82a22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5c69f8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.spvasm
new file mode 100644
index 0000000..0afcac8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5c69f8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.wgsl
new file mode 100644
index 0000000..2363a5b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5c69f8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl
new file mode 100644
index 0000000..4573309
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_5cd3fc() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..345a05c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5cd3fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..345a05c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5cd3fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.glsl
new file mode 100644
index 0000000..5078cad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5cd3fc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5cd3fc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.msl
new file mode 100644
index 0000000..665cbbd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5cd3fc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.spvasm
new file mode 100644
index 0000000..1328f21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5cd3fc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.wgsl
new file mode 100644
index 0000000..66af9ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5cd3fc.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl
new file mode 100644
index 0000000..bfc04d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_5e17a7() {
+ var res: vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..94bc2fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e17a7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..94bc2fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e17a7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.glsl
new file mode 100644
index 0000000..67f14b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5e17a7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5e17a7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5e17a7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.msl
new file mode 100644
index 0000000..7f06150
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e17a7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.spvasm
new file mode 100644
index 0000000..2c17ada
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e17a7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.wgsl
new file mode 100644
index 0000000..52b6d0a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e17a7.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl
new file mode 100644
index 0000000..88b02ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_5e1843() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ade2896
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e1843.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ade2896
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e1843.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.glsl
new file mode 100644
index 0000000..f7bd822
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5e1843();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5e1843();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5e1843();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.msl
new file mode 100644
index 0000000..827c24b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e1843.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.spvasm
new file mode 100644
index 0000000..26fdabb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/5e1843.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.wgsl
new file mode 100644
index 0000000..ae07f99
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/5e1843.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl
new file mode 100644
index 0000000..3283df0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_61e2e8() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e2a0a9d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/61e2e8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e2a0a9d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/61e2e8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.glsl
new file mode 100644
index 0000000..56fc7bb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_61e2e8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_61e2e8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_61e2e8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.msl
new file mode 100644
index 0000000..8a1b8eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/61e2e8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.spvasm
new file mode 100644
index 0000000..7598096
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/61e2e8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.wgsl
new file mode 100644
index 0000000..834f51d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/61e2e8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl
new file mode 100644
index 0000000..bd9f192
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_622278() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..735f42c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/622278.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..735f42c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/622278.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.glsl
new file mode 100644
index 0000000..276c11c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_622278();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_622278();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ uvec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_622278();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.msl
new file mode 100644
index 0000000..5880dcb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/622278.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.spvasm
new file mode 100644
index 0000000..bf26d1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/622278.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.wgsl
new file mode 100644
index 0000000..0be9a2e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/622278.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl
new file mode 100644
index 0000000..454bfce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_64c372() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e0288c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/64c372.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e0288c6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/64c372.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.glsl
new file mode 100644
index 0000000..cc697b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_64c372();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_64c372();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_64c372();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.msl
new file mode 100644
index 0000000..3d89bc2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/64c372.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.spvasm
new file mode 100644
index 0000000..6082877
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/64c372.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.wgsl
new file mode 100644
index 0000000..c19ac16
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/64c372.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl
new file mode 100644
index 0000000..9ca09f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8unorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_666010() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..260e398
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/666010.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..260e398
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/666010.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.glsl
new file mode 100644
index 0000000..20c48bd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_666010();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_666010();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_666010();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.msl
new file mode 100644
index 0000000..801c742
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/666010.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.spvasm
new file mode 100644
index 0000000..b4c0610
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/666010.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.wgsl
new file mode 100644
index 0000000..bdbf0b7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/666010.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl
new file mode 100644
index 0000000..9fd867c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_67d826() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d0b5cfe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/67d826.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d0b5cfe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/67d826.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.glsl
new file mode 100644
index 0000000..7b46b0a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_67d826();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_67d826();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_67d826();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.msl
new file mode 100644
index 0000000..b471a04
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/67d826.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.spvasm
new file mode 100644
index 0000000..a676f1c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/67d826.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.wgsl
new file mode 100644
index 0000000..943e3d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/67d826.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl
new file mode 100644
index 0000000..a31b390
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_68d273() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..52a299d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/68d273.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..52a299d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/68d273.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.glsl
new file mode 100644
index 0000000..8e9e107
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_68d273();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_68d273();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_68d273();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.msl
new file mode 100644
index 0000000..1550d88
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/68d273.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.spvasm
new file mode 100644
index 0000000..da149c5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/68d273.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.wgsl
new file mode 100644
index 0000000..4fdfea0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/68d273.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl
new file mode 100644
index 0000000..d3da008
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_69fee5() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c8dace8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/69fee5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c8dace8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/69fee5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.glsl
new file mode 100644
index 0000000..73d36a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_69fee5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_69fee5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_69fee5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.msl
new file mode 100644
index 0000000..9fbb903
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/69fee5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.spvasm
new file mode 100644
index 0000000..8dbc2c0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/69fee5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.wgsl
new file mode 100644
index 0000000..949f9b4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/69fee5.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl
new file mode 100644
index 0000000..e175298
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_6a6871() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..73ad5dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6a6871.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..73ad5dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6a6871.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.glsl
new file mode 100644
index 0000000..5d10b80
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6a6871();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6a6871();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6a6871();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.msl
new file mode 100644
index 0000000..04ee51f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6a6871.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.spvasm
new file mode 100644
index 0000000..61809ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6a6871.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.wgsl
new file mode 100644
index 0000000..b74edbc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6a6871.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl
new file mode 100644
index 0000000..c45c974
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6b8ba6() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..595849d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6b8ba6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..595849d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6b8ba6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.glsl
new file mode 100644
index 0000000..47b66d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6b8ba6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6b8ba6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.msl
new file mode 100644
index 0000000..75b8f38
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6b8ba6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.spvasm
new file mode 100644
index 0000000..031797e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6b8ba6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.wgsl
new file mode 100644
index 0000000..4ab9927
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6b8ba6.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl
new file mode 100644
index 0000000..34d8342
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6ba9ab() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fb0fdcd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6ba9ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fb0fdcd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6ba9ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.glsl
new file mode 100644
index 0000000..1719922
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6ba9ab();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6ba9ab();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.msl
new file mode 100644
index 0000000..1aa6032
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6ba9ab.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.spvasm
new file mode 100644
index 0000000..a7b994d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6ba9ab.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.wgsl
new file mode 100644
index 0000000..a4237b3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6ba9ab.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl
new file mode 100644
index 0000000..f0c6516
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6bf3e2() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..19a7d2b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6bf3e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..19a7d2b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6bf3e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.glsl
new file mode 100644
index 0000000..9d7e135
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6bf3e2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6bf3e2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.msl
new file mode 100644
index 0000000..d93f1cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6bf3e2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.spvasm
new file mode 100644
index 0000000..0a925a9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6bf3e2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..0570017
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6bf3e2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl
new file mode 100644
index 0000000..ba226f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_6d1fb4() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f03beb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d1fb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f03beb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d1fb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.glsl
new file mode 100644
index 0000000..d914d020
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6d1fb4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6d1fb4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.msl
new file mode 100644
index 0000000..713d606
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d1fb4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.spvasm
new file mode 100644
index 0000000..d20c65a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d1fb4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.wgsl
new file mode 100644
index 0000000..cc88aff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d1fb4.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl
new file mode 100644
index 0000000..86180b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_6d7bb5() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..853bcb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d7bb5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..853bcb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d7bb5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.glsl
new file mode 100644
index 0000000..63f6d1f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6d7bb5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6d7bb5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.msl
new file mode 100644
index 0000000..ce0786e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d7bb5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.spvasm
new file mode 100644
index 0000000..7ce9f56
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6d7bb5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.wgsl
new file mode 100644
index 0000000..d0dc3bf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6d7bb5.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl
new file mode 100644
index 0000000..b6558f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_6e903f() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c7f453c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6e903f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c7f453c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6e903f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.glsl
new file mode 100644
index 0000000..20a9012
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6e903f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6e903f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6e903f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.msl
new file mode 100644
index 0000000..fabf659
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6e903f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.spvasm
new file mode 100644
index 0000000..6109fde
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6e903f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.wgsl
new file mode 100644
index 0000000..86dd45a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6e903f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl
new file mode 100644
index 0000000..2aeae2b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_6f0ea8() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..be586de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f0ea8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..be586de
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f0ea8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.glsl
new file mode 100644
index 0000000..8249d3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6f0ea8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6f0ea8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.msl
new file mode 100644
index 0000000..d0608e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f0ea8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.spvasm
new file mode 100644
index 0000000..5455d0c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f0ea8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.wgsl
new file mode 100644
index 0000000..7f8b7d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f0ea8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl
new file mode 100644
index 0000000..f500f5a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6f8927() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3def106
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f8927.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3def106
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f8927.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.glsl
new file mode 100644
index 0000000..cbb8898
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6f8927();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6f8927();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6f8927();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.msl
new file mode 100644
index 0000000..b61939e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f8927.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.spvasm
new file mode 100644
index 0000000..5aa010e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/6f8927.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.wgsl
new file mode 100644
index 0000000..f6d0983
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/6f8927.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl
new file mode 100644
index 0000000..cdde892
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_742f1b() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..283bd75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/742f1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..283bd75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/742f1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.glsl
new file mode 100644
index 0000000..295f9f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_742f1b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_742f1b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_742f1b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.msl
new file mode 100644
index 0000000..70e1d0c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/742f1b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.spvasm
new file mode 100644
index 0000000..61183da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/742f1b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.wgsl
new file mode 100644
index 0000000..6fe4438
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/742f1b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl
new file mode 100644
index 0000000..2d7fbbd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_74a387() {
+ var res: vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c5e9262
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/74a387.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c5e9262
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/74a387.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.glsl
new file mode 100644
index 0000000..7d3ae4f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_74a387();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_74a387();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_74a387();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.msl
new file mode 100644
index 0000000..523f97e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/74a387.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.spvasm
new file mode 100644
index 0000000..156a710
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/74a387.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.wgsl
new file mode 100644
index 0000000..0bfb6a3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/74a387.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl
new file mode 100644
index 0000000..f53ff83
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<bgra8unorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_7e5cbc() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a9fc82b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/7e5cbc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a9fc82b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/7e5cbc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.glsl
new file mode 100644
index 0000000..2819318
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_7e5cbc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_7e5cbc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.msl
new file mode 100644
index 0000000..b539baf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/7e5cbc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.spvasm
new file mode 100644
index 0000000..cf12de4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/7e5cbc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.wgsl
new file mode 100644
index 0000000..e6a5ab6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/7e5cbc.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl
new file mode 100644
index 0000000..984053b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_80dae1() {
+ var res: vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ac4cfdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/80dae1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ac4cfdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/80dae1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.glsl
new file mode 100644
index 0000000..9cd629c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_80dae1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_80dae1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_80dae1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.msl
new file mode 100644
index 0000000..d30f206
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/80dae1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.spvasm
new file mode 100644
index 0000000..bfe59cb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/80dae1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.wgsl
new file mode 100644
index 0000000..35b94e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/80dae1.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl
new file mode 100644
index 0000000..84b8567
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_83d6e3() {
+ var res: vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b752328
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/83d6e3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b752328
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/83d6e3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.glsl
new file mode 100644
index 0000000..89b3e7c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_83d6e3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_83d6e3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_83d6e3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.msl
new file mode 100644
index 0000000..6f64cec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/83d6e3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.spvasm
new file mode 100644
index 0000000..a976673
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/83d6e3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.wgsl
new file mode 100644
index 0000000..d57c4c7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/83d6e3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl
new file mode 100644
index 0000000..a7a97e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_848d85() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..395e1ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/848d85.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..395e1ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/848d85.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.glsl
new file mode 100644
index 0000000..df9d129
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_848d85();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_848d85();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_848d85();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.msl
new file mode 100644
index 0000000..d8419ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/848d85.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.spvasm
new file mode 100644
index 0000000..7bdcc12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/848d85.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.wgsl
new file mode 100644
index 0000000..d61a1c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/848d85.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl
new file mode 100644
index 0000000..d75346f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_84a438() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e8029e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/84a438.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e8029e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/84a438.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.glsl
new file mode 100644
index 0000000..8964743
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_84a438();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_84a438();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_84a438();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.msl
new file mode 100644
index 0000000..70074ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/84a438.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.spvasm
new file mode 100644
index 0000000..d60eca7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/84a438.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.wgsl
new file mode 100644
index 0000000..69add4b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/84a438.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl
new file mode 100644
index 0000000..97883e0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_878e24() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f0bd6fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/878e24.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f0bd6fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/878e24.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.glsl
new file mode 100644
index 0000000..e6e3540
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_878e24();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_878e24();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_878e24();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.msl
new file mode 100644
index 0000000..409cfd4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/878e24.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.spvasm
new file mode 100644
index 0000000..80e1915
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/878e24.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.wgsl
new file mode 100644
index 0000000..22c838a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/878e24.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl
new file mode 100644
index 0000000..d3fa6e8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_87f0a6() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ed769aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/87f0a6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ed769aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/87f0a6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.glsl
new file mode 100644
index 0000000..bd29bfd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_87f0a6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_87f0a6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_87f0a6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.msl
new file mode 100644
index 0000000..309f92f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/87f0a6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.spvasm
new file mode 100644
index 0000000..9275cb3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/87f0a6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.wgsl
new file mode 100644
index 0000000..b6e6b8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/87f0a6.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl
new file mode 100644
index 0000000..ea05666
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_881349() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fab8644
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/881349.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fab8644
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/881349.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.glsl
new file mode 100644
index 0000000..03e2104
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_881349();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_881349();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_881349();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.msl
new file mode 100644
index 0000000..3d56126
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/881349.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.spvasm
new file mode 100644
index 0000000..47c2f1e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/881349.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.wgsl
new file mode 100644
index 0000000..17f717d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/881349.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl
new file mode 100644
index 0000000..81a418c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<bgra8unorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_8b62fb() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cfa4246
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8b62fb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..cfa4246
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8b62fb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.glsl
new file mode 100644
index 0000000..9efcb66
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8b62fb();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8b62fb();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8b62fb();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.msl
new file mode 100644
index 0000000..482ca88
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8b62fb.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.spvasm
new file mode 100644
index 0000000..9af6348
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8b62fb.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.wgsl
new file mode 100644
index 0000000..aa2d26b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8b62fb.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl
new file mode 100644
index 0000000..78fe7fd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_8bf8c2() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0dba82b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8bf8c2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0dba82b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8bf8c2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.glsl
new file mode 100644
index 0000000..b1c8552
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8bf8c2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8bf8c2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.msl
new file mode 100644
index 0000000..cc93761
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8bf8c2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.spvasm
new file mode 100644
index 0000000..dd46875
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8bf8c2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.wgsl
new file mode 100644
index 0000000..d5c81f7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8bf8c2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl
new file mode 100644
index 0000000..5866b29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_8c6176() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c0760e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8c6176.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c0760e2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8c6176.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.glsl
new file mode 100644
index 0000000..f044e25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8c6176();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8c6176();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8c6176();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.msl
new file mode 100644
index 0000000..07f2e57
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8c6176.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.spvasm
new file mode 100644
index 0000000..773f901
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8c6176.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.wgsl
new file mode 100644
index 0000000..0728c34
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8c6176.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl
new file mode 100644
index 0000000..076dc99
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_8d64c3() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a54b709
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8d64c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a54b709
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8d64c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.glsl
new file mode 100644
index 0000000..2c3b972
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8d64c3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8d64c3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8d64c3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.msl
new file mode 100644
index 0000000..a3609f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8d64c3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.spvasm
new file mode 100644
index 0000000..287ed62
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8d64c3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..fc74317
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8d64c3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl
new file mode 100644
index 0000000..dd8b7f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_8e68c9() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..876af6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8e68c9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..876af6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8e68c9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.glsl
new file mode 100644
index 0000000..02aeba8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8e68c9();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8e68c9();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8e68c9();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.msl
new file mode 100644
index 0000000..f4e5fe8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8e68c9.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.spvasm
new file mode 100644
index 0000000..3c2fc2e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8e68c9.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.wgsl
new file mode 100644
index 0000000..39ea077
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8e68c9.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl
new file mode 100644
index 0000000..aadd3b1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8unorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_8fc29b() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a694694
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8fc29b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a694694
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8fc29b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.glsl
new file mode 100644
index 0000000..fa45292
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8fc29b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8fc29b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8fc29b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.msl
new file mode 100644
index 0000000..15dfc7c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8fc29b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.spvasm
new file mode 100644
index 0000000..6346a3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/8fc29b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.wgsl
new file mode 100644
index 0000000..1746e61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/8fc29b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl
new file mode 100644
index 0000000..3eec0ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_91ede5() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e120508
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/91ede5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e120508
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/91ede5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.glsl
new file mode 100644
index 0000000..c279444
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_91ede5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_91ede5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_91ede5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.msl
new file mode 100644
index 0000000..4a24554
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/91ede5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.spvasm
new file mode 100644
index 0000000..e61a859
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/91ede5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.wgsl
new file mode 100644
index 0000000..8d823ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/91ede5.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl
new file mode 100644
index 0000000..135eb94
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_9242e7() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a24b402
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9242e7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a24b402
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9242e7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.glsl
new file mode 100644
index 0000000..c918905
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9242e7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9242e7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9242e7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.msl
new file mode 100644
index 0000000..2c3ca07
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9242e7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.spvasm
new file mode 100644
index 0000000..501bd6c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9242e7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.wgsl
new file mode 100644
index 0000000..a7980d3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9242e7.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl
new file mode 100644
index 0000000..7dd1c8e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_93f23e() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c6682ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/93f23e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c6682ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/93f23e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.glsl
new file mode 100644
index 0000000..f8b63f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_93f23e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_93f23e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_93f23e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.msl
new file mode 100644
index 0000000..2dd7f87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/93f23e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.spvasm
new file mode 100644
index 0000000..df6254b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/93f23e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.wgsl
new file mode 100644
index 0000000..b001576
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/93f23e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl
new file mode 100644
index 0000000..298ed9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_9fa9fd() {
+ var res: vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d3b6efa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fa9fd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d3b6efa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fa9fd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.glsl
new file mode 100644
index 0000000..fbfbaa6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9fa9fd();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9fa9fd();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.msl
new file mode 100644
index 0000000..5c0fdd3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fa9fd.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.spvasm
new file mode 100644
index 0000000..0ab94d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fa9fd.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.wgsl
new file mode 100644
index 0000000..1e33739
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fa9fd.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var res : vec4<u32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl
new file mode 100644
index 0000000..c99e539
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_9fd7be() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..623c6e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fd7be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..623c6e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fd7be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.glsl
new file mode 100644
index 0000000..1db5078
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9fd7be();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9fd7be();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9fd7be();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.msl
new file mode 100644
index 0000000..644e4d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fd7be.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.spvasm
new file mode 100644
index 0000000..53acf5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/9fd7be.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.wgsl
new file mode 100644
index 0000000..523036f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/9fd7be.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl
new file mode 100644
index 0000000..9d6faf4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_a2b3f4() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..db6040c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a2b3f4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..db6040c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a2b3f4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.glsl
new file mode 100644
index 0000000..af05f18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a2b3f4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a2b3f4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.msl
new file mode 100644
index 0000000..97b0ca4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a2b3f4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.spvasm
new file mode 100644
index 0000000..1ff58ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a2b3f4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.wgsl
new file mode 100644
index 0000000..202b470
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a2b3f4.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl
new file mode 100644
index 0000000..095bc2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_a3733f() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d9a0059
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3733f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d9a0059
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3733f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.glsl
new file mode 100644
index 0000000..148ebce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a3733f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a3733f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ uvec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a3733f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.msl
new file mode 100644
index 0000000..42fae77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3733f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.spvasm
new file mode 100644
index 0000000..b2cf12f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3733f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.wgsl
new file mode 100644
index 0000000..eb7978d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3733f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl
new file mode 100644
index 0000000..df7e691
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_a3f122() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..25901f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3f122.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..25901f1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3f122.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.glsl
new file mode 100644
index 0000000..6b9cc069
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a3f122();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a3f122();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a3f122();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.msl
new file mode 100644
index 0000000..d102908
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3f122.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.spvasm
new file mode 100644
index 0000000..1c276fe
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a3f122.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.wgsl
new file mode 100644
index 0000000..8be37ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a3f122.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl
new file mode 100644
index 0000000..6427167
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_a548a8() {
+ var res: vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f90fd29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a548a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f90fd29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a548a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.glsl
new file mode 100644
index 0000000..f5dfd20
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a548a8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a548a8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a548a8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.msl
new file mode 100644
index 0000000..f755ae5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a548a8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.spvasm
new file mode 100644
index 0000000..b1cfa42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a548a8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..5f44a18
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a548a8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl
new file mode 100644
index 0000000..7a23560
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_a54e11() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..90f3e8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a54e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..90f3e8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a54e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.glsl
new file mode 100644
index 0000000..00038b9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a54e11();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a54e11();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a54e11();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.msl
new file mode 100644
index 0000000..3e5e939
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a54e11.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.spvasm
new file mode 100644
index 0000000..0876a98
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a54e11.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.wgsl
new file mode 100644
index 0000000..b01c86e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a54e11.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl
new file mode 100644
index 0000000..9ca8c6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_a5c4e2() {
+ var res: vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..eb1ab11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5c4e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..eb1ab11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5c4e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.glsl
new file mode 100644
index 0000000..1ee8c1f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a5c4e2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a5c4e2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.msl
new file mode 100644
index 0000000..fdb282b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5c4e2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.spvasm
new file mode 100644
index 0000000..04072a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5c4e2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..b1c1f01
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5c4e2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl
new file mode 100644
index 0000000..1ce4ef4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_a5e0a5() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..46f6c97
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5e0a5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..46f6c97
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5e0a5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.glsl
new file mode 100644
index 0000000..e8fb763
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a5e0a5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a5e0a5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.msl
new file mode 100644
index 0000000..210f3e6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5e0a5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.spvasm
new file mode 100644
index 0000000..9b4e35f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a5e0a5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.wgsl
new file mode 100644
index 0000000..1a1516a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a5e0a5.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl
new file mode 100644
index 0000000..3791186
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8unorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_a64b1d() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4296e73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a64b1d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4296e73
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a64b1d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.glsl
new file mode 100644
index 0000000..1f50299
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a64b1d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a64b1d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a64b1d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.msl
new file mode 100644
index 0000000..c891370
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a64b1d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.spvasm
new file mode 100644
index 0000000..4604c63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a64b1d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.wgsl
new file mode 100644
index 0000000..c376d54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a64b1d.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl
new file mode 100644
index 0000000..e395548
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8snorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_a7bcb4() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0b20fcd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7bcb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0b20fcd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7bcb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.glsl
new file mode 100644
index 0000000..878bb61
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a7bcb4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a7bcb4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.msl
new file mode 100644
index 0000000..085d809
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7bcb4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.spvasm
new file mode 100644
index 0000000..4e48055
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7bcb4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.wgsl
new file mode 100644
index 0000000..65f0052
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7bcb4.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl
new file mode 100644
index 0000000..43025ac
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_a7c171() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..619e00d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7c171.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..619e00d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7c171.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.glsl
new file mode 100644
index 0000000..766a311
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a7c171();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a7c171();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a7c171();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.msl
new file mode 100644
index 0000000..3638caf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7c171.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.spvasm
new file mode 100644
index 0000000..dced5e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a7c171.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.wgsl
new file mode 100644
index 0000000..cbe8aee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a7c171.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl
new file mode 100644
index 0000000..b2611d9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_a92b18() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8f4b379
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a92b18.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8f4b379
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a92b18.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.glsl
new file mode 100644
index 0000000..12d173b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a92b18();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a92b18();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a92b18();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.msl
new file mode 100644
index 0000000..574938d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a92b18.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.spvasm
new file mode 100644
index 0000000..c3b43a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/a92b18.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.wgsl
new file mode 100644
index 0000000..e8cce6e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/a92b18.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl
new file mode 100644
index 0000000..fbdda2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_aa2579() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f4f538b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa2579.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f4f538b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa2579.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.glsl
new file mode 100644
index 0000000..65b604c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aa2579();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aa2579();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aa2579();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.msl
new file mode 100644
index 0000000..0a89413
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa2579.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.spvasm
new file mode 100644
index 0000000..233c354
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa2579.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.wgsl
new file mode 100644
index 0000000..68d73fc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa2579.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl
new file mode 100644
index 0000000..155e62f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_aa6130() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..72f7d4b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa6130.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..72f7d4b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa6130.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.glsl
new file mode 100644
index 0000000..647a33f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aa6130();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aa6130();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aa6130();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.msl
new file mode 100644
index 0000000..edd55a8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa6130.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.spvasm
new file mode 100644
index 0000000..2bcbcd5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aa6130.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.wgsl
new file mode 100644
index 0000000..fdd83ed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aa6130.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl
new file mode 100644
index 0000000..141ee5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_aae9c3() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1a7c874
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aae9c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1a7c874
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aae9c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.glsl
new file mode 100644
index 0000000..3f0eb0f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aae9c3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aae9c3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aae9c3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.msl
new file mode 100644
index 0000000..47552f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aae9c3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.spvasm
new file mode 100644
index 0000000..038674e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/aae9c3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..38832d1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/aae9c3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl
new file mode 100644
index 0000000..7c2b68a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_acf22f() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..59ce566
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/acf22f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..59ce566
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/acf22f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.glsl
new file mode 100644
index 0000000..73e7c60
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_acf22f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_acf22f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_acf22f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.msl
new file mode 100644
index 0000000..940c7eb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/acf22f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.spvasm
new file mode 100644
index 0000000..cba2980
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/acf22f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.wgsl
new file mode 100644
index 0000000..8202c5c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/acf22f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl
new file mode 100644
index 0000000..6c2abb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_ad551e() {
+ var res: vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..39f7a9e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ad551e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..39f7a9e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ad551e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.glsl
new file mode 100644
index 0000000..ed0544a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ad551e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ad551e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ad551e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.msl
new file mode 100644
index 0000000..6ffcee7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ad551e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.spvasm
new file mode 100644
index 0000000..04acbf2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ad551e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.wgsl
new file mode 100644
index 0000000..4c5adad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ad551e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl
new file mode 100644
index 0000000..3841016
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_af0507() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1ae8636
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/af0507.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1ae8636
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/af0507.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.glsl
new file mode 100644
index 0000000..8d6d517
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_af0507();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_af0507();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_af0507();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.msl
new file mode 100644
index 0000000..6acdbb6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/af0507.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.spvasm
new file mode 100644
index 0000000..86f85ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/af0507.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.wgsl
new file mode 100644
index 0000000..8b34a3f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/af0507.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl
new file mode 100644
index 0000000..9d98aec
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_b1ca35() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b202c22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b1ca35.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b202c22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b1ca35.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.glsl
new file mode 100644
index 0000000..c467f57
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b1ca35();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b1ca35();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b1ca35();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.msl
new file mode 100644
index 0000000..8907c14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b1ca35.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.spvasm
new file mode 100644
index 0000000..d45f932
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b1ca35.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.wgsl
new file mode 100644
index 0000000..5c5f9cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b1ca35.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl
new file mode 100644
index 0000000..616e6ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_b25644() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6c8f376
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b25644.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6c8f376
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b25644.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.glsl
new file mode 100644
index 0000000..27b7542
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b25644();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b25644();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b25644();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.msl
new file mode 100644
index 0000000..ed93b05
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b25644.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.spvasm
new file mode 100644
index 0000000..69a5092
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b25644.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.wgsl
new file mode 100644
index 0000000..a5d837d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b25644.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl
new file mode 100644
index 0000000..8378650
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_b27c33() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c8bb1e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b27c33.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c8bb1e5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b27c33.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.glsl
new file mode 100644
index 0000000..6cd386d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b27c33();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b27c33();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b27c33();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.msl
new file mode 100644
index 0000000..21e330d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b27c33.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.spvasm
new file mode 100644
index 0000000..30766b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b27c33.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.wgsl
new file mode 100644
index 0000000..26931be
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b27c33.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl
new file mode 100644
index 0000000..62b6077
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_b4d6c4() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c7df596
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b4d6c4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c7df596
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b4d6c4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.glsl
new file mode 100644
index 0000000..9c43aba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b4d6c4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b4d6c4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.msl
new file mode 100644
index 0000000..abd9c9c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b4d6c4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.spvasm
new file mode 100644
index 0000000..a9270b6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b4d6c4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.wgsl
new file mode 100644
index 0000000..152a9d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b4d6c4.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl
new file mode 100644
index 0000000..3b13415
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_b60a86() {
+ var res: vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7b61b42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60a86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7b61b42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60a86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.glsl
new file mode 100644
index 0000000..435b65e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b60a86();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b60a86();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b60a86();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.msl
new file mode 100644
index 0000000..c95be8f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60a86.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.spvasm
new file mode 100644
index 0000000..35dcb2d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60a86.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.wgsl
new file mode 100644
index 0000000..372aeed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60a86.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl
new file mode 100644
index 0000000..790f04f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_b60db7() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..afb8b1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60db7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..afb8b1d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60db7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.glsl
new file mode 100644
index 0000000..49d877e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b60db7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b60db7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b60db7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.msl
new file mode 100644
index 0000000..d1f8081
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60db7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.spvasm
new file mode 100644
index 0000000..da2be31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b60db7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.wgsl
new file mode 100644
index 0000000..ce94880
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b60db7.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl
new file mode 100644
index 0000000..ecc4445
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_b75c8f() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4cc6235
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b75c8f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4cc6235
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b75c8f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.glsl
new file mode 100644
index 0000000..c3cfca5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b75c8f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b75c8f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b75c8f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.msl
new file mode 100644
index 0000000..0d0b8dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b75c8f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.spvasm
new file mode 100644
index 0000000..60de7c0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/b75c8f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.wgsl
new file mode 100644
index 0000000..4071897
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/b75c8f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl
new file mode 100644
index 0000000..8f64616
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_ba023a() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..279eb42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba023a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..279eb42
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba023a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.glsl
new file mode 100644
index 0000000..75dce7b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ba023a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ba023a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ba023a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.msl
new file mode 100644
index 0000000..e3c86e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba023a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.spvasm
new file mode 100644
index 0000000..f69c047
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba023a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.wgsl
new file mode 100644
index 0000000..0942716
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba023a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl
new file mode 100644
index 0000000..b273bf4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_ba74b2() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..05fc0aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba74b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..05fc0aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba74b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.glsl
new file mode 100644
index 0000000..4c1ec0e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ba74b2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ba74b2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ba74b2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.msl
new file mode 100644
index 0000000..fde8f5e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba74b2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.spvasm
new file mode 100644
index 0000000..af2f2cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ba74b2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.wgsl
new file mode 100644
index 0000000..cdba103
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ba74b2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl
new file mode 100644
index 0000000..1818ebd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_babdf3() {
+ var res: vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c8e6f64
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/babdf3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c8e6f64
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/babdf3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.glsl
new file mode 100644
index 0000000..e1c1760
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_babdf3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_babdf3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_babdf3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.msl
new file mode 100644
index 0000000..3badcdf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/babdf3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.spvasm
new file mode 100644
index 0000000..897b8bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/babdf3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.wgsl
new file mode 100644
index 0000000..65844ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/babdf3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl
new file mode 100644
index 0000000..6b2a1dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_bba04a() {
+ var res: vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9f43c12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bba04a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9f43c12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bba04a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.glsl
new file mode 100644
index 0000000..002e2ab
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bba04a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bba04a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bba04a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.msl
new file mode 100644
index 0000000..9dd4fb6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bba04a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.spvasm
new file mode 100644
index 0000000..02e53e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bba04a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.wgsl
new file mode 100644
index 0000000..076fec2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bba04a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var res : vec4<u32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl
new file mode 100644
index 0000000..3a7b50d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_bbb762() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1091d3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bbb762.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1091d3b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bbb762.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.glsl
new file mode 100644
index 0000000..8ba7de1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bbb762();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bbb762();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bbb762();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.msl
new file mode 100644
index 0000000..83114f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bbb762.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.spvasm
new file mode 100644
index 0000000..e43a3bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bbb762.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.wgsl
new file mode 100644
index 0000000..19e9b50
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bbb762.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl
new file mode 100644
index 0000000..cb18bbf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_bd990a() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..89991c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bd990a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..89991c9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bd990a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.glsl
new file mode 100644
index 0000000..2fccd41
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bd990a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bd990a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bd990a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.msl
new file mode 100644
index 0000000..4c10560
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bd990a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.spvasm
new file mode 100644
index 0000000..9dd1f9f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bd990a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.wgsl
new file mode 100644
index 0000000..de9525a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bd990a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl
new file mode 100644
index 0000000..c76f244
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_bdc67a() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e44553e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bdc67a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e44553e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bdc67a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.glsl
new file mode 100644
index 0000000..ab1ac89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bdc67a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bdc67a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bdc67a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.msl
new file mode 100644
index 0000000..45ce979
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bdc67a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.spvasm
new file mode 100644
index 0000000..8fd15d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/bdc67a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.wgsl
new file mode 100644
index 0000000..53f56f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/bdc67a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl
new file mode 100644
index 0000000..fb3e93d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_c2d09a() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5ff491f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c2d09a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5ff491f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c2d09a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.glsl
new file mode 100644
index 0000000..5ffcec7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c2d09a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c2d09a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c2d09a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.msl
new file mode 100644
index 0000000..57bb0f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c2d09a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.spvasm
new file mode 100644
index 0000000..9abdc26
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c2d09a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.wgsl
new file mode 100644
index 0000000..c97d4c4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c2d09a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl
new file mode 100644
index 0000000..8da1fed
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_c5c86d() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b331499
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c5c86d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b331499
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c5c86d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.glsl
new file mode 100644
index 0000000..0b424a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c5c86d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c5c86d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c5c86d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.msl
new file mode 100644
index 0000000..3eaed71
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c5c86d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.spvasm
new file mode 100644
index 0000000..bbbd25e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c5c86d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.wgsl
new file mode 100644
index 0000000..18c8b84
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c5c86d.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl
new file mode 100644
index 0000000..856ea0d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_c7e313() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b44d0cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c7e313.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b44d0cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c7e313.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.glsl
new file mode 100644
index 0000000..dd5c291
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c7e313();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c7e313();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c7e313();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.msl
new file mode 100644
index 0000000..a5cb558
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c7e313.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.spvasm
new file mode 100644
index 0000000..d247f5f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c7e313.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.wgsl
new file mode 100644
index 0000000..312d179
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c7e313.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl
new file mode 100644
index 0000000..24624d8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_c80691() {
+ var res: vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a8e3537
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c80691.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a8e3537
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c80691.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.glsl
new file mode 100644
index 0000000..ed6b88e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c80691();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c80691();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c80691();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.msl
new file mode 100644
index 0000000..3bb0b5c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c80691.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.spvasm
new file mode 100644
index 0000000..92cf300
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c80691.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.wgsl
new file mode 100644
index 0000000..e08a435
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c80691.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl
new file mode 100644
index 0000000..bd3a67e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8snorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_c98bf4() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bf41684
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c98bf4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bf41684
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c98bf4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.glsl
new file mode 100644
index 0000000..7f51fe5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c98bf4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c98bf4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c98bf4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.msl
new file mode 100644
index 0000000..e00e4d1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c98bf4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.spvasm
new file mode 100644
index 0000000..0137c74
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c98bf4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.wgsl
new file mode 100644
index 0000000..95d11ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c98bf4.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl
new file mode 100644
index 0000000..4f8972d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_c9b083() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..15818cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9b083.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..15818cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9b083.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.glsl
new file mode 100644
index 0000000..6af0bb0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c9b083();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c9b083();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c9b083();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.msl
new file mode 100644
index 0000000..27570f6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9b083.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.spvasm
new file mode 100644
index 0000000..1e3a9ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9b083.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.wgsl
new file mode 100644
index 0000000..b00edd2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9b083.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl
new file mode 100644
index 0000000..c635eae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_c9f310() {
+ var res: vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1d7de85
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9f310.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1d7de85
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9f310.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.glsl
new file mode 100644
index 0000000..0d20161
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c9f310();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c9f310();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c9f310();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.msl
new file mode 100644
index 0000000..089aa87
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9f310.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.spvasm
new file mode 100644
index 0000000..fcc37fa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/c9f310.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.wgsl
new file mode 100644
index 0000000..d03e101
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/c9f310.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl
new file mode 100644
index 0000000..00ccd78
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_cac876() {
+ var res: vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8c5b0f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cac876.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8c5b0f9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cac876.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.glsl
new file mode 100644
index 0000000..d68d067
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cac876();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cac876();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cac876();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.msl
new file mode 100644
index 0000000..c77f09e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cac876.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.spvasm
new file mode 100644
index 0000000..f427abd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cac876.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.wgsl
new file mode 100644
index 0000000..973ca51
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cac876.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl
new file mode 100644
index 0000000..e2f4f6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_cdbcf6() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6108f11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdbcf6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6108f11
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdbcf6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.glsl
new file mode 100644
index 0000000..82ac279
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cdbcf6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cdbcf6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.msl
new file mode 100644
index 0000000..5c40211
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdbcf6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.spvasm
new file mode 100644
index 0000000..e03e878
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdbcf6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.wgsl
new file mode 100644
index 0000000..566bee4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdbcf6.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl
new file mode 100644
index 0000000..de03f44
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_cdccd2() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..481e1db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdccd2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..481e1db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdccd2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.glsl
new file mode 100644
index 0000000..a4d21d0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cdccd2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cdccd2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cdccd2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.msl
new file mode 100644
index 0000000..9caf448
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdccd2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.spvasm
new file mode 100644
index 0000000..42c4970
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cdccd2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.wgsl
new file mode 100644
index 0000000..4a7021b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cdccd2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl
new file mode 100644
index 0000000..1c58b51
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8unorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_cddf6b() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5764ca9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cddf6b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5764ca9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cddf6b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.glsl
new file mode 100644
index 0000000..7897ad3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cddf6b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cddf6b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cddf6b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.msl
new file mode 100644
index 0000000..194f232
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cddf6b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.spvasm
new file mode 100644
index 0000000..569363a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cddf6b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.wgsl
new file mode 100644
index 0000000..dc9ddb6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cddf6b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl
new file mode 100644
index 0000000..5fada8e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_cec477() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bd57e6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cec477.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bd57e6d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cec477.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.glsl
new file mode 100644
index 0000000..a248a86
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cec477();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cec477();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cec477();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.msl
new file mode 100644
index 0000000..41c05e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cec477.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.spvasm
new file mode 100644
index 0000000..4aaa3da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/cec477.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.wgsl
new file mode 100644
index 0000000..26bf0f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/cec477.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl
new file mode 100644
index 0000000..5d1848f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_d0e351() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..790c3a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d0e351.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..790c3a0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d0e351.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.glsl
new file mode 100644
index 0000000..bfebd33
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d0e351();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d0e351();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d0e351();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.msl
new file mode 100644
index 0000000..fda417a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d0e351.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.spvasm
new file mode 100644
index 0000000..6eb6203
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d0e351.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.wgsl
new file mode 100644
index 0000000..0894874
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d0e351.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl
new file mode 100644
index 0000000..97ee8dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_d37a08() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e674a4e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d37a08.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e674a4e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d37a08.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.glsl
new file mode 100644
index 0000000..e46d44b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d37a08();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d37a08();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d37a08();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.msl
new file mode 100644
index 0000000..3e818a4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d37a08.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.spvasm
new file mode 100644
index 0000000..a76ceb2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d37a08.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.wgsl
new file mode 100644
index 0000000..c74c41e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d37a08.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl
new file mode 100644
index 0000000..315170d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_d3d8fc() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5883f1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d3d8fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5883f1b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d3d8fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.glsl
new file mode 100644
index 0000000..ddf8e3d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d3d8fc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d3d8fc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.msl
new file mode 100644
index 0000000..02764ad
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d3d8fc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.spvasm
new file mode 100644
index 0000000..0d4cb75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d3d8fc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.wgsl
new file mode 100644
index 0000000..adfaecf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d3d8fc.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl
new file mode 100644
index 0000000..e4ebbc3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_d41c72() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7497160
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d41c72.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7497160
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d41c72.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.glsl
new file mode 100644
index 0000000..60c55d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d41c72();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d41c72();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d41c72();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.msl
new file mode 100644
index 0000000..438aaa6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d41c72.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.spvasm
new file mode 100644
index 0000000..94014db
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d41c72.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.wgsl
new file mode 100644
index 0000000..a87d525
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d41c72.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl
new file mode 100644
index 0000000..336a6e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_d72de9() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c61b045
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d72de9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c61b045
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d72de9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.glsl
new file mode 100644
index 0000000..92b7817
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d72de9();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d72de9();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d72de9();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.msl
new file mode 100644
index 0000000..99a4d31
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d72de9.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.spvasm
new file mode 100644
index 0000000..c739a14
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d72de9.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.wgsl
new file mode 100644
index 0000000..16aec29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d72de9.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl
new file mode 100644
index 0000000..acbbe63
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_d7996a() {
+ var res: vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b2c1e55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d7996a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b2c1e55
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d7996a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.glsl
new file mode 100644
index 0000000..876185f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d7996a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d7996a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d7996a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.msl
new file mode 100644
index 0000000..b4527e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d7996a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.spvasm
new file mode 100644
index 0000000..35e49e4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d7996a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.wgsl
new file mode 100644
index 0000000..34fd0f0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d7996a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var res : vec4<i32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl
new file mode 100644
index 0000000..b362159
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_d79c5c() {
+ var res: vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a8344f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d79c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a8344f8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d79c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.glsl
new file mode 100644
index 0000000..ed623fb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d79c5c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d79c5c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ uvec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d79c5c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.msl
new file mode 100644
index 0000000..769b7c7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d79c5c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.spvasm
new file mode 100644
index 0000000..33b9359
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d79c5c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.wgsl
new file mode 100644
index 0000000..05bd0f3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d79c5c.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var res : vec4<u32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl
new file mode 100644
index 0000000..e3216bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<bgra8unorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_d80ff3() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..091db37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d80ff3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..091db37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d80ff3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.glsl
new file mode 100644
index 0000000..6fd9de0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d80ff3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d80ff3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d80ff3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.msl
new file mode 100644
index 0000000..3536a75
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d80ff3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.spvasm
new file mode 100644
index 0000000..c3818f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d80ff3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.wgsl
new file mode 100644
index 0000000..8d4fecf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d80ff3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl
new file mode 100644
index 0000000..e276bd1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_d8be5a() {
+ var res: vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4b09dff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d8be5a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4b09dff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d8be5a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.glsl
new file mode 100644
index 0000000..91e11f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d8be5a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d8be5a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ ivec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d8be5a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.msl
new file mode 100644
index 0000000..ea15eb7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d8be5a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.spvasm
new file mode 100644
index 0000000..5560a445
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d8be5a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.wgsl
new file mode 100644
index 0000000..d1b43b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d8be5a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var res : vec4<i32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl
new file mode 100644
index 0000000..e2a1cdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_d91f37() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c96fd8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d91f37.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c96fd8a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d91f37.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.glsl
new file mode 100644
index 0000000..c7e80ca
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d91f37();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d91f37();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d91f37();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.msl
new file mode 100644
index 0000000..cc55317
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d91f37.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.spvasm
new file mode 100644
index 0000000..cd7c7af
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/d91f37.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.wgsl
new file mode 100644
index 0000000..9fc365f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/d91f37.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl
new file mode 100644
index 0000000..bbcba32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_dab04f() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2df485c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dab04f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2df485c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dab04f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.glsl
new file mode 100644
index 0000000..11cc13f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_dab04f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_dab04f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_dab04f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.msl
new file mode 100644
index 0000000..6b21f5d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dab04f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.spvasm
new file mode 100644
index 0000000..067ad37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dab04f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.wgsl
new file mode 100644
index 0000000..a5ad17e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dab04f.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl
new file mode 100644
index 0000000..f6b4810
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_dd5859() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5d9146e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dd5859.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5d9146e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dd5859.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.glsl
new file mode 100644
index 0000000..2bf9b08
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_dd5859();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_dd5859();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_dd5859();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.msl
new file mode 100644
index 0000000..5f6cce2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dd5859.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.spvasm
new file mode 100644
index 0000000..e0ed043
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/dd5859.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.wgsl
new file mode 100644
index 0000000..0feddd5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/dd5859.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl
new file mode 100644
index 0000000..fdb6e92
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_de5a0e() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e4e24f06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/de5a0e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e4e24f06
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/de5a0e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.glsl
new file mode 100644
index 0000000..56deb37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_de5a0e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_de5a0e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), 1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_de5a0e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.msl
new file mode 100644
index 0000000..a83a187
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/de5a0e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.spvasm
new file mode 100644
index 0000000..fda77dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/de5a0e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.wgsl
new file mode 100644
index 0000000..5837a88
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/de5a0e.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl
new file mode 100644
index 0000000..acbf133
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_defd9a() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c648bcc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/defd9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c648bcc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/defd9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.glsl
new file mode 100644
index 0000000..68f7400
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_defd9a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_defd9a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_defd9a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.msl
new file mode 100644
index 0000000..991cd32
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/defd9a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.spvasm
new file mode 100644
index 0000000..048c0d7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/defd9a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.wgsl
new file mode 100644
index 0000000..7da95ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/defd9a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl
new file mode 100644
index 0000000..f2c671e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_e1c3cf() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f01cfdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e1c3cf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f01cfdd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e1c3cf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.glsl
new file mode 100644
index 0000000..dd5d2ef
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e1c3cf();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e1c3cf();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.msl
new file mode 100644
index 0000000..fe156d5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e1c3cf.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.spvasm
new file mode 100644
index 0000000..4753bfc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e1c3cf.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.wgsl
new file mode 100644
index 0000000..100c0f5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e1c3cf.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl
new file mode 100644
index 0000000..3e6ace0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_e2b3a1() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e732ac7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2b3a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e732ac7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2b3a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.glsl
new file mode 100644
index 0000000..5452f17
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e2b3a1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e2b3a1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.msl
new file mode 100644
index 0000000..ae8e1ff
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2b3a1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.spvasm
new file mode 100644
index 0000000..6dc6d15
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2b3a1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.wgsl
new file mode 100644
index 0000000..1f8a6dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2b3a1.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl
new file mode 100644
index 0000000..d95ef8f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_e2d7da() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..90976cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2d7da.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..90976cf
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2d7da.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.glsl
new file mode 100644
index 0000000..43cc7da
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e2d7da();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e2d7da();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e2d7da();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.msl
new file mode 100644
index 0000000..c2cc056
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2d7da.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.spvasm
new file mode 100644
index 0000000..fd53ff8
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e2d7da.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.wgsl
new file mode 100644
index 0000000..98384d2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e2d7da.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl
new file mode 100644
index 0000000..53d2df1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_e33285() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7efd10a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e33285.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7efd10a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e33285.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.glsl
new file mode 100644
index 0000000..7dc89aa
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e33285();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e33285();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e33285();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.msl
new file mode 100644
index 0000000..4c2e2e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e33285.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.spvasm
new file mode 100644
index 0000000..2d2ca12
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e33285.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.wgsl
new file mode 100644
index 0000000..a5376ee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e33285.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl
new file mode 100644
index 0000000..18115f2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_e9eb65() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b6da068
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e9eb65.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b6da068
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e9eb65.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.glsl
new file mode 100644
index 0000000..1f70d66
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e9eb65();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e9eb65();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e9eb65();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.msl
new file mode 100644
index 0000000..05cece2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e9eb65.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.spvasm
new file mode 100644
index 0000000..ae0f75f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/e9eb65.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.wgsl
new file mode 100644
index 0000000..de639b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/e9eb65.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl
new file mode 100644
index 0000000..0b32271
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_ed55a8() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4f67234
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ed55a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4f67234
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ed55a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.glsl
new file mode 100644
index 0000000..f27420b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ed55a8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ed55a8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ed55a8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.msl
new file mode 100644
index 0000000..d209aee
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ed55a8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.spvasm
new file mode 100644
index 0000000..b987779
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ed55a8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..cbef2dd
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ed55a8.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl
new file mode 100644
index 0000000..63bd64f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_ef2ec3() {
+ var res: vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..794f8dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ef2ec3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..794f8dc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ef2ec3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.glsl
new file mode 100644
index 0000000..f8d321d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.glsl
@@ -0,0 +1,90 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ef2ec3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ef2ec3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.msl
new file mode 100644
index 0000000..fae1569
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ef2ec3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.spvasm
new file mode 100644
index 0000000..ba17642
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/ef2ec3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.wgsl
new file mode 100644
index 0000000..7a597bc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/ef2ec3.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var res : vec4<i32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl
new file mode 100644
index 0000000..6290569
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_f0514a() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e247477
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f0514a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e247477
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f0514a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.glsl
new file mode 100644
index 0000000..10e32ba
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f0514a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f0514a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f0514a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.msl
new file mode 100644
index 0000000..e3a03e9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f0514a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.spvasm
new file mode 100644
index 0000000..73acc2c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f0514a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.wgsl
new file mode 100644
index 0000000..7a3ce83
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f0514a.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl
new file mode 100644
index 0000000..fdda40c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_f1c549() {
+ var res: vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..81d7e29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f1c549.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..81d7e29
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f1c549.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.glsl
new file mode 100644
index 0000000..bc12584
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f1c549();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f1c549();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ vec4 res = texelFetch(arg_0, ivec3(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f1c549();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.msl
new file mode 100644
index 0000000..280dc58
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f1c549.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.spvasm
new file mode 100644
index 0000000..f51050f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f1c549.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.wgsl
new file mode 100644
index 0000000..e03a9ce
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f1c549.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var res : vec4<f32> = textureLoad(arg_0, vec3<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl
new file mode 100644
index 0000000..38780ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_f2c311() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a16e509
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f2c311.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a16e509
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f2c311.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.glsl
new file mode 100644
index 0000000..628199b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f2c311();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f2c311();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f2c311();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.msl
new file mode 100644
index 0000000..e5ed557
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f2c311.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.spvasm
new file mode 100644
index 0000000..c4629cc
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f2c311.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.wgsl
new file mode 100644
index 0000000..f960dd21
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f2c311.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl
new file mode 100644
index 0000000..19493f4
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_f5fbc6() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..aff7611
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f5fbc6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..aff7611
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f5fbc6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.glsl
new file mode 100644
index 0000000..09c202a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f5fbc6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f5fbc6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.msl
new file mode 100644
index 0000000..fdb4070
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f5fbc6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.spvasm
new file mode 100644
index 0000000..b96a068
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f5fbc6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.wgsl
new file mode 100644
index 0000000..f5bee6f
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f5fbc6.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl
new file mode 100644
index 0000000..56d410d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8snorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_f7f3bc() {
+ var res: vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..593d426
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f7f3bc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..593d426
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f7f3bc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.glsl
new file mode 100644
index 0000000..b632f54
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f7f3bc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ vec4 res = texelFetch(arg_0, ivec2(1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f7f3bc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.msl
new file mode 100644
index 0000000..b8b413a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f7f3bc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.spvasm
new file mode 100644
index 0000000..9debec3
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f7f3bc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.wgsl
new file mode 100644
index 0000000..9de42e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f7f3bc.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var res : vec4<f32> = textureLoad(arg_0, 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl
new file mode 100644
index 0000000..372baf2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_f81792() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..260097c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f81792.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..260097c
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f81792.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.glsl
new file mode 100644
index 0000000..f499b25
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f81792();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f81792();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ vec4 res = texelFetch(arg_0, ivec3(ivec2(1), 1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f81792();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.msl
new file mode 100644
index 0000000..e7dbc57
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f81792.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.spvasm
new file mode 100644
index 0000000..52673b2
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f81792.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.wgsl
new file mode 100644
index 0000000..d764026
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f81792.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl
new file mode 100644
index 0000000..b3e273b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_f82eb2() {
+ var res: vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c82bf37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f82eb2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c82bf37
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f82eb2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.glsl
new file mode 100644
index 0000000..1ba4288
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f82eb2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f82eb2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(1u, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f82eb2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.msl
new file mode 100644
index 0000000..19e4ab1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f82eb2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.spvasm
new file mode 100644
index 0000000..b028325
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f82eb2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.wgsl
new file mode 100644
index 0000000..d1c44a5
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f82eb2.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var res : vec4<f32> = textureLoad(arg_0, 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl
new file mode 100644
index 0000000..6a6a5e1
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_f92c2d() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b85853e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f92c2d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b85853e
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f92c2d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.glsl
new file mode 100644
index 0000000..57f8ed0
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f92c2d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f92c2d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ vec4 res = texelFetch(arg_0, ivec2(1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f92c2d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.msl
new file mode 100644
index 0000000..71daf22
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f92c2d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.spvasm
new file mode 100644
index 0000000..a70c073
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/f92c2d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.wgsl
new file mode 100644
index 0000000..3e277ae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/f92c2d.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<i32>(1i));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl
new file mode 100644
index 0000000..d32911d
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_fc47ff() {
+ var res: vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5a555e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fc47ff.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5a555e7
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fc47ff.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.glsl
new file mode 100644
index 0000000..29c8821
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fc47ff();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fc47ff();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fc47ff();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.msl
new file mode 100644
index 0000000..a3b2ca6
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fc47ff.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.spvasm
new file mode 100644
index 0000000..4f98fae
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fc47ff.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.wgsl
new file mode 100644
index 0000000..a7e4d89
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fc47ff.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var res : vec4<i32> = textureLoad(arg_0, vec2<u32>(1u));
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl
new file mode 100644
index 0000000..6336f34
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_fd9606() {
+ var res: vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..328245b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fd9606.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..328245b
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fd9606.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.glsl
new file mode 100644
index 0000000..9a43f77
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fd9606();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fd9606();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(uvec2(1u), uint(1))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fd9606();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.msl
new file mode 100644
index 0000000..e032949
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fd9606.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.spvasm
new file mode 100644
index 0000000..121fdbb
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fd9606.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.wgsl
new file mode 100644
index 0000000..56dc77a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fd9606.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var res : vec4<f32> = textureLoad(arg_0, vec2<u32>(1u), 1i);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl
new file mode 100644
index 0000000..0a7127a
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl
@@ -0,0 +1,48 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_fe2c1b() {
+ var res: vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0449545
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fe2c1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0449545
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fe2c1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.glsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.glsl
new file mode 100644
index 0000000..be4caa9
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fe2c1b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ uvec4 res = texelFetch(arg_0, ivec3(ivec2(1), int(1u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fe2c1b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:9: 'texelFetch' : no matching overloaded function found
+ERROR: 0:9: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:9: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.msl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.msl
new file mode 100644
index 0000000..4db8607
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.msl
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fe2c1b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.spvasm
new file mode 100644
index 0000000..4c08e83
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.spvasm
@@ -0,0 +1,34 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/literal/textureLoad/fe2c1b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.wgsl
new file mode 100644
index 0000000..9776334
--- /dev/null
+++ b/test/tint/builtins/gen/literal/textureLoad/fe2c1b.wgsl.expected.wgsl
@@ -0,0 +1,26 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var res : vec4<u32> = textureLoad(arg_0, vec2<i32>(1i), 1u);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl
new file mode 100644
index 0000000..221cce6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8unorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..94d68e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/012e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..94d68e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/012e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.glsl
new file mode 100644
index 0000000..cf3c630
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_012e11();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_012e11();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_012e11() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_012e11();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.msl
new file mode 100644
index 0000000..1f5e6de
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/012e11.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.spvasm
new file mode 100644
index 0000000..bcc17ff
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/012e11.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.wgsl
new file mode 100644
index 0000000..a4ff748
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/012e11.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_012e11() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_012e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_012e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_012e11();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl
new file mode 100644
index 0000000..80e4b40
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2908bf9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/01cd01.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2908bf9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/01cd01.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.glsl
new file mode 100644
index 0000000..9bc240a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_01cd01();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_01cd01();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_01cd01() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_01cd01();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.msl
new file mode 100644
index 0000000..3ee8aeb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/01cd01.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.spvasm
new file mode 100644
index 0000000..67aa304
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/01cd01.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.wgsl
new file mode 100644
index 0000000..7a951b9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/01cd01.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_01cd01() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_01cd01();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_01cd01();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_01cd01();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl
new file mode 100644
index 0000000..f5f5342
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..40e4bec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02c48d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..40e4bec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02c48d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.glsl
new file mode 100644
index 0000000..eede031
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_02c48d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_02c48d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02c48d() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_02c48d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.msl
new file mode 100644
index 0000000..70747ad
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02c48d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.spvasm
new file mode 100644
index 0000000..c54726f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02c48d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.wgsl
new file mode 100644
index 0000000..24d2754
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02c48d.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_02c48d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02c48d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02c48d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02c48d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl
new file mode 100644
index 0000000..910e6f0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..75fa1a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02ef1f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..75fa1a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02ef1f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.glsl
new file mode 100644
index 0000000..a61340b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_02ef1f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_02ef1f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_02ef1f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_02ef1f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.msl
new file mode 100644
index 0000000..f177a0b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02ef1f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.spvasm
new file mode 100644
index 0000000..336f7f6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/02ef1f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.wgsl
new file mode 100644
index 0000000..8ad4fbb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/02ef1f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_02ef1f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_02ef1f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_02ef1f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_02ef1f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl
new file mode 100644
index 0000000..960dfd3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d680752
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/03e03e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d680752
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/03e03e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.glsl
new file mode 100644
index 0000000..ea7ade0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_03e03e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_03e03e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_03e03e() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_03e03e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.msl
new file mode 100644
index 0000000..5ed65a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/03e03e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.spvasm
new file mode 100644
index 0000000..4523fd9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/03e03e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.wgsl
new file mode 100644
index 0000000..a438901
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/03e03e.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_03e03e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_03e03e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_03e03e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_03e03e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl
new file mode 100644
index 0000000..5efa916
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4895e88
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/054350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4895e88
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/054350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.glsl
new file mode 100644
index 0000000..23df68e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_054350();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_054350();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_054350() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_054350();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.msl
new file mode 100644
index 0000000..d92afd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/054350.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.spvasm
new file mode 100644
index 0000000..659d950
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/054350.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.wgsl
new file mode 100644
index 0000000..592f0f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/054350.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_054350() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_054350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_054350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_054350();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl
new file mode 100644
index 0000000..cb8cbb5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..70e18ee
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/0b515a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..70e18ee
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/0b515a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.glsl
new file mode 100644
index 0000000..b52dc58
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_0b515a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_0b515a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_0b515a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_0b515a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.msl
new file mode 100644
index 0000000..6d74486
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/0b515a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.spvasm
new file mode 100644
index 0000000..47420c9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/0b515a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.wgsl
new file mode 100644
index 0000000..486a5b7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/0b515a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_0b515a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_0b515a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_0b515a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_0b515a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl
new file mode 100644
index 0000000..ab1ee9d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e8fb5b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/126466.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e8fb5b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/126466.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.glsl
new file mode 100644
index 0000000..24db407
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_126466();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_126466();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_126466() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_126466();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.msl
new file mode 100644
index 0000000..0e9d3a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/126466.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.spvasm
new file mode 100644
index 0000000..77219e6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/126466.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.wgsl
new file mode 100644
index 0000000..623427d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/126466.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_126466() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_126466();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_126466();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_126466();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl
new file mode 100644
index 0000000..b858948
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8unorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7d0727d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/14cc4c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7d0727d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/14cc4c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.glsl
new file mode 100644
index 0000000..a4c326e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_14cc4c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_14cc4c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_14cc4c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_14cc4c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.msl
new file mode 100644
index 0000000..300cd5a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/14cc4c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.spvasm
new file mode 100644
index 0000000..7ab19d1c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/14cc4c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.wgsl
new file mode 100644
index 0000000..49a2f72
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/14cc4c.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_14cc4c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_14cc4c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_14cc4c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_14cc4c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl
new file mode 100644
index 0000000..424f445
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b0351e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1619bf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b0351e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1619bf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.glsl
new file mode 100644
index 0000000..ff77d4b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1619bf();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1619bf();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1619bf() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1619bf();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.msl
new file mode 100644
index 0000000..37b23c6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1619bf.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.spvasm
new file mode 100644
index 0000000..ba244c7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1619bf.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.wgsl
new file mode 100644
index 0000000..4f0abd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1619bf.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_1619bf() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1619bf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1619bf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1619bf();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl
new file mode 100644
index 0000000..5c84b39
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e638d74
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/170593.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e638d74
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/170593.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.glsl
new file mode 100644
index 0000000..025330e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_170593();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_170593();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_170593() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_170593();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.msl
new file mode 100644
index 0000000..f7671b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/170593.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.spvasm
new file mode 100644
index 0000000..8d6eeab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/170593.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.wgsl
new file mode 100644
index 0000000..5a3f378
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/170593.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_170593() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_170593();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_170593();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_170593();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl
new file mode 100644
index 0000000..ae92052
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0a58e65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/17095b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0a58e65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/17095b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.glsl
new file mode 100644
index 0000000..0507c06
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_17095b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_17095b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_17095b() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_17095b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.msl
new file mode 100644
index 0000000..43ee7b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/17095b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.spvasm
new file mode 100644
index 0000000..991e5ed
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/17095b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.wgsl
new file mode 100644
index 0000000..9b9cffc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/17095b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_17095b() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_17095b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_17095b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_17095b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl
new file mode 100644
index 0000000..273139e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5d8b9db
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/19d6be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5d8b9db
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/19d6be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.glsl
new file mode 100644
index 0000000..43e1497
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_19d6be();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_19d6be();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_19d6be() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_19d6be();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.msl
new file mode 100644
index 0000000..8e9197c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/19d6be.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.spvasm
new file mode 100644
index 0000000..e39ffba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/19d6be.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.wgsl
new file mode 100644
index 0000000..fbfefa3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/19d6be.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_19d6be() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_19d6be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_19d6be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_19d6be();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl
new file mode 100644
index 0000000..fb44753
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bd8cf8b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1b4332.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bd8cf8b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1b4332.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.glsl
new file mode 100644
index 0000000..261f3ea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1b4332();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1b4332();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_1b4332() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1b4332();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.msl
new file mode 100644
index 0000000..2e466a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1b4332.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.spvasm
new file mode 100644
index 0000000..18dfdd5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1b4332.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.wgsl
new file mode 100644
index 0000000..dd24bc6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1b4332.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, read_write>;
+
+fn textureLoad_1b4332() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1b4332();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1b4332();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1b4332();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl
new file mode 100644
index 0000000..017d023
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8snorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1566222
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1bc5ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1566222
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1bc5ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.glsl
new file mode 100644
index 0000000..00fb472
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1bc5ab();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1bc5ab() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1bc5ab();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.msl
new file mode 100644
index 0000000..e06aa01
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1bc5ab.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.spvasm
new file mode 100644
index 0000000..973bbb3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1bc5ab.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.wgsl
new file mode 100644
index 0000000..6658cbe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1bc5ab.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_1bc5ab() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1bc5ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1bc5ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1bc5ab();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl
new file mode 100644
index 0000000..7aa70d6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2259f92
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1d43ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2259f92
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1d43ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.glsl
new file mode 100644
index 0000000..72d8dd4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1d43ae();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1d43ae();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_1d43ae() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1d43ae();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.msl
new file mode 100644
index 0000000..5e6c7b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1d43ae.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.spvasm
new file mode 100644
index 0000000..7e9ed40
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1d43ae.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.wgsl
new file mode 100644
index 0000000..1aa4cba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1d43ae.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_1d43ae() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1d43ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1d43ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1d43ae();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl
new file mode 100644
index 0000000..d4e9a9c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f4b32ba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1e6baa.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f4b32ba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1e6baa.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.glsl
new file mode 100644
index 0000000..39da36e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_1e6baa();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_1e6baa();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_1e6baa() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_1e6baa();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.msl
new file mode 100644
index 0000000..d10a6ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1e6baa.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.spvasm
new file mode 100644
index 0000000..571847f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/1e6baa.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.wgsl
new file mode 100644
index 0000000..b3c976e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/1e6baa.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_1e6baa() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_1e6baa();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_1e6baa();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_1e6baa();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl
new file mode 100644
index 0000000..5ac5319
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b38e858
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/25b67f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b38e858
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/25b67f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.glsl
new file mode 100644
index 0000000..22b15dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_25b67f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_25b67f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_25b67f() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_25b67f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.msl
new file mode 100644
index 0000000..19462ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/25b67f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.spvasm
new file mode 100644
index 0000000..091083b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/25b67f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.wgsl
new file mode 100644
index 0000000..57dc12d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/25b67f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_25b67f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_25b67f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_25b67f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_25b67f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl
new file mode 100644
index 0000000..066e9e7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..377b000
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/26b8f6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..377b000
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/26b8f6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.glsl
new file mode 100644
index 0000000..ce5c93c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_26b8f6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_26b8f6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_26b8f6() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_26b8f6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.msl
new file mode 100644
index 0000000..65d889c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/26b8f6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.spvasm
new file mode 100644
index 0000000..9034142
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/26b8f6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.wgsl
new file mode 100644
index 0000000..7fa82ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/26b8f6.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_26b8f6() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_26b8f6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_26b8f6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_26b8f6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl
new file mode 100644
index 0000000..091c927
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a9032e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/272e7a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a9032e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/272e7a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.glsl
new file mode 100644
index 0000000..78e66fb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_272e7a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_272e7a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_272e7a() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_272e7a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.msl
new file mode 100644
index 0000000..de9ffe1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/272e7a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.spvasm
new file mode 100644
index 0000000..2c0323e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/272e7a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.wgsl
new file mode 100644
index 0000000..1caea29
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/272e7a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_272e7a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_272e7a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_272e7a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_272e7a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl
new file mode 100644
index 0000000..9008ae7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..81c0eaf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2cee30.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..81c0eaf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2cee30.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.glsl
new file mode 100644
index 0000000..3809110
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2cee30();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2cee30();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2cee30() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2cee30();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.msl
new file mode 100644
index 0000000..cfa0e38
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2cee30.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.spvasm
new file mode 100644
index 0000000..9c9008b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2cee30.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.wgsl
new file mode 100644
index 0000000..c887ac0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2cee30.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_2cee30() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2cee30();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2cee30();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2cee30();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl
new file mode 100644
index 0000000..062c7c6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e822334
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2dbfc2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e822334
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2dbfc2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.glsl
new file mode 100644
index 0000000..25cdac5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2dbfc2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_2dbfc2() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2dbfc2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.msl
new file mode 100644
index 0000000..836bbb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2dbfc2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.spvasm
new file mode 100644
index 0000000..3997797
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2dbfc2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.wgsl
new file mode 100644
index 0000000..fd3316af
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2dbfc2.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_2dbfc2() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2dbfc2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2dbfc2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2dbfc2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl
new file mode 100644
index 0000000..492d4ce
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..eb315c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2eaf31.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..eb315c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2eaf31.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.glsl
new file mode 100644
index 0000000..06112ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_2eaf31();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_2eaf31();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_2eaf31() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_2eaf31();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.msl
new file mode 100644
index 0000000..08898ce
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2eaf31.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.spvasm
new file mode 100644
index 0000000..20b7859
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/2eaf31.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.wgsl
new file mode 100644
index 0000000..962d2ed
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/2eaf31.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_2eaf31() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_2eaf31();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_2eaf31();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_2eaf31();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl
new file mode 100644
index 0000000..c4d76ed
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9b3f904
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/32a7b8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9b3f904
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/32a7b8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.glsl
new file mode 100644
index 0000000..377c486
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_32a7b8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_32a7b8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_32a7b8() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_32a7b8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.msl
new file mode 100644
index 0000000..c30f79b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/32a7b8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.spvasm
new file mode 100644
index 0000000..31dc1d5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/32a7b8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.wgsl
new file mode 100644
index 0000000..25a777c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/32a7b8.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_32a7b8() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_32a7b8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_32a7b8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_32a7b8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl
new file mode 100644
index 0000000..17f1e00
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fc6be5c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/34d97c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fc6be5c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/34d97c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.glsl
new file mode 100644
index 0000000..2a93766
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_34d97c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_34d97c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_34d97c() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_34d97c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.msl
new file mode 100644
index 0000000..822a24e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/34d97c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.spvasm
new file mode 100644
index 0000000..7c826d1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/34d97c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.wgsl
new file mode 100644
index 0000000..28f2a73
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/34d97c.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_34d97c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_34d97c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_34d97c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_34d97c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl
new file mode 100644
index 0000000..1bc0fd9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8snorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fcb5b06
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/39016c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fcb5b06
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/39016c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.glsl
new file mode 100644
index 0000000..9106642
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_39016c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_39016c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_39016c() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_39016c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.msl
new file mode 100644
index 0000000..34b0cd9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/39016c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.spvasm
new file mode 100644
index 0000000..8e38970
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/39016c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.wgsl
new file mode 100644
index 0000000..31c3232
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/39016c.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_39016c() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_39016c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_39016c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_39016c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl
new file mode 100644
index 0000000..ea275d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0719f21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/395447.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0719f21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/395447.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.glsl
new file mode 100644
index 0000000..d253d65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_395447();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_395447();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_395447() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_395447();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.msl
new file mode 100644
index 0000000..505c90e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/395447.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.spvasm
new file mode 100644
index 0000000..59a1666
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/395447.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.wgsl
new file mode 100644
index 0000000..16ade18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/395447.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_395447() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_395447();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_395447();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_395447();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl
new file mode 100644
index 0000000..1dbdcc3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..21fab2f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3a2350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..21fab2f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3a2350.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.glsl
new file mode 100644
index 0000000..bee63d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3a2350();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3a2350();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3a2350() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3a2350();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.msl
new file mode 100644
index 0000000..9074a48
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3a2350.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.spvasm
new file mode 100644
index 0000000..dc54759
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3a2350.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.wgsl
new file mode 100644
index 0000000..373a176
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3a2350.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_3a2350() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3a2350();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3a2350();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3a2350();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl
new file mode 100644
index 0000000..4d9bfd5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a213762
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3aea13.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a213762
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3aea13.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.glsl
new file mode 100644
index 0000000..779b308
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3aea13();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3aea13();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_3aea13() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3aea13();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.msl
new file mode 100644
index 0000000..86756ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3aea13.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.spvasm
new file mode 100644
index 0000000..7d80e91
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3aea13.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.wgsl
new file mode 100644
index 0000000..cac77f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3aea13.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_3aea13() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3aea13();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3aea13();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3aea13();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl
new file mode 100644
index 0000000..b769b07
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..af6b5f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3bbc2b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..af6b5f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3bbc2b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.glsl
new file mode 100644
index 0000000..dd2bf41
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3bbc2b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_3bbc2b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3bbc2b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.msl
new file mode 100644
index 0000000..ed11ba1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3bbc2b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.spvasm
new file mode 100644
index 0000000..425de90
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3bbc2b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.wgsl
new file mode 100644
index 0000000..1747446
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3bbc2b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_3bbc2b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3bbc2b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3bbc2b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3bbc2b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl
new file mode 100644
index 0000000..b89a69d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1ea53a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3cfb9c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1ea53a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3cfb9c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.glsl
new file mode 100644
index 0000000..5381ccd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_3cfb9c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_3cfb9c() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_3cfb9c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.msl
new file mode 100644
index 0000000..d8b64cc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3cfb9c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.spvasm
new file mode 100644
index 0000000..13f0879
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/3cfb9c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.wgsl
new file mode 100644
index 0000000..626ba2e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/3cfb9c.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, read_write>;
+
+fn textureLoad_3cfb9c() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_3cfb9c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_3cfb9c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_3cfb9c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl
new file mode 100644
index 0000000..596bedf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..538e5a7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/40ee8b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..538e5a7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/40ee8b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.glsl
new file mode 100644
index 0000000..5c34221
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_40ee8b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_40ee8b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_40ee8b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_40ee8b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.msl
new file mode 100644
index 0000000..7e4703b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/40ee8b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.spvasm
new file mode 100644
index 0000000..ce078f99
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/40ee8b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.wgsl
new file mode 100644
index 0000000..e05d2b5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/40ee8b.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_40ee8b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_40ee8b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_40ee8b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_40ee8b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl
new file mode 100644
index 0000000..bec900e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6dc729e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4212a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6dc729e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4212a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.glsl
new file mode 100644
index 0000000..9a5871f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4212a1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4212a1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4212a1() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4212a1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.msl
new file mode 100644
index 0000000..2977074
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4212a1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.spvasm
new file mode 100644
index 0000000..4e0db88
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4212a1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.wgsl
new file mode 100644
index 0000000..a6d18ac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4212a1.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_4212a1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4212a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4212a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4212a1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl
new file mode 100644
index 0000000..21074cd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3d7ed5d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/424afd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3d7ed5d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/424afd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.glsl
new file mode 100644
index 0000000..72d38b0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_424afd();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_424afd();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_424afd() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_424afd();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.msl
new file mode 100644
index 0000000..91d75e6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/424afd.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.spvasm
new file mode 100644
index 0000000..1d85f13
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/424afd.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.wgsl
new file mode 100644
index 0000000..9eaf6ba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/424afd.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_424afd() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_424afd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_424afd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_424afd();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl
new file mode 100644
index 0000000..1eb6755e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..b65166e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/42a631.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..b65166e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/42a631.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.glsl
new file mode 100644
index 0000000..30625f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_42a631();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_42a631();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_42a631() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_42a631();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.msl
new file mode 100644
index 0000000..d6fb3a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/42a631.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.spvasm
new file mode 100644
index 0000000..32ff55f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/42a631.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.wgsl
new file mode 100644
index 0000000..a7e0cbf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/42a631.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_42a631() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_42a631();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_42a631();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_42a631();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl
new file mode 100644
index 0000000..10a3474
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8fa6ea3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43484a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8fa6ea3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43484a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.glsl
new file mode 100644
index 0000000..88e90fb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_43484a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_43484a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43484a() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_43484a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.msl
new file mode 100644
index 0000000..451ba83
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43484a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.spvasm
new file mode 100644
index 0000000..65a3eef
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43484a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.wgsl
new file mode 100644
index 0000000..fe22d0f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43484a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_43484a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43484a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43484a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43484a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl
new file mode 100644
index 0000000..0efee2cc5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8snorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1c70f9a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43cd86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1c70f9a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43cd86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.glsl
new file mode 100644
index 0000000..17745e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_43cd86();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_43cd86();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_43cd86() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_43cd86();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.msl
new file mode 100644
index 0000000..0b9bd9d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43cd86.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.spvasm
new file mode 100644
index 0000000..02f5e7e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/43cd86.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.wgsl
new file mode 100644
index 0000000..c884e24
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/43cd86.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8snorm, read_write>;
+
+fn textureLoad_43cd86() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_43cd86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_43cd86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_43cd86();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl
new file mode 100644
index 0000000..72b02b9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..500accf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4542ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..500accf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4542ae.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.glsl
new file mode 100644
index 0000000..9dcafb2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4542ae();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4542ae();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4542ae() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4542ae();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.msl
new file mode 100644
index 0000000..75228b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4542ae.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.spvasm
new file mode 100644
index 0000000..f693a08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4542ae.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.wgsl
new file mode 100644
index 0000000..71b018f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4542ae.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_4542ae() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4542ae();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4542ae();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4542ae();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl
new file mode 100644
index 0000000..ab7a919
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a9f65e5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/469912.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a9f65e5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/469912.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.glsl
new file mode 100644
index 0000000..81acb91
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_469912();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_469912();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_469912() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_469912();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.msl
new file mode 100644
index 0000000..d8090d8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/469912.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.spvasm
new file mode 100644
index 0000000..87440d4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/469912.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.wgsl
new file mode 100644
index 0000000..37ed7bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/469912.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_469912() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_469912();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_469912();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_469912();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl
new file mode 100644
index 0000000..99a6ca4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..831a694
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/473d3e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..831a694
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/473d3e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.glsl
new file mode 100644
index 0000000..1f24304
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_473d3e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_473d3e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_473d3e() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_473d3e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.msl
new file mode 100644
index 0000000..2fcb533
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/473d3e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.spvasm
new file mode 100644
index 0000000..1552612
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/473d3e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.wgsl
new file mode 100644
index 0000000..c0d5f5c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/473d3e.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_473d3e() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_473d3e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_473d3e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_473d3e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl
new file mode 100644
index 0000000..fac2f6b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ad0b2ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/482627.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ad0b2ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/482627.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.glsl
new file mode 100644
index 0000000..7185db5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_482627();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_482627();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_482627() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_482627();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.msl
new file mode 100644
index 0000000..7cfc362
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/482627.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a2b423
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/482627.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.wgsl
new file mode 100644
index 0000000..d2ee4f8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/482627.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_482627() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_482627();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_482627();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_482627();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl
new file mode 100644
index 0000000..7fa5db1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..392b638
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4a5c55.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..392b638
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4a5c55.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.glsl
new file mode 100644
index 0000000..b6cf69c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4a5c55();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4a5c55();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_4a5c55() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4a5c55();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.msl
new file mode 100644
index 0000000..52013bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4a5c55.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.spvasm
new file mode 100644
index 0000000..ebbd5f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4a5c55.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.wgsl
new file mode 100644
index 0000000..7b467b0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4a5c55.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_4a5c55() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4a5c55();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4a5c55();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4a5c55();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl
new file mode 100644
index 0000000..8574405
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9dbb9f9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c15b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9dbb9f9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c15b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.glsl
new file mode 100644
index 0000000..87036b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4c15b2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4c15b2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4c15b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4c15b2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.msl
new file mode 100644
index 0000000..27a11c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c15b2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.spvasm
new file mode 100644
index 0000000..3dd6d78
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c15b2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.wgsl
new file mode 100644
index 0000000..73b55d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c15b2.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_4c15b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c15b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c15b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c15b2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl
new file mode 100644
index 0000000..ac663c1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..19d48f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c1a1e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..19d48f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c1a1e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.glsl
new file mode 100644
index 0000000..3b1921a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4c1a1e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4c1a1e() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4c1a1e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.msl
new file mode 100644
index 0000000..0726d12
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c1a1e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.spvasm
new file mode 100644
index 0000000..0520720
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4c1a1e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.wgsl
new file mode 100644
index 0000000..a3b2951
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4c1a1e.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4c1a1e() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4c1a1e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4c1a1e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4c1a1e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl
new file mode 100644
index 0000000..da30db3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..996d175
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4ccf9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..996d175
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4ccf9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.glsl
new file mode 100644
index 0000000..c71788d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4ccf9a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4ccf9a() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4ccf9a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.msl
new file mode 100644
index 0000000..944b146
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4ccf9a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.spvasm
new file mode 100644
index 0000000..31ff698
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4ccf9a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.wgsl
new file mode 100644
index 0000000..4e06fbb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4ccf9a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, read_write>;
+
+fn textureLoad_4ccf9a() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4ccf9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4ccf9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4ccf9a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl
new file mode 100644
index 0000000..c7e8bdf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2c91ee7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4e2c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2c91ee7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4e2c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.glsl
new file mode 100644
index 0000000..9232d3f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4e2c5c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4e2c5c() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4e2c5c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.msl
new file mode 100644
index 0000000..1ae5398
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4e2c5c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.spvasm
new file mode 100644
index 0000000..ad45a3d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4e2c5c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.wgsl
new file mode 100644
index 0000000..276c35b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4e2c5c.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_4e2c5c() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4e2c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4e2c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4e2c5c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl
new file mode 100644
index 0000000..3cdd64b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d5d496c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f5496.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d5d496c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f5496.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.glsl
new file mode 100644
index 0000000..6eb7f1b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4f5496();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4f5496();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_4f5496() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4f5496();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.msl
new file mode 100644
index 0000000..7ab8ab0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f5496.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.spvasm
new file mode 100644
index 0000000..4f5780a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f5496.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.wgsl
new file mode 100644
index 0000000..79768e5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f5496.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_4f5496() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f5496();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f5496();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f5496();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl
new file mode 100644
index 0000000..57e1765
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<bgra8unorm, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3873c18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f90bb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3873c18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f90bb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.glsl
new file mode 100644
index 0000000..d84d86a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_4f90bb();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_4f90bb();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_4f90bb() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_4f90bb();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.msl
new file mode 100644
index 0000000..62cf4aa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f90bb.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.spvasm
new file mode 100644
index 0000000..f8b3607
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/4f90bb.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.wgsl
new file mode 100644
index 0000000..0f10a52
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/4f90bb.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_4f90bb() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_4f90bb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_4f90bb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_4f90bb();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl
new file mode 100644
index 0000000..d19a2d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3a622cf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5154e1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3a622cf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5154e1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.glsl
new file mode 100644
index 0000000..03a9cfe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5154e1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5154e1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5154e1() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5154e1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.msl
new file mode 100644
index 0000000..893ba07
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5154e1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.spvasm
new file mode 100644
index 0000000..5ff2146
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5154e1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.wgsl
new file mode 100644
index 0000000..4e9a855
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5154e1.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32float, read_write>;
+
+fn textureLoad_5154e1() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5154e1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5154e1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5154e1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl
new file mode 100644
index 0000000..c7b88cf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0d99731
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/53941c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0d99731
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/53941c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.glsl
new file mode 100644
index 0000000..cef706d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_53941c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_53941c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_53941c() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_53941c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.msl
new file mode 100644
index 0000000..9c03a21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/53941c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a601c2c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/53941c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.wgsl
new file mode 100644
index 0000000..6dc0d47
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/53941c.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_53941c() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_53941c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_53941c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_53941c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl
new file mode 100644
index 0000000..a515e6a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ca18dfa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/54fb38.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ca18dfa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/54fb38.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.glsl
new file mode 100644
index 0000000..fb3169f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_54fb38();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_54fb38();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_54fb38() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_54fb38();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.msl
new file mode 100644
index 0000000..9d46c08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/54fb38.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.spvasm
new file mode 100644
index 0000000..84e5c15
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/54fb38.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.wgsl
new file mode 100644
index 0000000..c0cb84f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/54fb38.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_54fb38() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_54fb38();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_54fb38();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_54fb38();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl
new file mode 100644
index 0000000..72b130b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dc0f92e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/56a000.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dc0f92e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/56a000.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.glsl
new file mode 100644
index 0000000..2b7957e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_56a000();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_56a000();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_56a000() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_56a000();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.msl
new file mode 100644
index 0000000..c9b5d18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/56a000.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.spvasm
new file mode 100644
index 0000000..eab45e1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/56a000.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.wgsl
new file mode 100644
index 0000000..77a6864
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/56a000.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32float, read_write>;
+
+fn textureLoad_56a000() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_56a000();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_56a000();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_56a000();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl
new file mode 100644
index 0000000..26b79c5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8b0b77a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b0f5b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8b0b77a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b0f5b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.glsl
new file mode 100644
index 0000000..c2c9fc2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5b0f5b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5b0f5b() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5b0f5b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.msl
new file mode 100644
index 0000000..496fd72
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b0f5b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.spvasm
new file mode 100644
index 0000000..a7e280d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b0f5b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.wgsl
new file mode 100644
index 0000000..1aa36bc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b0f5b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, read_write>;
+
+fn textureLoad_5b0f5b() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b0f5b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b0f5b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b0f5b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl
new file mode 100644
index 0000000..2948910
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<bgra8unorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c531e7e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b4947.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c531e7e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b4947.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.glsl
new file mode 100644
index 0000000..2c60fc7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5b4947();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5b4947();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5b4947() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5b4947();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.msl
new file mode 100644
index 0000000..6e22757
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b4947.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.spvasm
new file mode 100644
index 0000000..7f9a03f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5b4947.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.wgsl
new file mode 100644
index 0000000..21f886f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5b4947.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5b4947() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5b4947();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5b4947();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5b4947();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl
new file mode 100644
index 0000000..fe494b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<bgra8unorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..432ff33
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5c69f8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..432ff33
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5c69f8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.glsl
new file mode 100644
index 0000000..dd5e7f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5c69f8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5c69f8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_5c69f8() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5c69f8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.msl
new file mode 100644
index 0000000..f35cc08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5c69f8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.spvasm
new file mode 100644
index 0000000..1188426
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5c69f8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.wgsl
new file mode 100644
index 0000000..4628808
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5c69f8.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<bgra8unorm, read_write>;
+
+fn textureLoad_5c69f8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5c69f8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5c69f8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5c69f8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl
new file mode 100644
index 0000000..ca98cfa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..da95121
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5cd3fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..da95121
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5cd3fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.glsl
new file mode 100644
index 0000000..d521e5d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5cd3fc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5cd3fc() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5cd3fc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.msl
new file mode 100644
index 0000000..f509a9a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5cd3fc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.spvasm
new file mode 100644
index 0000000..cc72520
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5cd3fc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.wgsl
new file mode 100644
index 0000000..18fe7a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5cd3fc.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_5cd3fc() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5cd3fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5cd3fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5cd3fc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl
new file mode 100644
index 0000000..9f4364c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7b98048
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e17a7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7b98048
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e17a7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.glsl
new file mode 100644
index 0000000..aba208a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5e17a7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5e17a7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_5e17a7() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5e17a7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.msl
new file mode 100644
index 0000000..858da1f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e17a7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.spvasm
new file mode 100644
index 0000000..bbd34e9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e17a7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.wgsl
new file mode 100644
index 0000000..320b795
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e17a7.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_5e17a7() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e17a7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e17a7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e17a7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl
new file mode 100644
index 0000000..22e66e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bfcc8ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e1843.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bfcc8ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e1843.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.glsl
new file mode 100644
index 0000000..93b86d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_5e1843();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_5e1843();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_5e1843() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_5e1843();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.msl
new file mode 100644
index 0000000..4b888b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e1843.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.spvasm
new file mode 100644
index 0000000..379dcd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/5e1843.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.wgsl
new file mode 100644
index 0000000..45e3a03
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/5e1843.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_5e1843() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_5e1843();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_5e1843();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_5e1843();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl
new file mode 100644
index 0000000..ce4f126
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..09173a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/61e2e8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..09173a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/61e2e8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.glsl
new file mode 100644
index 0000000..4190836
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_61e2e8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_61e2e8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_61e2e8() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_61e2e8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.msl
new file mode 100644
index 0000000..6ae06b5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/61e2e8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.spvasm
new file mode 100644
index 0000000..0e5f3d6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/61e2e8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.wgsl
new file mode 100644
index 0000000..ca8ca5f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/61e2e8.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_61e2e8() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_61e2e8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_61e2e8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_61e2e8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl
new file mode 100644
index 0000000..749b43b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32uint, read_write>, coords: vec3<i32>) -> vec4<u32>
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ac19469
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/622278.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ac19469
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/622278.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.glsl
new file mode 100644
index 0000000..149d714
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_622278();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_622278();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_622278() {
+ ivec3 arg_1 = ivec3(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_622278();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.msl
new file mode 100644
index 0000000..a1e4f43
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/622278.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.spvasm
new file mode 100644
index 0000000..1b3b78ad7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/622278.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.wgsl
new file mode 100644
index 0000000..e36b15a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/622278.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_622278() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_622278();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_622278();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_622278();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl
new file mode 100644
index 0000000..77e6c3b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..2711710
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/64c372.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..2711710
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/64c372.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.glsl
new file mode 100644
index 0000000..b199e71
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_64c372();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_64c372();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_64c372() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_64c372();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.msl
new file mode 100644
index 0000000..ec5be4a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/64c372.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.spvasm
new file mode 100644
index 0000000..5b0e89c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/64c372.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.wgsl
new file mode 100644
index 0000000..ba6d086
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/64c372.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_64c372() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_64c372();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_64c372();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_64c372();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl
new file mode 100644
index 0000000..9191bd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8unorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f156d24
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/666010.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f156d24
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/666010.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.glsl
new file mode 100644
index 0000000..fb4dacc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_666010();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_666010();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_666010() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_666010();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.msl
new file mode 100644
index 0000000..f4a93c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/666010.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.spvasm
new file mode 100644
index 0000000..022f9e6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/666010.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.wgsl
new file mode 100644
index 0000000..11cd0cd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/666010.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_666010() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_666010();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_666010();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_666010();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl
new file mode 100644
index 0000000..f56c4c9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4c08bea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/67d826.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4c08bea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/67d826.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.glsl
new file mode 100644
index 0000000..eea5e56
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_67d826();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_67d826();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_67d826() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_67d826();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.msl
new file mode 100644
index 0000000..0b235ca
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/67d826.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.spvasm
new file mode 100644
index 0000000..4c6428b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/67d826.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.wgsl
new file mode 100644
index 0000000..a31fe73
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/67d826.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_67d826() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_67d826();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_67d826();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_67d826();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl
new file mode 100644
index 0000000..d92cf0a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f64cdb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/68d273.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f64cdb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/68d273.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.glsl
new file mode 100644
index 0000000..b5c197c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_68d273();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_68d273();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_68d273() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_68d273();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.msl
new file mode 100644
index 0000000..34c68a8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/68d273.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.spvasm
new file mode 100644
index 0000000..67d31ea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/68d273.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.wgsl
new file mode 100644
index 0000000..973046a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/68d273.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16sint, read_write>;
+
+fn textureLoad_68d273() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_68d273();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_68d273();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_68d273();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl
new file mode 100644
index 0000000..c2d543d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dd684e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/69fee5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dd684e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/69fee5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.glsl
new file mode 100644
index 0000000..acdb223
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_69fee5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_69fee5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_69fee5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_69fee5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.msl
new file mode 100644
index 0000000..a33f4dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/69fee5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.spvasm
new file mode 100644
index 0000000..d71f4bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/69fee5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.wgsl
new file mode 100644
index 0000000..7778f32
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/69fee5.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_69fee5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_69fee5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_69fee5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_69fee5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl
new file mode 100644
index 0000000..08adbcc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..034ab87
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6a6871.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..034ab87
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6a6871.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.glsl
new file mode 100644
index 0000000..d605e22
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6a6871();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6a6871();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6a6871() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6a6871();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.msl
new file mode 100644
index 0000000..8ae6321
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6a6871.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.spvasm
new file mode 100644
index 0000000..db02be0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6a6871.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.wgsl
new file mode 100644
index 0000000..0d84d9f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6a6871.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32float, read_write>;
+
+fn textureLoad_6a6871() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6a6871();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6a6871();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6a6871();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl
new file mode 100644
index 0000000..46552df
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d73926c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6b8ba6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d73926c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6b8ba6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.glsl
new file mode 100644
index 0000000..5c3679e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6b8ba6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6b8ba6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6b8ba6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.msl
new file mode 100644
index 0000000..6744266
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6b8ba6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.spvasm
new file mode 100644
index 0000000..a6c7395
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6b8ba6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.wgsl
new file mode 100644
index 0000000..7fd31d7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6b8ba6.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_6b8ba6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6b8ba6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6b8ba6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6b8ba6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl
new file mode 100644
index 0000000..af53573
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..66893d1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6ba9ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..66893d1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6ba9ab.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.glsl
new file mode 100644
index 0000000..0f82077
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6ba9ab();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6ba9ab() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6ba9ab();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.msl
new file mode 100644
index 0000000..7e15d6f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6ba9ab.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.spvasm
new file mode 100644
index 0000000..13475ad
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6ba9ab.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.wgsl
new file mode 100644
index 0000000..2283ded
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6ba9ab.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6ba9ab() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6ba9ab();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6ba9ab();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6ba9ab();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl
new file mode 100644
index 0000000..9424ee1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..171ac8b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6bf3e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..171ac8b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6bf3e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.glsl
new file mode 100644
index 0000000..cd1b9fd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6bf3e2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6bf3e2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6bf3e2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.msl
new file mode 100644
index 0000000..449b328
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6bf3e2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.spvasm
new file mode 100644
index 0000000..4e89ff0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6bf3e2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..4bfc202
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6bf3e2.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_6bf3e2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6bf3e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6bf3e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6bf3e2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl
new file mode 100644
index 0000000..7e736db
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9abe231
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d1fb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9abe231
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d1fb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.glsl
new file mode 100644
index 0000000..b02ebf9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6d1fb4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_6d1fb4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6d1fb4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.msl
new file mode 100644
index 0000000..2056956
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d1fb4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.spvasm
new file mode 100644
index 0000000..8097333
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d1fb4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.wgsl
new file mode 100644
index 0000000..b4b98a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d1fb4.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_6d1fb4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d1fb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d1fb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d1fb4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl
new file mode 100644
index 0000000..916847e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..10440a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d7bb5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..10440a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d7bb5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.glsl
new file mode 100644
index 0000000..7419fd1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6d7bb5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6d7bb5() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6d7bb5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.msl
new file mode 100644
index 0000000..92d8631
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d7bb5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.spvasm
new file mode 100644
index 0000000..1667189
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6d7bb5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.wgsl
new file mode 100644
index 0000000..7e99d78
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6d7bb5.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_6d7bb5() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6d7bb5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6d7bb5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6d7bb5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl
new file mode 100644
index 0000000..dd61e06
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..86f7743
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6e903f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..86f7743
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6e903f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.glsl
new file mode 100644
index 0000000..c5fc9e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6e903f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6e903f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_6e903f() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6e903f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.msl
new file mode 100644
index 0000000..2f3e8dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6e903f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.spvasm
new file mode 100644
index 0000000..15332e2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6e903f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.wgsl
new file mode 100644
index 0000000..6d273d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6e903f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8sint, read_write>;
+
+fn textureLoad_6e903f() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6e903f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6e903f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6e903f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl
new file mode 100644
index 0000000..5107b99
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..af5188b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f0ea8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..af5188b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f0ea8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.glsl
new file mode 100644
index 0000000..8e6eb30
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6f0ea8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f0ea8() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6f0ea8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.msl
new file mode 100644
index 0000000..1ed1a3e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f0ea8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.spvasm
new file mode 100644
index 0000000..d4e8a3a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f0ea8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.wgsl
new file mode 100644
index 0000000..fca107f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f0ea8.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_6f0ea8() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f0ea8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f0ea8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f0ea8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl
new file mode 100644
index 0000000..09d280e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..c098146
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f8927.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..c098146
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f8927.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.glsl
new file mode 100644
index 0000000..283e5c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_6f8927();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_6f8927();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_6f8927() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_6f8927();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.msl
new file mode 100644
index 0000000..cf2b8a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f8927.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.spvasm
new file mode 100644
index 0000000..aa7a5bb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/6f8927.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.wgsl
new file mode 100644
index 0000000..1892020
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/6f8927.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_6f8927() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_6f8927();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_6f8927();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_6f8927();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl
new file mode 100644
index 0000000..24facfa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba16float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9bf3b3a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/742f1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9bf3b3a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/742f1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.glsl
new file mode 100644
index 0000000..7621b16
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_742f1b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_742f1b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_742f1b() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_742f1b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.msl
new file mode 100644
index 0000000..b8ece44
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/742f1b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.spvasm
new file mode 100644
index 0000000..d0bb47e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/742f1b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.wgsl
new file mode 100644
index 0000000..8ec128c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/742f1b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16float, read_write>;
+
+fn textureLoad_742f1b() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_742f1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_742f1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_742f1b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl
new file mode 100644
index 0000000..ec2bbe5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6e9cf07
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/74a387.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6e9cf07
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/74a387.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.glsl
new file mode 100644
index 0000000..5ef7007
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_74a387();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_74a387();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_74a387() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_74a387();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.msl
new file mode 100644
index 0000000..1bfb161
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/74a387.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.spvasm
new file mode 100644
index 0000000..8f08221
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/74a387.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.wgsl
new file mode 100644
index 0000000..822a727
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/74a387.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8sint, read_write>;
+
+fn textureLoad_74a387() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_74a387();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_74a387();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_74a387();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl
new file mode 100644
index 0000000..3d0ad68
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<bgra8unorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1d0e69f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/7e5cbc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1d0e69f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/7e5cbc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.glsl
new file mode 100644
index 0000000..db41fd8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_7e5cbc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_7e5cbc() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_7e5cbc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.msl
new file mode 100644
index 0000000..94591bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/7e5cbc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.spvasm
new file mode 100644
index 0000000..009a5b7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/7e5cbc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.wgsl
new file mode 100644
index 0000000..c7118f3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/7e5cbc.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_7e5cbc() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_7e5cbc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_7e5cbc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_7e5cbc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl
new file mode 100644
index 0000000..19ed7cb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1757252
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/80dae1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1757252
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/80dae1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.glsl
new file mode 100644
index 0000000..ca92968
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_80dae1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_80dae1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_80dae1() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_80dae1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.msl
new file mode 100644
index 0000000..2dd6c38
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/80dae1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.spvasm
new file mode 100644
index 0000000..cdad386
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/80dae1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.wgsl
new file mode 100644
index 0000000..09c77f1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/80dae1.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_80dae1() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_80dae1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_80dae1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_80dae1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl
new file mode 100644
index 0000000..6c07e95
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0507994
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/83d6e3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0507994
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/83d6e3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.glsl
new file mode 100644
index 0000000..eed9608
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_83d6e3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_83d6e3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_83d6e3() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_83d6e3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.msl
new file mode 100644
index 0000000..61d95a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/83d6e3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.spvasm
new file mode 100644
index 0000000..16dfa5f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/83d6e3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.wgsl
new file mode 100644
index 0000000..8f31d5b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/83d6e3.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_83d6e3() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_83d6e3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_83d6e3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_83d6e3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl
new file mode 100644
index 0000000..661d486
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..10e8dfc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/848d85.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..10e8dfc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/848d85.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.glsl
new file mode 100644
index 0000000..4f86f77
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_848d85();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_848d85();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_848d85() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_848d85();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.msl
new file mode 100644
index 0000000..22f79e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/848d85.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.spvasm
new file mode 100644
index 0000000..b483548
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/848d85.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.wgsl
new file mode 100644
index 0000000..196311f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/848d85.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_848d85() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_848d85();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_848d85();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_848d85();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl
new file mode 100644
index 0000000..dabc815
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e23a8a3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/84a438.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e23a8a3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/84a438.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.glsl
new file mode 100644
index 0000000..f5e517e5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_84a438();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_84a438();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_84a438() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_84a438();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.msl
new file mode 100644
index 0000000..0d6e788
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/84a438.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.spvasm
new file mode 100644
index 0000000..149b96b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/84a438.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.wgsl
new file mode 100644
index 0000000..d36c4b9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/84a438.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8uint, read_write>;
+
+fn textureLoad_84a438() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_84a438();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_84a438();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_84a438();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl
new file mode 100644
index 0000000..089c071
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ca4ad4c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/878e24.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ca4ad4c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/878e24.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.glsl
new file mode 100644
index 0000000..ef9e4c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_878e24();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_878e24();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_878e24() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_878e24();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.msl
new file mode 100644
index 0000000..45a5be1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/878e24.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.spvasm
new file mode 100644
index 0000000..db59406
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/878e24.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.wgsl
new file mode 100644
index 0000000..6861cb1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/878e24.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_878e24() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_878e24();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_878e24();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_878e24();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl
new file mode 100644
index 0000000..4df35af
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7af3a96
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/87f0a6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7af3a96
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/87f0a6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.glsl
new file mode 100644
index 0000000..1cd7fcb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_87f0a6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_87f0a6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_87f0a6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_87f0a6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.msl
new file mode 100644
index 0000000..7a861c6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/87f0a6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.spvasm
new file mode 100644
index 0000000..90ec934
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/87f0a6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.wgsl
new file mode 100644
index 0000000..c6d047a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/87f0a6.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_87f0a6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_87f0a6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_87f0a6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_87f0a6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl
new file mode 100644
index 0000000..8877ddf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a28af0a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/881349.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a28af0a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/881349.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.glsl
new file mode 100644
index 0000000..bd8fc7c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_881349();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_881349();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_881349() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_881349();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.msl
new file mode 100644
index 0000000..ff402d9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/881349.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.spvasm
new file mode 100644
index 0000000..62431f0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/881349.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.wgsl
new file mode 100644
index 0000000..eb45af6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/881349.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_881349() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_881349();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_881349();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_881349();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl
new file mode 100644
index 0000000..9eb9629
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<bgra8unorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..817a316
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8b62fb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..817a316
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8b62fb.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.glsl
new file mode 100644
index 0000000..926f76a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8b62fb();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8b62fb();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8b62fb() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8b62fb();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.msl
new file mode 100644
index 0000000..92bbd0b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8b62fb.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.spvasm
new file mode 100644
index 0000000..3e7e35b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8b62fb.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.wgsl
new file mode 100644
index 0000000..950509f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8b62fb.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<bgra8unorm, read_write>;
+
+fn textureLoad_8b62fb() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8b62fb();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8b62fb();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8b62fb();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl
new file mode 100644
index 0000000..88569ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..dc0facd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8bf8c2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..dc0facd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8bf8c2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.glsl
new file mode 100644
index 0000000..a0c24c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8bf8c2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8bf8c2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8bf8c2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.msl
new file mode 100644
index 0000000..2413f2e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8bf8c2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.spvasm
new file mode 100644
index 0000000..c0b9ac0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8bf8c2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.wgsl
new file mode 100644
index 0000000..c733530
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8bf8c2.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32float, read_write>;
+
+fn textureLoad_8bf8c2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8bf8c2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8bf8c2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8bf8c2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl
new file mode 100644
index 0000000..b731078
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0ea0edc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8c6176.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0ea0edc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8c6176.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.glsl
new file mode 100644
index 0000000..cb69e97
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8c6176();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8c6176();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8c6176() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8c6176();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.msl
new file mode 100644
index 0000000..ad9368f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8c6176.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.spvasm
new file mode 100644
index 0000000..1b08040
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8c6176.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.wgsl
new file mode 100644
index 0000000..3aed035
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8c6176.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8c6176() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8c6176();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8c6176();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8c6176();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl
new file mode 100644
index 0000000..0c7cdb1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a3c9ab2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8d64c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a3c9ab2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8d64c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.glsl
new file mode 100644
index 0000000..744d01f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8d64c3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8d64c3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_8d64c3() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8d64c3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.msl
new file mode 100644
index 0000000..5ff02fe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8d64c3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.spvasm
new file mode 100644
index 0000000..e19f014
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8d64c3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..3a63819
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8d64c3.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32uint, read_write>;
+
+fn textureLoad_8d64c3() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8d64c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8d64c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8d64c3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl
new file mode 100644
index 0000000..8df0308
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..67c853b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8e68c9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..67c853b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8e68c9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.glsl
new file mode 100644
index 0000000..837e9a6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8e68c9();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8e68c9();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_8e68c9() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8e68c9();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.msl
new file mode 100644
index 0000000..3b14f27
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8e68c9.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.spvasm
new file mode 100644
index 0000000..4b644d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8e68c9.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.wgsl
new file mode 100644
index 0000000..e1f560b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8e68c9.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_8e68c9() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8e68c9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8e68c9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8e68c9();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl
new file mode 100644
index 0000000..c46319c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8unorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6f8c629
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8fc29b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6f8c629
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8fc29b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.glsl
new file mode 100644
index 0000000..0599f1e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_8fc29b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_8fc29b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_8fc29b() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_8fc29b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.msl
new file mode 100644
index 0000000..e6f7837
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8fc29b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.spvasm
new file mode 100644
index 0000000..4aa64c6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/8fc29b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.wgsl
new file mode 100644
index 0000000..cc1aa69
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/8fc29b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8unorm, read_write>;
+
+fn textureLoad_8fc29b() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_8fc29b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_8fc29b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_8fc29b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl
new file mode 100644
index 0000000..c1d0b3f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32float, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f2a428a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/91ede5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f2a428a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/91ede5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.glsl
new file mode 100644
index 0000000..4fcf91f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_91ede5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_91ede5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_91ede5() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_91ede5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.msl
new file mode 100644
index 0000000..38392ad
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/91ede5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.spvasm
new file mode 100644
index 0000000..fd24927
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/91ede5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.wgsl
new file mode 100644
index 0000000..e898308
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/91ede5.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32float, read_write>;
+
+fn textureLoad_91ede5() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_91ede5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_91ede5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_91ede5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl
new file mode 100644
index 0000000..7205ed8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4506825
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9242e7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4506825
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9242e7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.glsl
new file mode 100644
index 0000000..94d3954
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9242e7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9242e7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9242e7() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9242e7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.msl
new file mode 100644
index 0000000..66238a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9242e7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.spvasm
new file mode 100644
index 0000000..80417f6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9242e7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.wgsl
new file mode 100644
index 0000000..d2e3ef3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9242e7.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_9242e7() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9242e7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9242e7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9242e7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl
new file mode 100644
index 0000000..e43d761
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e9e6c04
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/93f23e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e9e6c04
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/93f23e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.glsl
new file mode 100644
index 0000000..43b5ded
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_93f23e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_93f23e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_93f23e() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_93f23e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.msl
new file mode 100644
index 0000000..4493b1f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/93f23e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.spvasm
new file mode 100644
index 0000000..a231c92
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/93f23e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.wgsl
new file mode 100644
index 0000000..7fdcf05
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/93f23e.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32uint, read_write>;
+
+fn textureLoad_93f23e() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_93f23e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_93f23e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_93f23e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl
new file mode 100644
index 0000000..5645efc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32uint, read_write>, coords: vec3<u32>) -> vec4<u32>
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..87d8b1d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fa9fd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..87d8b1d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fa9fd.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.glsl
new file mode 100644
index 0000000..c03eb14
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9fa9fd();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fa9fd() {
+ uvec3 arg_1 = uvec3(1u);
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9fa9fd();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.msl
new file mode 100644
index 0000000..7642da0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fa9fd.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.spvasm
new file mode 100644
index 0000000..02d219e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fa9fd.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.wgsl
new file mode 100644
index 0000000..91c8d08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fa9fd.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, read_write>;
+
+fn textureLoad_9fa9fd() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fa9fd();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fa9fd();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fa9fd();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl
new file mode 100644
index 0000000..757a07f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..63e130f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fd7be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..63e130f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fd7be.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.glsl
new file mode 100644
index 0000000..e2510f9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_9fd7be();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_9fd7be();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_9fd7be() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_9fd7be();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.msl
new file mode 100644
index 0000000..36932af
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fd7be.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.spvasm
new file mode 100644
index 0000000..e334781
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/9fd7be.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.wgsl
new file mode 100644
index 0000000..fb15f58
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/9fd7be.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_9fd7be() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_9fd7be();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_9fd7be();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_9fd7be();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl
new file mode 100644
index 0000000..11c5cf2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..17c24dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a2b3f4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..17c24dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a2b3f4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.glsl
new file mode 100644
index 0000000..a4678e7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a2b3f4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a2b3f4() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a2b3f4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.msl
new file mode 100644
index 0000000..85a542a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a2b3f4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.spvasm
new file mode 100644
index 0000000..fa30e76
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a2b3f4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.wgsl
new file mode 100644
index 0000000..cd47b79
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a2b3f4.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_a2b3f4() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a2b3f4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a2b3f4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a2b3f4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl
new file mode 100644
index 0000000..3995b69
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16uint, read_write>, coords: vec2<i32>) -> vec4<u32>
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cf86741
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3733f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..cf86741
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3733f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.glsl
new file mode 100644
index 0000000..c02c1e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a3733f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a3733f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3733f() {
+ ivec2 arg_1 = ivec2(1);
+ uvec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a3733f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.msl
new file mode 100644
index 0000000..ebefe0f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3733f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.spvasm
new file mode 100644
index 0000000..df6f42b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3733f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.wgsl
new file mode 100644
index 0000000..7387db6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3733f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16uint, read_write>;
+
+fn textureLoad_a3733f() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3733f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3733f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3733f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl
new file mode 100644
index 0000000..3d6c3dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<u32>
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1a87088
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3f122.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1a87088
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3f122.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.glsl
new file mode 100644
index 0000000..188c1b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a3f122();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a3f122();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a3f122() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a3f122();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.msl
new file mode 100644
index 0000000..9e1cbf3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3f122.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.spvasm
new file mode 100644
index 0000000..7e014af
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a3f122.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.wgsl
new file mode 100644
index 0000000..b80b2b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a3f122.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_a3f122() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a3f122();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a3f122();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a3f122();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl
new file mode 100644
index 0000000..f584779
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7f60681
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a548a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7f60681
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a548a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.glsl
new file mode 100644
index 0000000..3d3f8b9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a548a8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a548a8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a548a8() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a548a8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.msl
new file mode 100644
index 0000000..36a4b3c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a548a8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.spvasm
new file mode 100644
index 0000000..51e748c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a548a8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..8378415
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a548a8.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8uint, read_write>;
+
+fn textureLoad_a548a8() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a548a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a548a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a548a8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl
new file mode 100644
index 0000000..08abb05
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f33755f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a54e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f33755f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a54e11.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.glsl
new file mode 100644
index 0000000..9541ad3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a54e11();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a54e11();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a54e11() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a54e11();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.msl
new file mode 100644
index 0000000..ab1158b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a54e11.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.spvasm
new file mode 100644
index 0000000..f3ac609
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a54e11.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.wgsl
new file mode 100644
index 0000000..df8ce01
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a54e11.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_a54e11() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a54e11();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a54e11();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a54e11();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl
new file mode 100644
index 0000000..e2dc79d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3c27937
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5c4e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3c27937
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5c4e2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.glsl
new file mode 100644
index 0000000..dd860de
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a5c4e2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_a5c4e2() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a5c4e2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.msl
new file mode 100644
index 0000000..928c83e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5c4e2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.spvasm
new file mode 100644
index 0000000..951e200
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5c4e2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.wgsl
new file mode 100644
index 0000000..db39b70
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5c4e2.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_a5c4e2() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5c4e2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5c4e2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5c4e2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl
new file mode 100644
index 0000000..a7e842e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..61e79a6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5e0a5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..61e79a6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5e0a5.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.glsl
new file mode 100644
index 0000000..a0d61ca
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a5e0a5();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a5e0a5() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a5e0a5();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.msl
new file mode 100644
index 0000000..597e9d1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5e0a5.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.spvasm
new file mode 100644
index 0000000..85f05f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a5e0a5.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.wgsl
new file mode 100644
index 0000000..cc47ed7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a5e0a5.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_a5e0a5() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a5e0a5();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a5e0a5();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a5e0a5();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl
new file mode 100644
index 0000000..4cd9fb3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8unorm, read_write>, coords: vec3<u32>) -> vec4<f32>
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..90c2cc1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a64b1d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..90c2cc1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a64b1d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.glsl
new file mode 100644
index 0000000..9b7f15a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a64b1d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a64b1d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a64b1d() {
+ uvec3 arg_1 = uvec3(1u);
+ vec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a64b1d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.msl
new file mode 100644
index 0000000..62afeac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a64b1d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a50c21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a64b1d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.wgsl
new file mode 100644
index 0000000..4a6ff7b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a64b1d.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8unorm, read_write>;
+
+fn textureLoad_a64b1d() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a64b1d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a64b1d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a64b1d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl
new file mode 100644
index 0000000..bc407e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8snorm, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9174b1d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7bcb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9174b1d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7bcb4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.glsl
new file mode 100644
index 0000000..5af2823
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a7bcb4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a7bcb4() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a7bcb4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.msl
new file mode 100644
index 0000000..dd61fc0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7bcb4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.spvasm
new file mode 100644
index 0000000..7544b0f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7bcb4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.wgsl
new file mode 100644
index 0000000..881a2a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7bcb4.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_a7bcb4() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7bcb4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7bcb4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7bcb4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl
new file mode 100644
index 0000000..516e7d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..e1f97b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7c171.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..e1f97b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7c171.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.glsl
new file mode 100644
index 0000000..bd80bb5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a7c171();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a7c171();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_a7c171() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a7c171();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.msl
new file mode 100644
index 0000000..7f4ab43
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7c171.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.spvasm
new file mode 100644
index 0000000..dc62d5c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a7c171.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.wgsl
new file mode 100644
index 0000000..4d4249b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a7c171.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_a7c171() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a7c171();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a7c171();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a7c171();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl
new file mode 100644
index 0000000..b88cc46
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0ebacb3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a92b18.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0ebacb3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a92b18.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.glsl
new file mode 100644
index 0000000..706d310
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_a92b18();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_a92b18();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_a92b18() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_a92b18();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.msl
new file mode 100644
index 0000000..e79cdf7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a92b18.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.spvasm
new file mode 100644
index 0000000..a47ef93
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/a92b18.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.wgsl
new file mode 100644
index 0000000..78606d1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/a92b18.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32float, read_write>;
+
+fn textureLoad_a92b18() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_a92b18();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_a92b18();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_a92b18();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl
new file mode 100644
index 0000000..0957064
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..836d1ea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa2579.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..836d1ea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa2579.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.glsl
new file mode 100644
index 0000000..201fe65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aa2579();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aa2579();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_aa2579() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aa2579();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.msl
new file mode 100644
index 0000000..da2d58d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa2579.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.spvasm
new file mode 100644
index 0000000..c36e0e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa2579.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.wgsl
new file mode 100644
index 0000000..d38df31
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa2579.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_aa2579() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa2579();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa2579();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa2579();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl
new file mode 100644
index 0000000..01c4e3a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..ac37733
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa6130.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..ac37733
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa6130.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.glsl
new file mode 100644
index 0000000..01ab39c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aa6130();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aa6130();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_aa6130() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aa6130();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.msl
new file mode 100644
index 0000000..cf3e505
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa6130.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.spvasm
new file mode 100644
index 0000000..977a08b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aa6130.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.wgsl
new file mode 100644
index 0000000..d9ec57c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aa6130.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32sint, read_write>;
+
+fn textureLoad_aa6130() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aa6130();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aa6130();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aa6130();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl
new file mode 100644
index 0000000..bf69745
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..7e2bd44
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aae9c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..7e2bd44
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aae9c3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.glsl
new file mode 100644
index 0000000..9b043b1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_aae9c3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_aae9c3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_aae9c3() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_aae9c3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.msl
new file mode 100644
index 0000000..962dd5b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aae9c3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.spvasm
new file mode 100644
index 0000000..eed7a06
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/aae9c3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.wgsl
new file mode 100644
index 0000000..3d03be3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/aae9c3.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_aae9c3() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_aae9c3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_aae9c3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_aae9c3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl
new file mode 100644
index 0000000..1ee41fb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fe6f0c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/acf22f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fe6f0c4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/acf22f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.glsl
new file mode 100644
index 0000000..1471399
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_acf22f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_acf22f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_acf22f() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_acf22f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.msl
new file mode 100644
index 0000000..c555d96
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/acf22f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.spvasm
new file mode 100644
index 0000000..a759f97
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/acf22f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.wgsl
new file mode 100644
index 0000000..12af28f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/acf22f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16float, read_write>;
+
+fn textureLoad_acf22f() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_acf22f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_acf22f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_acf22f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl
new file mode 100644
index 0000000..fb2e692
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..55ed2f8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ad551e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..55ed2f8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ad551e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.glsl
new file mode 100644
index 0000000..be4be5d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ad551e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ad551e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_ad551e() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ad551e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.msl
new file mode 100644
index 0000000..4229a2a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ad551e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.spvasm
new file mode 100644
index 0000000..9f144c5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ad551e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.wgsl
new file mode 100644
index 0000000..5abfbf2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ad551e.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32uint, read_write>;
+
+fn textureLoad_ad551e() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ad551e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ad551e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ad551e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl
new file mode 100644
index 0000000..5309b55
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a339dbf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/af0507.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a339dbf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/af0507.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.glsl
new file mode 100644
index 0000000..2b17851
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_af0507();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_af0507();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_af0507() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_af0507();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.msl
new file mode 100644
index 0000000..bf66e46
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/af0507.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.spvasm
new file mode 100644
index 0000000..ab0f5f3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/af0507.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.wgsl
new file mode 100644
index 0000000..d5fe9c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/af0507.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_af0507() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_af0507();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_af0507();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_af0507();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl
new file mode 100644
index 0000000..e718cef
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4e9d845
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b1ca35.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4e9d845
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b1ca35.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.glsl
new file mode 100644
index 0000000..c7603f6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b1ca35();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b1ca35();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b1ca35() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b1ca35();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.msl
new file mode 100644
index 0000000..a6e1eb0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b1ca35.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.spvasm
new file mode 100644
index 0000000..6fc2aa8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b1ca35.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.wgsl
new file mode 100644
index 0000000..503e5a6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b1ca35.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_b1ca35() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b1ca35();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b1ca35();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b1ca35();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl
new file mode 100644
index 0000000..d4418ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..450fe53
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b25644.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..450fe53
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b25644.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.glsl
new file mode 100644
index 0000000..6146a9b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b25644();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b25644();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b25644() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b25644();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.msl
new file mode 100644
index 0000000..4005ca3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b25644.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.spvasm
new file mode 100644
index 0000000..30df3be
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b25644.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.wgsl
new file mode 100644
index 0000000..40436a1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b25644.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_b25644() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b25644();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b25644();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b25644();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl
new file mode 100644
index 0000000..89bf821
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5cfbd52
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b27c33.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5cfbd52
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b27c33.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.glsl
new file mode 100644
index 0000000..b5e2fd5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b27c33();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b27c33();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b27c33() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b27c33();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.msl
new file mode 100644
index 0000000..9c6b90b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b27c33.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.spvasm
new file mode 100644
index 0000000..40b49d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b27c33.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.wgsl
new file mode 100644
index 0000000..d9309b7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b27c33.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_b27c33() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b27c33();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b27c33();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b27c33();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl
new file mode 100644
index 0000000..3f51ce1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32float, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..d4657e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b4d6c4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..d4657e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b4d6c4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.glsl
new file mode 100644
index 0000000..36c768b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b4d6c4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b4d6c4() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b4d6c4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.msl
new file mode 100644
index 0000000..5c03262
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b4d6c4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.spvasm
new file mode 100644
index 0000000..3798ac3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b4d6c4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.wgsl
new file mode 100644
index 0000000..96d615c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b4d6c4.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_b4d6c4() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b4d6c4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b4d6c4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b4d6c4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl
new file mode 100644
index 0000000..b24c585
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..13e576c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60a86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..13e576c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60a86.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.glsl
new file mode 100644
index 0000000..6d83778
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b60a86();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b60a86();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_b60a86() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b60a86();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.msl
new file mode 100644
index 0000000..38b1d45
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60a86.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.spvasm
new file mode 100644
index 0000000..be841458
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60a86.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.wgsl
new file mode 100644
index 0000000..fb1a66b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60a86.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32uint, read_write>;
+
+fn textureLoad_b60a86() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60a86();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60a86();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60a86();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl
new file mode 100644
index 0000000..714e5e2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6796372
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60db7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6796372
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60db7.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.glsl
new file mode 100644
index 0000000..7849a8f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b60db7();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b60db7();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_b60db7() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b60db7();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.msl
new file mode 100644
index 0000000..fa39b8d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60db7.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.spvasm
new file mode 100644
index 0000000..b3eeb43
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b60db7.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.wgsl
new file mode 100644
index 0000000..2ca970f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b60db7.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_b60db7() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b60db7();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b60db7();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b60db7();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl
new file mode 100644
index 0000000..197ada3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..8b526bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b75c8f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..8b526bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b75c8f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.glsl
new file mode 100644
index 0000000..43cf374
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_b75c8f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_b75c8f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_b75c8f() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_b75c8f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.msl
new file mode 100644
index 0000000..3fca504
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b75c8f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.spvasm
new file mode 100644
index 0000000..095b2eb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/b75c8f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.wgsl
new file mode 100644
index 0000000..593f9c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/b75c8f.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32sint, read_write>;
+
+fn textureLoad_b75c8f() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_b75c8f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_b75c8f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_b75c8f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl
new file mode 100644
index 0000000..f2dc79b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1b84e82
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba023a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1b84e82
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba023a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.glsl
new file mode 100644
index 0000000..ac35dd0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ba023a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ba023a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba023a() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ba023a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.msl
new file mode 100644
index 0000000..f1d6cea
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba023a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.spvasm
new file mode 100644
index 0000000..87984f0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba023a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.wgsl
new file mode 100644
index 0000000..244f4be
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba023a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32sint, read_write>;
+
+fn textureLoad_ba023a() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba023a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba023a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba023a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl
new file mode 100644
index 0000000..77ada01
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a2098a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba74b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a2098a5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba74b2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.glsl
new file mode 100644
index 0000000..52b5243
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ba74b2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ba74b2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ba74b2() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ba74b2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.msl
new file mode 100644
index 0000000..295905a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba74b2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.spvasm
new file mode 100644
index 0000000..1d41b9a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ba74b2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.wgsl
new file mode 100644
index 0000000..2ae8644
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ba74b2.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32sint, read_write>;
+
+fn textureLoad_ba74b2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ba74b2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ba74b2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ba74b2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl
new file mode 100644
index 0000000..d481051
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..627ff50
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/babdf3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..627ff50
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/babdf3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.glsl
new file mode 100644
index 0000000..5c4e1a4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_babdf3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_babdf3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_babdf3() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_babdf3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.msl
new file mode 100644
index 0000000..fb3ffb9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/babdf3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.spvasm
new file mode 100644
index 0000000..90a37d7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/babdf3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.wgsl
new file mode 100644
index 0000000..3b880de
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/babdf3.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_babdf3() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_babdf3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_babdf3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_babdf3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl
new file mode 100644
index 0000000..c8e6875
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32uint, read_write>, coords: u32) -> vec4<u32>
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4502694
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bba04a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4502694
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bba04a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.glsl
new file mode 100644
index 0000000..065ff78
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bba04a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bba04a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bba04a() {
+ uint arg_1 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bba04a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.msl
new file mode 100644
index 0000000..f1ea14d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bba04a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.spvasm
new file mode 100644
index 0000000..689da19
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bba04a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.wgsl
new file mode 100644
index 0000000..f8857a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bba04a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32uint, read_write>;
+
+fn textureLoad_bba04a() {
+ var arg_1 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bba04a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bba04a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bba04a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl
new file mode 100644
index 0000000..8e23302
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5881423
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bbb762.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5881423
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bbb762.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.glsl
new file mode 100644
index 0000000..f942fd0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bbb762();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bbb762();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_bbb762() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bbb762();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.msl
new file mode 100644
index 0000000..8d6ae6a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bbb762.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.spvasm
new file mode 100644
index 0000000..242d4db
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bbb762.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.wgsl
new file mode 100644
index 0000000..e2300a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bbb762.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32sint, read_write>;
+
+fn textureLoad_bbb762() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bbb762();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bbb762();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bbb762();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl
new file mode 100644
index 0000000..97a8114
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..f35d442
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bd990a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..f35d442
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bd990a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.glsl
new file mode 100644
index 0000000..140c880
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bd990a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bd990a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_bd990a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bd990a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.msl
new file mode 100644
index 0000000..9844802
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bd990a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.spvasm
new file mode 100644
index 0000000..4d578ef
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bd990a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.wgsl
new file mode 100644
index 0000000..55eb651
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bd990a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_bd990a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bd990a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bd990a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bd990a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl
new file mode 100644
index 0000000..8474a8a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3e377e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bdc67a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3e377e8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bdc67a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.glsl
new file mode 100644
index 0000000..8356732
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_bdc67a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_bdc67a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_bdc67a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_bdc67a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.msl
new file mode 100644
index 0000000..aa15ee0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bdc67a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.spvasm
new file mode 100644
index 0000000..8cdee09
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/bdc67a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.wgsl
new file mode 100644
index 0000000..d4f8a13
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/bdc67a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32float, read_write>;
+
+fn textureLoad_bdc67a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_bdc67a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_bdc67a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_bdc67a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl
new file mode 100644
index 0000000..1c92da4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..64812a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c2d09a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..64812a9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c2d09a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.glsl
new file mode 100644
index 0000000..9589abd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c2d09a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c2d09a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c2d09a() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c2d09a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.msl
new file mode 100644
index 0000000..81cd8f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c2d09a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.spvasm
new file mode 100644
index 0000000..e86a325
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c2d09a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.wgsl
new file mode 100644
index 0000000..bf78602
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c2d09a.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32uint, read_write>;
+
+fn textureLoad_c2d09a() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c2d09a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c2d09a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c2d09a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl
new file mode 100644
index 0000000..742ea09
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..34842ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c5c86d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..34842ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c5c86d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.glsl
new file mode 100644
index 0000000..22836c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c5c86d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c5c86d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c5c86d() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c5c86d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.msl
new file mode 100644
index 0000000..27c3974
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c5c86d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.spvasm
new file mode 100644
index 0000000..f3c009f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c5c86d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.wgsl
new file mode 100644
index 0000000..260c62f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c5c86d.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c5c86d() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c5c86d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c5c86d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c5c86d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl
new file mode 100644
index 0000000..0430d46
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba32uint, read_write>, coords: vec2<u32>) -> vec4<u32>
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1aece21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c7e313.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1aece21
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c7e313.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.glsl
new file mode 100644
index 0000000..3e1dae0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c7e313();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c7e313();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_c7e313() {
+ uvec2 arg_1 = uvec2(1u);
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c7e313();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.msl
new file mode 100644
index 0000000..1e2c07c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c7e313.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.spvasm
new file mode 100644
index 0000000..6e4663a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c7e313.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.wgsl
new file mode 100644
index 0000000..11d7b2e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c7e313.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba32uint, read_write>;
+
+fn textureLoad_c7e313() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c7e313();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c7e313();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c7e313();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl
new file mode 100644
index 0000000..88e9b83
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3d57932
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c80691.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3d57932
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c80691.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.glsl
new file mode 100644
index 0000000..ff9a6e2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c80691();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c80691();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c80691() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c80691();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.msl
new file mode 100644
index 0000000..4d71e93
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c80691.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.spvasm
new file mode 100644
index 0000000..13bbd57
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c80691.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.wgsl
new file mode 100644
index 0000000..67f2e50
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c80691.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c80691() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c80691();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c80691();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c80691();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl
new file mode 100644
index 0000000..2e4d7f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba8snorm, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..01351a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c98bf4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..01351a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c98bf4.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.glsl
new file mode 100644
index 0000000..3d993b7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c98bf4();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c98bf4();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_c98bf4() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c98bf4();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.msl
new file mode 100644
index 0000000..cac1740
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c98bf4.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.spvasm
new file mode 100644
index 0000000..72db008
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c98bf4.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.wgsl
new file mode 100644
index 0000000..39bfaa3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c98bf4.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8snorm, read_write>;
+
+fn textureLoad_c98bf4() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c98bf4();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c98bf4();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c98bf4();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl
new file mode 100644
index 0000000..c216676
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3bddfcb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9b083.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3bddfcb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9b083.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.glsl
new file mode 100644
index 0000000..23d1456
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c9b083();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c9b083();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9b083() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c9b083();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.msl
new file mode 100644
index 0000000..5486659
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9b083.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.spvasm
new file mode 100644
index 0000000..a82494d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9b083.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.wgsl
new file mode 100644
index 0000000..cdb2013
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9b083.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_c9b083() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9b083();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9b083();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9b083();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl
new file mode 100644
index 0000000..0733414
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<r32sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..05e6efb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9f310.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..05e6efb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9f310.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.glsl
new file mode 100644
index 0000000..be5953c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_c9f310();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_c9f310();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_c9f310() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_c9f310();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.msl
new file mode 100644
index 0000000..d7d2e2b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9f310.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.spvasm
new file mode 100644
index 0000000..aed2e71
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/c9f310.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.wgsl
new file mode 100644
index 0000000..436d9e5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/c9f310.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<r32sint, read_write>;
+
+fn textureLoad_c9f310() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_c9f310();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_c9f310();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_c9f310();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl
new file mode 100644
index 0000000..57bc9e9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5c93665
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cac876.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5c93665
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cac876.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.glsl
new file mode 100644
index 0000000..96fd4e1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cac876();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cac876();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cac876() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cac876();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.msl
new file mode 100644
index 0000000..21e8e3f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cac876.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.spvasm
new file mode 100644
index 0000000..eb58a68
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cac876.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.wgsl
new file mode 100644
index 0000000..ea4d4b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cac876.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32sint, read_write>;
+
+fn textureLoad_cac876() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cac876();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cac876();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cac876();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl
new file mode 100644
index 0000000..d5c1bb8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<f32>
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..948ce65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdbcf6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..948ce65
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdbcf6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.glsl
new file mode 100644
index 0000000..a73b5ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cdbcf6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cdbcf6() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cdbcf6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.msl
new file mode 100644
index 0000000..0f45aa3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdbcf6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.spvasm
new file mode 100644
index 0000000..4020bbe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdbcf6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.wgsl
new file mode 100644
index 0000000..a2b09db
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdbcf6.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_cdbcf6() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdbcf6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdbcf6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdbcf6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl
new file mode 100644
index 0000000..9697005
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..703c7c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdccd2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..703c7c3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdccd2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.glsl
new file mode 100644
index 0000000..df4ffbd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cdccd2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cdccd2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_cdccd2() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cdccd2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.msl
new file mode 100644
index 0000000..7ff63cc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdccd2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.spvasm
new file mode 100644
index 0000000..ff6d655
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cdccd2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.wgsl
new file mode 100644
index 0000000..c57250f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cdccd2.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_cdccd2() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cdccd2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cdccd2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cdccd2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl
new file mode 100644
index 0000000..2999939
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8unorm, read_write>, coords: vec2<u32>) -> vec4<f32>
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..beda9bd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cddf6b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..beda9bd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cddf6b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.glsl
new file mode 100644
index 0000000..27e0899
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cddf6b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cddf6b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_cddf6b() {
+ uvec2 arg_1 = uvec2(1u);
+ vec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cddf6b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.msl
new file mode 100644
index 0000000..479b448
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cddf6b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.spvasm
new file mode 100644
index 0000000..5b23b5a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cddf6b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.wgsl
new file mode 100644
index 0000000..b3e67c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cddf6b.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8unorm, read_write>;
+
+fn textureLoad_cddf6b() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cddf6b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cddf6b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cddf6b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl
new file mode 100644
index 0000000..45762ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32sint, read_write>, coords: vec3<u32>) -> vec4<i32>
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..327c6fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cec477.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..327c6fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cec477.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.glsl
new file mode 100644
index 0000000..3d67f08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_cec477();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_cec477();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_cec477() {
+ uvec3 arg_1 = uvec3(1u);
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_cec477();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.msl
new file mode 100644
index 0000000..4a57f72
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cec477.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.spvasm
new file mode 100644
index 0000000..acbb2c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/cec477.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.wgsl
new file mode 100644
index 0000000..30789df
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/cec477.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32sint, read_write>;
+
+fn textureLoad_cec477() {
+ var arg_1 = vec3<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_cec477();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_cec477();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_cec477();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl
new file mode 100644
index 0000000..e0640ae
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9eaa29d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d0e351.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9eaa29d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d0e351.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.glsl
new file mode 100644
index 0000000..48019d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d0e351();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d0e351();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d0e351() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d0e351();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.msl
new file mode 100644
index 0000000..d2cff33
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d0e351.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.spvasm
new file mode 100644
index 0000000..7c9132a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d0e351.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.wgsl
new file mode 100644
index 0000000..b1b9170
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d0e351.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32uint, read_write>;
+
+fn textureLoad_d0e351() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d0e351();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d0e351();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d0e351();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl
new file mode 100644
index 0000000..27bc9bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..88064b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d37a08.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..88064b2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d37a08.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.glsl
new file mode 100644
index 0000000..c842ef5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d37a08();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d37a08();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d37a08() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d37a08();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.msl
new file mode 100644
index 0000000..10921ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d37a08.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.spvasm
new file mode 100644
index 0000000..bd06bd9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d37a08.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.wgsl
new file mode 100644
index 0000000..d3189c2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d37a08.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8uint, read_write>;
+
+fn textureLoad_d37a08() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d37a08();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d37a08();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d37a08();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl
new file mode 100644
index 0000000..31a3a9c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..198ec30
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d3d8fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..198ec30
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d3d8fc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.glsl
new file mode 100644
index 0000000..4fd66fc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d3d8fc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d3d8fc() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d3d8fc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.msl
new file mode 100644
index 0000000..71611ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d3d8fc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.spvasm
new file mode 100644
index 0000000..cdaa1c6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d3d8fc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.wgsl
new file mode 100644
index 0000000..3bb4456
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d3d8fc.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16sint, read_write>;
+
+fn textureLoad_d3d8fc() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d3d8fc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d3d8fc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d3d8fc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl
new file mode 100644
index 0000000..3b8378e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rg32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9e61b6b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d41c72.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9e61b6b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d41c72.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.glsl
new file mode 100644
index 0000000..2ba4e55
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d41c72();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d41c72();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d41c72() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d41c72();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.msl
new file mode 100644
index 0000000..5ebb43b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d41c72.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.spvasm
new file mode 100644
index 0000000..7dad42a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d41c72.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.wgsl
new file mode 100644
index 0000000..8d5416c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d41c72.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32sint, read_write>;
+
+fn textureLoad_d41c72() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d41c72();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d41c72();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d41c72();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl
new file mode 100644
index 0000000..7b89f9a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9c28815
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d72de9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9c28815
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d72de9.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.glsl
new file mode 100644
index 0000000..b71fbdb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d72de9();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d72de9();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d72de9() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d72de9();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.msl
new file mode 100644
index 0000000..18109ab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d72de9.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.spvasm
new file mode 100644
index 0000000..3a76191
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d72de9.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.wgsl
new file mode 100644
index 0000000..5d9ab4a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d72de9.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_d72de9() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d72de9();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d72de9();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d72de9();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl
new file mode 100644
index 0000000..9b58dc7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<rgba32sint, read_write>, coords: vec3<i32>) -> vec4<i32>
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5b04e5e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d7996a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5b04e5e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d7996a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.glsl
new file mode 100644
index 0000000..e7cccb1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d7996a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d7996a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d7996a() {
+ ivec3 arg_1 = ivec3(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d7996a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.msl
new file mode 100644
index 0000000..4bea56a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d7996a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.spvasm
new file mode 100644
index 0000000..90ba64b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d7996a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.wgsl
new file mode 100644
index 0000000..49ea313
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d7996a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32sint, read_write>;
+
+fn textureLoad_d7996a() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d7996a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d7996a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d7996a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl
new file mode 100644
index 0000000..3f77a5e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16uint, read_write>, coords: i32) -> vec4<u32>
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..a1c786d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d79c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..a1c786d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d79c5c.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.glsl
new file mode 100644
index 0000000..a3979ba
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d79c5c();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d79c5c();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_d79c5c() {
+ int arg_1 = 1;
+ uvec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d79c5c();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.msl
new file mode 100644
index 0000000..e15f3c8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d79c5c.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.spvasm
new file mode 100644
index 0000000..4b46937
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d79c5c.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.wgsl
new file mode 100644
index 0000000..e47cbbb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d79c5c.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16uint, read_write>;
+
+fn textureLoad_d79c5c() {
+ var arg_1 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d79c5c();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d79c5c();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d79c5c();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl
new file mode 100644
index 0000000..f30984c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<bgra8unorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..4bfe759
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d80ff3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..4bfe759
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d80ff3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.glsl
new file mode 100644
index 0000000..20d21af
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d80ff3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d80ff3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d80ff3() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d80ff3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.msl
new file mode 100644
index 0000000..b21aafd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d80ff3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.spvasm
new file mode 100644
index 0000000..dd69860
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d80ff3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.wgsl
new file mode 100644
index 0000000..3bc70f4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d80ff3.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<bgra8unorm, read_write>;
+
+fn textureLoad_d80ff3() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d80ff3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d80ff3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d80ff3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl
new file mode 100644
index 0000000..d38d557
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba16sint, read_write>, coords: i32) -> vec4<i32>
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..22c1500
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d8be5a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..22c1500
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d8be5a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.glsl
new file mode 100644
index 0000000..45a2afb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d8be5a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d8be5a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_d8be5a() {
+ int arg_1 = 1;
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d8be5a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.msl
new file mode 100644
index 0000000..b58b92f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d8be5a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.spvasm
new file mode 100644
index 0000000..833ab4c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d8be5a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.wgsl
new file mode 100644
index 0000000..2ace173
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d8be5a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba16sint, read_write>;
+
+fn textureLoad_d8be5a() {
+ var arg_1 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d8be5a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d8be5a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d8be5a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl
new file mode 100644
index 0000000..f08a3a1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8unorm, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<f32>
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..1523319
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d91f37.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..1523319
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d91f37.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.glsl
new file mode 100644
index 0000000..30618e4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_d91f37();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_d91f37();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_d91f37() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_d91f37();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.msl
new file mode 100644
index 0000000..a1ece08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d91f37.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.spvasm
new file mode 100644
index 0000000..31bc0b3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/d91f37.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.wgsl
new file mode 100644
index 0000000..5415c38
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/d91f37.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8unorm, read_write>;
+
+fn textureLoad_d91f37() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_d91f37();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_d91f37();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_d91f37();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl
new file mode 100644
index 0000000..2a375f1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<bgra8unorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<bgra8unorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..46393fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dab04f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..46393fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dab04f.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.glsl
new file mode 100644
index 0000000..10319da
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_dab04f();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_dab04f();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dab04f() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_dab04f();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.msl
new file mode 100644
index 0000000..0fe4c94
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dab04f.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.spvasm
new file mode 100644
index 0000000..45fd828
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dab04f.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.wgsl
new file mode 100644
index 0000000..9f7ec68
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dab04f.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<bgra8unorm, read_write>;
+
+fn textureLoad_dab04f() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dab04f();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dab04f();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dab04f();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl
new file mode 100644
index 0000000..64d1ba0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3c40cbb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dd5859.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3c40cbb
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dd5859.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.glsl
new file mode 100644
index 0000000..6c425a0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_dd5859();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_dd5859();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_dd5859() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_dd5859();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.msl
new file mode 100644
index 0000000..4767203
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dd5859.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.spvasm
new file mode 100644
index 0000000..8ed3e52
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/dd5859.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.wgsl
new file mode 100644
index 0000000..8709a02
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/dd5859.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_dd5859() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_dd5859();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_dd5859();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_dd5859();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl
new file mode 100644
index 0000000..b413f0f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<u32>, array_index: u32) -> vec4<i32>
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..0e581f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/de5a0e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..0e581f2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/de5a0e.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.glsl
new file mode 100644
index 0000000..446cc23
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_de5a0e();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_de5a0e();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_de5a0e() {
+ uvec2 arg_1 = uvec2(1u);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_de5a0e();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.msl
new file mode 100644
index 0000000..97a664a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/de5a0e.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.spvasm
new file mode 100644
index 0000000..552ac0b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/de5a0e.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.wgsl
new file mode 100644
index 0000000..7f0363c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/de5a0e.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_de5a0e() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_de5a0e();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_de5a0e();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_de5a0e();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl
new file mode 100644
index 0000000..509fedd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rg32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rg32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..655cc3c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/defd9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..655cc3c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/defd9a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.glsl
new file mode 100644
index 0000000..cb98b68
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_defd9a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_defd9a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_defd9a() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_defd9a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.msl
new file mode 100644
index 0000000..d04b812
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/defd9a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.spvasm
new file mode 100644
index 0000000..4af08ec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/defd9a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.wgsl
new file mode 100644
index 0000000..b462e18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/defd9a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rg32float, read_write>;
+
+fn textureLoad_defd9a() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_defd9a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_defd9a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_defd9a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl
new file mode 100644
index 0000000..f481c82
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..380d72f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e1c3cf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..380d72f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e1c3cf.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.glsl
new file mode 100644
index 0000000..802c59c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e1c3cf();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e1c3cf() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e1c3cf();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.msl
new file mode 100644
index 0000000..b7d34fc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e1c3cf.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.spvasm
new file mode 100644
index 0000000..1a2023c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e1c3cf.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.wgsl
new file mode 100644
index 0000000..df5d4e1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e1c3cf.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16float, read_write>;
+
+fn textureLoad_e1c3cf() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e1c3cf();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e1c3cf();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e1c3cf();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl
new file mode 100644
index 0000000..fae5ea8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<i32>
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..fc9f8fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2b3a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..fc9f8fa
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2b3a1.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.glsl
new file mode 100644
index 0000000..3664045
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e2b3a1();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e2b3a1() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e2b3a1();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.msl
new file mode 100644
index 0000000..1a022d0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2b3a1.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.spvasm
new file mode 100644
index 0000000..a7a5dbe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2b3a1.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.wgsl
new file mode 100644
index 0000000..eea80e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2b3a1.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_e2b3a1() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2b3a1();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2b3a1();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2b3a1();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl
new file mode 100644
index 0000000..facb865
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16float, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5c469ac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2d7da.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5c469ac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2d7da.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.glsl
new file mode 100644
index 0000000..ba5377b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e2d7da();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e2d7da();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_e2d7da() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e2d7da();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.msl
new file mode 100644
index 0000000..d8b6940
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2d7da.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.spvasm
new file mode 100644
index 0000000..56c2fc1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e2d7da.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.wgsl
new file mode 100644
index 0000000..4bfa524
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e2d7da.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16float, read_write>;
+
+fn textureLoad_e2d7da() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e2d7da();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e2d7da();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e2d7da();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl
new file mode 100644
index 0000000..e73da9b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba16sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba16sint, read_write>, coords: vec2<i32>) -> vec4<i32>
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..55e4f9b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e33285.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..55e4f9b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e33285.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.glsl
new file mode 100644
index 0000000..de9dc4b
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e33285();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e33285();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_e33285() {
+ ivec2 arg_1 = ivec2(1);
+ ivec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e33285();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.msl
new file mode 100644
index 0000000..b17d1bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e33285.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.spvasm
new file mode 100644
index 0000000..88dc480
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e33285.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.wgsl
new file mode 100644
index 0000000..f36158d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e33285.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba16sint, read_write>;
+
+fn textureLoad_e33285() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e33285();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e33285();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e33285();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl
new file mode 100644
index 0000000..a970568
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba16uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba16uint, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<u32>
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cdedd91
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e9eb65.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..cdedd91
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e9eb65.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.glsl
new file mode 100644
index 0000000..eba2f74
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_e9eb65();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_e9eb65();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba16ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_e9eb65() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ uvec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_e9eb65();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.msl
new file mode 100644
index 0000000..809033f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e9eb65.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.spvasm
new file mode 100644
index 0000000..d6dde88
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/e9eb65.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.wgsl
new file mode 100644
index 0000000..1f9d92a
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/e9eb65.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba16uint, read_write>;
+
+fn textureLoad_e9eb65() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_e9eb65();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_e9eb65();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_e9eb65();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl
new file mode 100644
index 0000000..5396e2c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rg32sint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<i32>
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..03f1450
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ed55a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..03f1450
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ed55a8.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.glsl
new file mode 100644
index 0000000..8e71cec
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ed55a8();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ed55a8();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ed55a8() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ed55a8();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.msl
new file mode 100644
index 0000000..caafbf3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ed55a8.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.spvasm
new file mode 100644
index 0000000..f498dfe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ed55a8.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.wgsl
new file mode 100644
index 0000000..9eebb7f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ed55a8.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rg32sint, read_write>;
+
+fn textureLoad_ed55a8() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ed55a8();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ed55a8();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ed55a8();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl
new file mode 100644
index 0000000..6e9d36e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rg32sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rg32sint, read_write>, coords: u32) -> vec4<i32>
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..6ee3ca6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ef2ec3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..6ee3ca6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ef2ec3.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.glsl
new file mode 100644
index 0000000..2ebfb68
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.glsl
@@ -0,0 +1,93 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_ef2ec3();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:4: 'image load-store format' : not supported with this profile: es
+ERROR: 0:4: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rg32i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_ef2ec3() {
+ uint arg_1 = 1u;
+ ivec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_ef2ec3();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:3: 'image load-store format' : not supported with this profile: es
+ERROR: 0:3: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.msl
new file mode 100644
index 0000000..bf210d7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ef2ec3.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.spvasm
new file mode 100644
index 0000000..f61ba79
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/ef2ec3.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.wgsl
new file mode 100644
index 0000000..2793511
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/ef2ec3.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rg32sint, read_write>;
+
+fn textureLoad_ef2ec3() {
+ var arg_1 = 1u;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_ef2ec3();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_ef2ec3();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_ef2ec3();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl
new file mode 100644
index 0000000..98132d5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32float, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..20905c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f0514a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..20905c0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f0514a.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.glsl
new file mode 100644
index 0000000..ba8ac94
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f0514a();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f0514a();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f0514a() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f0514a();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.msl
new file mode 100644
index 0000000..405f8b8
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f0514a.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.spvasm
new file mode 100644
index 0000000..29b8ad2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f0514a.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.wgsl
new file mode 100644
index 0000000..9389311
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f0514a.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f0514a() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f0514a();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f0514a();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f0514a();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl
new file mode 100644
index 0000000..315c1b5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_3d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_3d<r32float, read_write>, coords: vec3<i32>) -> vec4<f32>
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..bda36d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f1c549.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..bda36d2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f1c549.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.glsl
new file mode 100644
index 0000000..e5bc10c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f1c549();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f1c549();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image3D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f1c549() {
+ ivec3 arg_1 = ivec3(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f1c549();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.msl
new file mode 100644
index 0000000..5fd7769
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f1c549.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.spvasm
new file mode 100644
index 0000000..461ddbe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f1c549.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.wgsl
new file mode 100644
index 0000000..3cd3856
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f1c549.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_3d<r32float, read_write>;
+
+fn textureLoad_f1c549() {
+ var arg_1 = vec3<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f1c549();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f1c549();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f1c549();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl
new file mode 100644
index 0000000..2b8d1ac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8sint, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<i32>
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..548f47d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f2c311.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..548f47d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f2c311.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.glsl
new file mode 100644
index 0000000..e6f52dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f2c311();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f2c311();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_f2c311() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ ivec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f2c311();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.msl
new file mode 100644
index 0000000..5388ff0
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f2c311.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.spvasm
new file mode 100644
index 0000000..d082648
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f2c311.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.wgsl
new file mode 100644
index 0000000..36ab62f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f2c311.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8sint, read_write>;
+
+fn textureLoad_f2c311() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<i32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f2c311();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f2c311();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f2c311();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl
new file mode 100644
index 0000000..87cb18d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..cbbdc66
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f5fbc6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..cbbdc66
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f5fbc6.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.glsl
new file mode 100644
index 0000000..07447a2
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f5fbc6();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f5fbc6() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f5fbc6();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.msl
new file mode 100644
index 0000000..000b230
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f5fbc6.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.spvasm
new file mode 100644
index 0000000..0211fd7
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f5fbc6.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.wgsl
new file mode 100644
index 0000000..598c205
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f5fbc6.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_f5fbc6() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f5fbc6();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f5fbc6();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f5fbc6();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl
new file mode 100644
index 0000000..459ed5e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba8snorm, read_write>, coords: i32) -> vec4<f32>
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..9b3c49f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f7f3bc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..9b3c49f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f7f3bc.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.glsl
new file mode 100644
index 0000000..37f46d3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f7f3bc();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f7f3bc() {
+ int arg_1 = 1;
+ vec4 res = texelFetch(arg_0, ivec2(arg_1, 0));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f7f3bc();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.msl
new file mode 100644
index 0000000..3faa974
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f7f3bc.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.spvasm
new file mode 100644
index 0000000..c962ede
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f7f3bc.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.wgsl
new file mode 100644
index 0000000..edcb8bf
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f7f3bc.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba8snorm, read_write>;
+
+fn textureLoad_f7f3bc() {
+ var arg_1 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f7f3bc();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f7f3bc();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f7f3bc();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl
new file mode 100644
index 0000000..a5e200e
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<r32float, read_write>, coords: vec2<i32>, array_index: i32) -> vec4<f32>
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..368f4fd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f81792.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..368f4fd
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f81792.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.glsl
new file mode 100644
index 0000000..2e7447d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f81792();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f81792();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f81792() {
+ ivec2 arg_1 = ivec2(1);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(arg_1, arg_2));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f81792();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.msl
new file mode 100644
index 0000000..f0e5082
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f81792.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.spvasm
new file mode 100644
index 0000000..9ed39fe
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f81792.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.wgsl
new file mode 100644
index 0000000..d152b81
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f81792.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<r32float, read_write>;
+
+fn textureLoad_f81792() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f81792();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f81792();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f81792();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl
new file mode 100644
index 0000000..5690b01
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_1d<rgba32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_1d<rgba32float, read_write>, coords: u32) -> vec4<f32>
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..5a4e3c5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f82eb2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..5a4e3c5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f82eb2.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.glsl
new file mode 100644
index 0000000..f9727ff
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f82eb2();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f82eb2();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f82eb2() {
+ uint arg_1 = 1u;
+ vec4 res = texelFetch(arg_0, ivec2(uvec2(arg_1, 0u)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f82eb2();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.msl
new file mode 100644
index 0000000..7820067
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f82eb2.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.spvasm
new file mode 100644
index 0000000..1179fe9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f82eb2.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.wgsl
new file mode 100644
index 0000000..d50654c
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f82eb2.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_1d<rgba32float, read_write>;
+
+fn textureLoad_f82eb2() {
+ var arg_1 = 1u;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f82eb2();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f82eb2();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f82eb2();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl
new file mode 100644
index 0000000..7d5a0d4
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<r32float, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<r32float, read_write>, coords: vec2<i32>) -> vec4<f32>
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res: vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..80c0e59
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f92c2d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..80c0e59
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f92c2d.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.glsl
new file mode 100644
index 0000000..e40417f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_f92c2d();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_f92c2d();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(r32f) uniform highp writeonly image2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_f92c2d() {
+ ivec2 arg_1 = ivec2(1);
+ vec4 res = texelFetch(arg_0, arg_1);
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_f92c2d();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.msl
new file mode 100644
index 0000000..a83b25d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f92c2d.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.spvasm
new file mode 100644
index 0000000..14171e3
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/f92c2d.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.wgsl
new file mode 100644
index 0000000..390b5b6
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/f92c2d.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<r32float, read_write>;
+
+fn textureLoad_f92c2d() {
+ var arg_1 = vec2<i32>(1i);
+ var res : vec4<f32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_f92c2d();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_f92c2d();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_f92c2d();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl
new file mode 100644
index 0000000..7d71cf9
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl
@@ -0,0 +1,49 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d<rgba8sint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d<rgba8sint, read_write>, coords: vec2<u32>) -> vec4<i32>
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res: vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..22804f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.dxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fc47ff.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..22804f5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.fxc.hlsl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fc47ff.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.glsl
new file mode 100644
index 0000000..c1e1e75
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.glsl
@@ -0,0 +1,96 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fc47ff();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fc47ff();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of int'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8i) uniform highp writeonly iimage2D arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ ivec4 inner;
+} prevent_dce;
+
+void textureLoad_fc47ff() {
+ uvec2 arg_1 = uvec2(1u);
+ ivec4 res = texelFetch(arg_0, ivec2(arg_1));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fc47ff();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:10: 'texelFetch' : no matching overloaded function found
+ERROR: 0:10: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of int'
+ERROR: 0:10: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.msl
new file mode 100644
index 0000000..181d385
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.msl
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fc47ff.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.spvasm
new file mode 100644
index 0000000..b4bcc6d
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.spvasm
@@ -0,0 +1,35 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fc47ff.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.wgsl
new file mode 100644
index 0000000..7b77699
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fc47ff.wgsl.expected.wgsl
@@ -0,0 +1,27 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d<rgba8sint, read_write>;
+
+fn textureLoad_fc47ff() {
+ var arg_1 = vec2<u32>(1u);
+ var res : vec4<i32> = textureLoad(arg_0, arg_1);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<i32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fc47ff();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fc47ff();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fc47ff();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl
new file mode 100644
index 0000000..6209e1f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba8snorm, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba8snorm, read_write>, coords: vec2<u32>, array_index: i32) -> vec4<f32>
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res: vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..3dd044f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fd9606.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..3dd044f
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fd9606.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.glsl
new file mode 100644
index 0000000..b8f1e18
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fd9606();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fd9606();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba8_snorm) uniform highp writeonly image2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ vec4 inner;
+} prevent_dce;
+
+void textureLoad_fd9606() {
+ uvec2 arg_1 = uvec2(1u);
+ int arg_2 = 1;
+ vec4 res = texelFetch(arg_0, ivec3(uvec3(arg_1, uint(arg_2))));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fd9606();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.msl
new file mode 100644
index 0000000..6bb5dab
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fd9606.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.spvasm
new file mode 100644
index 0000000..485bf08
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fd9606.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.wgsl
new file mode 100644
index 0000000..7d445be
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fd9606.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba8snorm, read_write>;
+
+fn textureLoad_fd9606() {
+ var arg_1 = vec2<u32>(1u);
+ var arg_2 = 1i;
+ var res : vec4<f32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<f32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fd9606();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fd9606();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fd9606();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl
new file mode 100644
index 0000000..8428618
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl
@@ -0,0 +1,50 @@
+// Copyright 2023 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+
+enable chromium_experimental_read_write_storage_texture;
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32uint, read_write>;
+
+// fn textureLoad(texture: texture_storage_2d_array<rgba32uint, read_write>, coords: vec2<i32>, array_index: u32) -> vec4<u32>
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res: vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
new file mode 100644
index 0000000..15e3fe5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.dxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fe2c1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
new file mode 100644
index 0000000..15e3fe5
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.fxc.hlsl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fe2c1b.wgsl:24:8 error: HLSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.glsl
new file mode 100644
index 0000000..4c4f831
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.glsl
@@ -0,0 +1,99 @@
+SKIP: FAILED
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+vec4 vertex_main() {
+ textureLoad_fe2c1b();
+ return vec4(0.0f);
+}
+
+void main() {
+ gl_PointSize = 1.0;
+ vec4 inner_result = vertex_main();
+ gl_Position = inner_result;
+ gl_Position.y = -(gl_Position.y);
+ gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+precision highp float;
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+void main() {
+ fragment_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:12: 'texelFetch' : no matching overloaded function found
+ERROR: 0:12: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
+ERROR: 0:12: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
+#version 310 es
+
+layout(rgba32ui) uniform highp writeonly uimage2DArray arg_0;
+layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
+ uvec4 inner;
+} prevent_dce;
+
+void textureLoad_fe2c1b() {
+ ivec2 arg_1 = ivec2(1);
+ uint arg_2 = 1u;
+ uvec4 res = texelFetch(arg_0, ivec3(arg_1, int(arg_2)));
+ prevent_dce.inner = res;
+}
+
+void compute_main() {
+ textureLoad_fe2c1b();
+}
+
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ compute_main();
+ return;
+}
+Error parsing GLSL shader:
+ERROR: 0:11: 'texelFetch' : no matching overloaded function found
+ERROR: 0:11: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of uint'
+ERROR: 0:11: '' : compilation terminated
+ERROR: 3 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.msl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.msl
new file mode 100644
index 0000000..5d1b7c1
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.msl
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fe2c1b.wgsl:24:8 error: MSL backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.spvasm b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.spvasm
new file mode 100644
index 0000000..f7fd3dc
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.spvasm
@@ -0,0 +1,36 @@
+SKIP: FAILED
+
+
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
+
+Failed to generate: builtins/gen/var/textureLoad/fe2c1b.wgsl:24:8 error: SPIR-V backend does not support extension 'chromium_experimental_read_write_storage_texture'
+enable chromium_experimental_read_write_storage_texture;
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
diff --git a/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.wgsl b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.wgsl
new file mode 100644
index 0000000..806e3ac
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureLoad/fe2c1b.wgsl.expected.wgsl
@@ -0,0 +1,28 @@
+enable chromium_experimental_read_write_storage_texture;
+
+@group(1) @binding(0) var arg_0 : texture_storage_2d_array<rgba32uint, read_write>;
+
+fn textureLoad_fe2c1b() {
+ var arg_1 = vec2<i32>(1i);
+ var arg_2 = 1u;
+ var res : vec4<u32> = textureLoad(arg_0, arg_1, arg_2);
+ prevent_dce = res;
+}
+
+@group(2) @binding(0) var<storage, read_write> prevent_dce : vec4<u32>;
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureLoad_fe2c1b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureLoad_fe2c1b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureLoad_fe2c1b();
+}
diff --git a/tools/src/cmd/gen/main.go b/tools/src/cmd/gen/main.go
index 8336383..3578796 100644
--- a/tools/src/cmd/gen/main.go
+++ b/tools/src/cmd/gen/main.go
@@ -356,26 +356,27 @@
}
funcs := map[string]interface{}{
- "SplitDisplayName": gen.SplitDisplayName,
- "Scramble": g.scramble,
- "IsEnumEntry": is(sem.EnumEntry{}),
- "IsEnumMatcher": is(sem.EnumMatcher{}),
- "IsFQN": is(sem.FullyQualifiedName{}),
- "IsInt": is(1),
- "IsTemplateEnumParam": is(sem.TemplateEnumParam{}),
- "IsTemplateNumberParam": is(sem.TemplateNumberParam{}),
- "IsTemplateTypeParam": is(sem.TemplateTypeParam{}),
- "IsType": is(sem.Type{}),
- "ElementType": gen.ElementType,
- "DeepestElementType": gen.DeepestElementType,
- "IsAbstract": gen.IsAbstract,
- "IsDeclarable": gen.IsDeclarable,
- "IsHostShareable": gen.IsHostShareable,
- "OverloadUsesF16": gen.OverloadUsesF16,
- "IsFirstIn": isFirstIn,
- "IsLastIn": isLastIn,
- "LoadIntrinsics": func(path string) *intrinsicCache { return g.cache.intrinsics(path) },
- "WriteFile": func(relPath, content string) (string, error) { return "", g.writeFile(relPath, content) },
+ "SplitDisplayName": gen.SplitDisplayName,
+ "Scramble": g.scramble,
+ "IsEnumEntry": is(sem.EnumEntry{}),
+ "IsEnumMatcher": is(sem.EnumMatcher{}),
+ "IsFQN": is(sem.FullyQualifiedName{}),
+ "IsInt": is(1),
+ "IsTemplateEnumParam": is(sem.TemplateEnumParam{}),
+ "IsTemplateNumberParam": is(sem.TemplateNumberParam{}),
+ "IsTemplateTypeParam": is(sem.TemplateTypeParam{}),
+ "IsType": is(sem.Type{}),
+ "ElementType": gen.ElementType,
+ "DeepestElementType": gen.DeepestElementType,
+ "IsAbstract": gen.IsAbstract,
+ "IsDeclarable": gen.IsDeclarable,
+ "IsHostShareable": gen.IsHostShareable,
+ "OverloadUsesF16": gen.OverloadUsesF16,
+ "OverloadUsesReadWriteStorageTexture": gen.OverloadUsesReadWriteStorageTexture,
+ "IsFirstIn": isFirstIn,
+ "IsLastIn": isLastIn,
+ "LoadIntrinsics": func(path string) *intrinsicCache { return g.cache.intrinsics(path) },
+ "WriteFile": func(relPath, content string) (string, error) { return "", g.writeFile(relPath, content) },
}
return template.Run(tmpl, w, funcs)
}
diff --git a/tools/src/tint/intrinsic/gen/gen.go b/tools/src/tint/intrinsic/gen/gen.go
index 2a43259..3348564 100644
--- a/tools/src/tint/intrinsic/gen/gen.go
+++ b/tools/src/tint/intrinsic/gen/gen.go
@@ -616,6 +616,18 @@
return false
}
+// OverloadUsesReadWriteStorageTexture returns true if the overload uses a read-write storage texture.
+func OverloadUsesReadWriteStorageTexture(overload sem.Overload) bool {
+ for _, param := range overload.Parameters {
+ if strings.HasPrefix(param.Type.Target.GetName(), "texture_storage") {
+ if param.Type.TemplateArguments[1].(sem.FullyQualifiedName).Target.GetName() == "read_write" {
+ return true
+ }
+ }
+ }
+ return false
+}
+
func loadOrMinusOne(p *int) int {
if p != nil {
return *p