[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/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();
+}