tint/intrinsics: Texture queries now return unsigned integer / vectors
To match the spec.
Also add a bunch of missing texture test cases to
src/tint/ast/builtin_texture_helper_test.cc. Fix all the tests that were
broken because these were not being exercised.
Fixed: tint:1526
Change-Id: I207b51d307bbdc054b595e0e0e0fd3330607e171
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/106681
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl b/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl
new file mode 100644
index 0000000..979ac02
--- /dev/null
+++ b/test/tint/builtins/gen/var/textureNumLayers/d75a0b.wgsl
@@ -0,0 +1,44 @@
+// Copyright 2022 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+////////////////////////////////////////////////////////////////////////////////
+// File generated by tools/src/cmd/gen
+// using the template:
+// test/tint/builtins/gen/gen.wgsl.tmpl
+//
+// Do not modify this file directly
+////////////////////////////////////////////////////////////////////////////////
+
+@group(1) @binding(0) var arg_0: texture_storage_2d_array<rgba32float, write>;
+
+// fn textureNumLayers(texture: texture_storage_2d_array<rgba32float, write>) -> u32
+fn textureNumLayers_d75a0b() {
+ var res: u32 = textureNumLayers(arg_0);
+}
+
+@vertex
+fn vertex_main() -> @builtin(position) vec4<f32> {
+ textureNumLayers_d75a0b();
+ return vec4<f32>();
+}
+
+@fragment
+fn fragment_main() {
+ textureNumLayers_d75a0b();
+}
+
+@compute @workgroup_size(1)
+fn compute_main() {
+ textureNumLayers_d75a0b();
+}