[msl] Emit read_write access for storage textures
Bug: 42251016
Change-Id: Ida58b11fb5f89a316fdbaae5e00167f64c02fc57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/192781
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/msl/writer/printer/printer.cc b/src/tint/lang/msl/writer/printer/printer.cc
index 2617d6d..1ed24b8 100644
--- a/src/tint/lang/msl/writer/printer/printer.cc
+++ b/src/tint/lang/msl/writer/printer/printer.cc
@@ -1241,6 +1241,8 @@
std::string access_str;
if (storage->access() == core::Access::kRead) {
out << "access::read";
+ } else if (storage->access() == core::Access::kReadWrite) {
+ out << "access::read_write";
} else if (storage->access() == core::Access::kWrite) {
out << "access::write";
} else {
diff --git a/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl
index 4ef958d..667175c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/01e21e.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_01e21e(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_01e21e = func():void {
- $B2: {
- %4:texture_storage_1d<rg32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_01e21e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_01e21e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01e21e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_01e21e
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01e21e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_01e21e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl
index 76d62ec..3cd6284 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/01edb1.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_01edb1(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_01edb1 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_01edb1(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_01edb1
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01edb1(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_01edb1
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01edb1(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_01edb1
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl
index 4cfbfbf..4cdd1a4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0276ec.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0276ec(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0276ec = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0276ec(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0276ec
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0276ec(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0276ec
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0276ec(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0276ec
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl
index b729de4..0b3c89a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/029589.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_029589(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_029589 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_029589(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_029589
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_029589(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_029589
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_029589(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_029589
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl
index 66ff65b..8c137ca 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/033195.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_033195(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_033195 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_033195(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_033195
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_033195(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_033195
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_033195(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_033195
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl
index 095c18f..4323cd2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/038847.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_038847(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_038847 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_038847(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_038847
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_038847(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_038847
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_038847(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_038847
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl
index 2c6ddcf..65d0c8d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/03f81e.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_03f81e(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_03f81e = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_03f81e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_03f81e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_03f81e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_03f81e
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_03f81e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_03f81e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl
index 939d739..1767e3c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0973c9.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0973c9(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0973c9 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0973c9(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0973c9
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0973c9(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0973c9
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0973c9(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0973c9
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl
index 6abd491..c44ec81 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/0de70c.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0de70c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0de70c = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0de70c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0de70c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0de70c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0de70c
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0de70c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0de70c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/18160d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/18160d.wgsl.expected.ir.msl
index 6c1d710..ec3a835 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/18160d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/18160d.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_18160d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_18160d = func():void {
- $B2: {
- %4:texture_storage_2d<r8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_18160d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_18160d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_18160d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_18160d
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_18160d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_18160d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl
index e098f08..f20971d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/1e4024.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_1e4024(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_1e4024 = func():void {
- $B2: {
- %4:texture_storage_2d<r32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_1e4024(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_1e4024
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_1e4024(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_1e4024
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_1e4024(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_1e4024
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl
index f40f3ce..e3da7b7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/20eaad.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_20eaad(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_20eaad = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_20eaad(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_20eaad
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20eaad(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_20eaad
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20eaad(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_20eaad
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl
index a316b4f..4718bf2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/20ecef.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_20ecef(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_20ecef = func():void {
- $B2: {
- %4:texture_storage_1d<r32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_20ecef(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_20ecef
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20ecef(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_20ecef
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20ecef(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_20ecef
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/282978.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/282978.wgsl.expected.ir.msl
index 44c95a1..8bca1f7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/282978.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/282978.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_282978(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_282978 = func():void {
- $B2: {
- %4:texture_storage_3d<r8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_282978(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_282978
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_282978(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_282978
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_282978(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_282978
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl
index e76cc22..0f54989 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/283b58.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_283b58(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_283b58 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_283b58(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_283b58
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_283b58(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_283b58
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_283b58(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_283b58
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl
index ccf4364..568c2f7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/2a58b7.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_2a58b7(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_2a58b7 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_2a58b7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_2a58b7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_2a58b7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_2a58b7
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_2a58b7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_2a58b7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl
index 01b52fd..d921d61 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/31d00d.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_31d00d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_31d00d = func():void {
- $B2: {
- %4:texture_storage_3d<r32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_31d00d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_31d00d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_31d00d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_31d00d
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_31d00d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_31d00d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl
index 6163677..5a68cfb 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/325338.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_325338(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_325338 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_325338(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_325338
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_325338(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_325338
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_325338(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_325338
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl
index 62d243b..66a8c6c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/36eeb7.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_36eeb7(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_36eeb7 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_36eeb7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_36eeb7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_36eeb7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_36eeb7
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_36eeb7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_36eeb7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl
index 258694e..2d49d3f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3834f8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_3834f8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_3834f8 = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_3834f8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_3834f8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3834f8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_3834f8
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3834f8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_3834f8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl
index 0a6c1af..a9687ef 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/38c9ca.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_38c9ca(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_38c9ca = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_38c9ca(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_38c9ca
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_38c9ca(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_38c9ca
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_38c9ca(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_38c9ca
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl
index 6d8c462..b46158d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/3bf12a.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_3bf12a(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_3bf12a = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_3bf12a(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_3bf12a
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3bf12a(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_3bf12a
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3bf12a(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_3bf12a
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl
index 656fd03..47c2afc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/427f92.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_427f92(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_427f92 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_427f92(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_427f92
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_427f92(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_427f92
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_427f92(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_427f92
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl
index 825c86d..27ab970 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4d27b3.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_4d27b3(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4d27b3 = func():void {
- $B2: {
- %4:texture_storage_3d<r32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4d27b3(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4d27b3
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4d27b3(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4d27b3
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4d27b3(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4d27b3
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl
index d79244a..6f4b2f6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4df14c.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_4df14c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4df14c = func():void {
- $B2: {
- %4:texture_storage_3d<rg32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4df14c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4df14c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4df14c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4df14c
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4df14c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4df14c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl
index 17dadcf..a1251dc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/4e540a.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_4e540a(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4e540a = func():void {
- $B2: {
- %4:texture_storage_1d<r32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4e540a(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4e540a
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4e540a(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4e540a
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4e540a(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4e540a
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl
index 7ca2b12..d9bca4d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/55fdeb.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_55fdeb(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_55fdeb = func():void {
- $B2: {
- %4:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_55fdeb(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_55fdeb
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_55fdeb(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_55fdeb
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_55fdeb(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_55fdeb
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl
index c407cc0..2016236 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/5703b3.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_5703b3(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_5703b3 = func():void {
- $B2: {
- %4:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_5703b3(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_5703b3
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_5703b3(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_5703b3
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_5703b3(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_5703b3
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/578e75.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/578e75.wgsl.expected.ir.msl
index 2e4dcc34..e7bf9b2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/578e75.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/578e75.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_578e75(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_578e75 = func():void {
- $B2: {
- %4:texture_storage_2d_array<r8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_578e75(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_578e75
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_578e75(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_578e75
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_578e75(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_578e75
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl
index 5753859..1ee9b3e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/579eee.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_579eee(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_579eee = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_579eee(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_579eee
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_579eee(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_579eee
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_579eee(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_579eee
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl
index a85f2fe..c2c212e 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/617dc8.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_617dc8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_617dc8 = func():void {
- $B2: {
- %4:texture_storage_3d<r32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_617dc8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_617dc8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_617dc8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_617dc8
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_617dc8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_617dc8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl
index 84e759d..e8a672c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/70dd33.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_70dd33(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_70dd33 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_70dd33(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_70dd33
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_70dd33(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_70dd33
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_70dd33(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_70dd33
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl
index 6e0c466..0a20df5 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/715917.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_715917(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_715917 = func():void {
- $B2: {
- %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_715917(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_715917
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_715917(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_715917
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_715917(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_715917
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl
index 24b58d8..beb9880 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/740e7c.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_740e7c(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_740e7c = func():void {
- $B2: {
- %4:texture_storage_1d<rg32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_740e7c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_740e7c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_740e7c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_740e7c
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_740e7c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_740e7c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl
index 265b2d8..4beaf3c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/795fbb.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_795fbb(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_795fbb = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_795fbb(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_795fbb
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_795fbb(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_795fbb
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_795fbb(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_795fbb
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl
index 081b6f4..1d9f450 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7c7c64.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_7c7c64(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_7c7c64 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_7c7c64(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_7c7c64
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7c7c64(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_7c7c64
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7c7c64(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_7c7c64
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl
index c97f9a9..eaa1db8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/7ea4b5.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_7ea4b5(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_7ea4b5 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_7ea4b5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_7ea4b5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7ea4b5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_7ea4b5
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7ea4b5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_7ea4b5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl
index 1ce6264..f57361f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8243a1.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8243a1(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8243a1 = func():void {
- $B2: {
- %4:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8243a1(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8243a1
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8243a1(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8243a1
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8243a1(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8243a1
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl
index 7cf9323..e287cb3 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/835f90.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_835f90(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_835f90 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_835f90(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_835f90
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_835f90(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_835f90
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_835f90(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_835f90
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl
index 18da2e6..a82ee9f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8a2b17.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_8a2b17(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8a2b17 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8a2b17(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8a2b17
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8a2b17(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8a2b17
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8a2b17(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8a2b17
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl
index 2fc2c6a..f6966b7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8b9906.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8b9906(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8b9906 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8b9906(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8b9906
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8b9906(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8b9906
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8b9906(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8b9906
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl
index 42dbc03..d2d9eb7 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/8bd369.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8bd369(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8bd369 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8bd369(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8bd369
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8bd369(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8bd369
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8bd369(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8bd369
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl
index f4e12c7..4dd7839 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/91e3b4.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_91e3b4(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_91e3b4 = func():void {
- $B2: {
- %4:texture_storage_3d<rg32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_91e3b4(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_91e3b4
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_91e3b4(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_91e3b4
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_91e3b4(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_91e3b4
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl
index ef2628f..7b80376 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/9944d5.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_9944d5(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_9944d5 = func():void {
- $B2: {
- %4:texture_storage_1d<r32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_9944d5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_9944d5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_9944d5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_9944d5
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_9944d5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_9944d5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl
index 2655353..2ebcd9d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a105a5.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_a105a5(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a105a5 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a105a5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a105a5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a105a5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a105a5
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a105a5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a105a5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl
index 24e838d..9268257 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a14386.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_a14386(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a14386 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a14386(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a14386
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a14386(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a14386
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a14386(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a14386
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl
index 5ff70c5..af8abe4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/a7ae4c.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_a7ae4c(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a7ae4c = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a7ae4c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a7ae4c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a7ae4c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a7ae4c
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a7ae4c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a7ae4c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl
index 84b0b21..adfc5e1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ae4595.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ae4595(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ae4595 = func():void {
- $B2: {
- %4:texture_storage_3d<rg32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ae4595(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ae4595
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae4595(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ae4595
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae4595(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ae4595
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl
index efbeeed..0e58aba 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ae75a7.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_ae75a7(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ae75a7 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ae75a7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ae75a7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae75a7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ae75a7
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae75a7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ae75a7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl
index c75fa3e..408d03a 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b16352.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b16352(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b16352 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b16352(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b16352
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b16352(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b16352
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b16352(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b16352
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl
index 55267cb..2fb5086 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b284b8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b284b8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b284b8 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b284b8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b284b8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b284b8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b284b8
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b284b8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b284b8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl
index 7075ee4..08172b2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b5d68e.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b5d68e(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b5d68e = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b5d68e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b5d68e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b5d68e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b5d68e
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b5d68e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b5d68e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl
index 8a9bb43..4ffab41 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/b8287f.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b8287f(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b8287f = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b8287f(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b8287f
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b8287f(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b8287f
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b8287f(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b8287f
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl
index 0734d41..0f523c1 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/bc96f6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_bc96f6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_bc96f6 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_bc96f6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_bc96f6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_bc96f6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_bc96f6
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_bc96f6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_bc96f6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl
index 4d04623..2995f45 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c27466.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c27466(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c27466 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c27466(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c27466
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c27466(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c27466
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c27466(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c27466
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl
index c81c192..5d32010 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c6b44c.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_c6b44c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c6b44c = func():void {
- $B2: {
- %4:texture_storage_2d<r32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c6b44c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c6b44c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b44c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c6b44c
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b44c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c6b44c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c6b985.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c6b985.wgsl.expected.ir.msl
index b645805..8b34ccc 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c6b985.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c6b985.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c6b985(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c6b985 = func():void {
- $B2: {
- %4:texture_storage_1d<r8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c6b985(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c6b985
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b985(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c6b985
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b985(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c6b985
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl
index 7be61e1..f0e0761 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c7ea63.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c7ea63(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c7ea63 = func():void {
- $B2: {
- %4:texture_storage_1d<rg32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c7ea63(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c7ea63
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c7ea63(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c7ea63
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c7ea63(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c7ea63
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl
index a886b56..54565cd 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/c82420.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_c82420(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c82420 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c82420(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c82420
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c82420(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c82420
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c82420(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c82420
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl
index d198f46..2626e89 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ca10cc.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ca10cc(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ca10cc = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ca10cc(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ca10cc
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ca10cc(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ca10cc
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ca10cc(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ca10cc
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl
index adf6260..bc9e2d2 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/deb3c0.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_deb3c0(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_deb3c0 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_deb3c0(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_deb3c0
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_deb3c0(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_deb3c0
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_deb3c0(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_deb3c0
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl
index 687f5e4..6742ed8 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e4f021.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e4f021(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e4f021 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e4f021(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e4f021
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e4f021(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e4f021
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e4f021(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e4f021
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl
index 015b749..9acd111 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e50eb8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e50eb8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e50eb8 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e50eb8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e50eb8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e50eb8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e50eb8
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e50eb8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e50eb8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl
index f8c1124..fab18b6 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/e824b6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e824b6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e824b6 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e824b6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e824b6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e824b6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e824b6
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e824b6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e824b6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl
index 009453b..99d4426 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb10d6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb10d6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb10d6 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb10d6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb10d6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb10d6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb10d6
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb10d6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb10d6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl
index 1f20f91..8758c69 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb1249.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb1249(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb1249 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb1249(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb1249
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb1249(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb1249
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb1249(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb1249
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl
index 92df375..abd846c 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/eb9f4d.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb9f4d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb9f4d = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb9f4d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb9f4d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb9f4d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb9f4d
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb9f4d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb9f4d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl
index 74ea7f7..9541a0d 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/ed1030.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ed1030(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ed1030 = func():void {
- $B2: {
- %4:texture_storage_2d<r32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ed1030(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ed1030
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ed1030(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ed1030
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ed1030(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ed1030
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl
index 77a9dc8..0142ef4 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f406ff.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_f406ff(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f406ff = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f406ff(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f406ff
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f406ff(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f406ff
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f406ff(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f406ff
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl
index 157d160..67f986b 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f55a94.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f55a94(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f55a94 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f55a94(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f55a94
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f55a94(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f55a94
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f55a94(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f55a94
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl
index f0c1f58..9fb5644 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f93ece.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f93ece(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f93ece = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f93ece(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f93ece
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f93ece(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f93ece
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f93ece(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f93ece
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl
index 1b8912c..b3c546f 100644
--- a/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/literal/textureDimensions/f94e55.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f94e55(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f94e55 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f94e55(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f94e55
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f94e55(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f94e55
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f94e55(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f94e55
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/01e21e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/01e21e.wgsl.expected.ir.msl
index 4ef958d..667175c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/01e21e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/01e21e.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_01e21e(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_01e21e = func():void {
- $B2: {
- %4:texture_storage_1d<rg32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_01e21e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_01e21e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01e21e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_01e21e
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01e21e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_01e21e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/01edb1.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/01edb1.wgsl.expected.ir.msl
index 76d62ec..3cd6284 100644
--- a/test/tint/builtins/gen/var/textureDimensions/01edb1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/01edb1.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_01edb1(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_01edb1 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_01edb1(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_01edb1
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01edb1(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_01edb1
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_01edb1(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_01edb1
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/0276ec.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/0276ec.wgsl.expected.ir.msl
index 4cfbfbf..4cdd1a4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0276ec.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/0276ec.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0276ec(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0276ec = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0276ec(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0276ec
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0276ec(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0276ec
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0276ec(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0276ec
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/029589.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/029589.wgsl.expected.ir.msl
index b729de4..0b3c89a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/029589.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/029589.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_029589(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_029589 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_029589(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_029589
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_029589(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_029589
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_029589(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_029589
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/033195.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/033195.wgsl.expected.ir.msl
index 66ff65b..8c137ca 100644
--- a/test/tint/builtins/gen/var/textureDimensions/033195.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/033195.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_033195(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_033195 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_033195(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_033195
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_033195(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_033195
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_033195(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_033195
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/038847.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/038847.wgsl.expected.ir.msl
index 095c18f..4323cd2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/038847.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/038847.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_038847(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_038847 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_038847(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_038847
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_038847(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_038847
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_038847(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_038847
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/03f81e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/03f81e.wgsl.expected.ir.msl
index 2c6ddcf..65d0c8d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/03f81e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/03f81e.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_03f81e(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_03f81e = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8snorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_03f81e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_03f81e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_03f81e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_03f81e
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_03f81e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_03f81e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/0973c9.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/0973c9.wgsl.expected.ir.msl
index 939d739..1767e3c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0973c9.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/0973c9.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0973c9(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0973c9 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0973c9(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0973c9
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0973c9(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0973c9
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0973c9(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0973c9
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/0de70c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/0de70c.wgsl.expected.ir.msl
index 6abd491..c44ec81 100644
--- a/test/tint/builtins/gen/var/textureDimensions/0de70c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/0de70c.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_0de70c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_0de70c = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_0de70c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_0de70c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0de70c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_0de70c
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_0de70c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_0de70c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/18160d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/18160d.wgsl.expected.ir.msl
index 6c1d710..ec3a835 100644
--- a/test/tint/builtins/gen/var/textureDimensions/18160d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/18160d.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_18160d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_18160d = func():void {
- $B2: {
- %4:texture_storage_2d<r8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_18160d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_18160d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_18160d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_18160d
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_18160d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_18160d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/1e4024.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/1e4024.wgsl.expected.ir.msl
index e098f08..f20971d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/1e4024.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/1e4024.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_1e4024(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_1e4024 = func():void {
- $B2: {
- %4:texture_storage_2d<r32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_1e4024(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_1e4024
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_1e4024(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_1e4024
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_1e4024(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_1e4024
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/20eaad.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/20eaad.wgsl.expected.ir.msl
index f40f3ce..e3da7b7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/20eaad.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/20eaad.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_20eaad(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_20eaad = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_20eaad(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_20eaad
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20eaad(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_20eaad
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20eaad(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_20eaad
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/20ecef.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/20ecef.wgsl.expected.ir.msl
index a316b4f..4718bf2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/20ecef.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/20ecef.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_20ecef(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_20ecef = func():void {
- $B2: {
- %4:texture_storage_1d<r32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_20ecef(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_20ecef
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20ecef(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_20ecef
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_20ecef(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_20ecef
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/282978.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/282978.wgsl.expected.ir.msl
index 44c95a1..8bca1f7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/282978.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/282978.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_282978(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_282978 = func():void {
- $B2: {
- %4:texture_storage_3d<r8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_282978(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_282978
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_282978(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_282978
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_282978(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_282978
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/283b58.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/283b58.wgsl.expected.ir.msl
index e76cc22..0f54989 100644
--- a/test/tint/builtins/gen/var/textureDimensions/283b58.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/283b58.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_283b58(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_283b58 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_283b58(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_283b58
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_283b58(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_283b58
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_283b58(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_283b58
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/2a58b7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/2a58b7.wgsl.expected.ir.msl
index ccf4364..568c2f7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/2a58b7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/2a58b7.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_2a58b7(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_2a58b7 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_2a58b7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_2a58b7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_2a58b7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_2a58b7
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_2a58b7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_2a58b7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/31d00d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/31d00d.wgsl.expected.ir.msl
index 01b52fd..d921d61 100644
--- a/test/tint/builtins/gen/var/textureDimensions/31d00d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/31d00d.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_31d00d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_31d00d = func():void {
- $B2: {
- %4:texture_storage_3d<r32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_31d00d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_31d00d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_31d00d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_31d00d
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_31d00d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_31d00d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/325338.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/325338.wgsl.expected.ir.msl
index 6163677..5a68cfb 100644
--- a/test/tint/builtins/gen/var/textureDimensions/325338.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/325338.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_325338(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_325338 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_325338(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_325338
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_325338(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_325338
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_325338(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_325338
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/36eeb7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/36eeb7.wgsl.expected.ir.msl
index 62d243b..66a8c6c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/36eeb7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/36eeb7.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_36eeb7(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_36eeb7 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_36eeb7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_36eeb7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_36eeb7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_36eeb7
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_36eeb7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_36eeb7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/3834f8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/3834f8.wgsl.expected.ir.msl
index 258694e..2d49d3f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3834f8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/3834f8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_3834f8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_3834f8 = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_3834f8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_3834f8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3834f8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_3834f8
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3834f8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_3834f8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/38c9ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/38c9ca.wgsl.expected.ir.msl
index 0a6c1af..a9687ef 100644
--- a/test/tint/builtins/gen/var/textureDimensions/38c9ca.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/38c9ca.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_38c9ca(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_38c9ca = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_38c9ca(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_38c9ca
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_38c9ca(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_38c9ca
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_38c9ca(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_38c9ca
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/3bf12a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/3bf12a.wgsl.expected.ir.msl
index 6d8c462..b46158d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/3bf12a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/3bf12a.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_3bf12a(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_3bf12a = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_3bf12a(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_3bf12a
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3bf12a(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_3bf12a
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_3bf12a(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_3bf12a
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/427f92.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/427f92.wgsl.expected.ir.msl
index 656fd03..47c2afc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/427f92.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/427f92.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_427f92(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_427f92 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba16uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_427f92(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_427f92
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_427f92(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_427f92
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_427f92(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_427f92
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/4d27b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/4d27b3.wgsl.expected.ir.msl
index 825c86d..27ab970 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4d27b3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/4d27b3.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_4d27b3(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4d27b3 = func():void {
- $B2: {
- %4:texture_storage_3d<r32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4d27b3(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4d27b3
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4d27b3(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4d27b3
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4d27b3(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4d27b3
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/4df14c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/4df14c.wgsl.expected.ir.msl
index d79244a..6f4b2f6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4df14c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/4df14c.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_4df14c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4df14c = func():void {
- $B2: {
- %4:texture_storage_3d<rg32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4df14c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4df14c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4df14c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4df14c
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4df14c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4df14c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/4e540a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/4e540a.wgsl.expected.ir.msl
index 17dadcf..a1251dc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/4e540a.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/4e540a.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_4e540a(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_4e540a = func():void {
- $B2: {
- %4:texture_storage_1d<r32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_4e540a(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_4e540a
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4e540a(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_4e540a
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_4e540a(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_4e540a
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/55fdeb.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/55fdeb.wgsl.expected.ir.msl
index 7ca2b12..d9bca4d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/55fdeb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/55fdeb.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_55fdeb(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_55fdeb = func():void {
- $B2: {
- %4:texture_storage_2d<bgra8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_55fdeb(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_55fdeb
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_55fdeb(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_55fdeb
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_55fdeb(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_55fdeb
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/5703b3.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/5703b3.wgsl.expected.ir.msl
index c407cc0..2016236 100644
--- a/test/tint/builtins/gen/var/textureDimensions/5703b3.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/5703b3.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_5703b3(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_5703b3 = func():void {
- $B2: {
- %4:texture_storage_1d<bgra8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_5703b3(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_5703b3
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_5703b3(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_5703b3
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_5703b3(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_5703b3
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/578e75.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/578e75.wgsl.expected.ir.msl
index 2e4dcc34..e7bf9b2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/578e75.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/578e75.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_578e75(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_578e75 = func():void {
- $B2: {
- %4:texture_storage_2d_array<r8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_578e75(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_578e75
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_578e75(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_578e75
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_578e75(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_578e75
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/579eee.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/579eee.wgsl.expected.ir.msl
index 5753859..1ee9b3e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/579eee.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/579eee.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_579eee(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_579eee = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_579eee(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_579eee
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_579eee(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_579eee
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_579eee(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_579eee
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/617dc8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/617dc8.wgsl.expected.ir.msl
index a85f2fe..c2c212e 100644
--- a/test/tint/builtins/gen/var/textureDimensions/617dc8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/617dc8.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<r32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_617dc8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_617dc8 = func():void {
- $B2: {
- %4:texture_storage_3d<r32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_617dc8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_617dc8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_617dc8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_617dc8
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_617dc8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_617dc8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/70dd33.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/70dd33.wgsl.expected.ir.msl
index 84e759d..e8a672c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/70dd33.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/70dd33.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_70dd33(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_70dd33 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_70dd33(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_70dd33
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_70dd33(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_70dd33
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_70dd33(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_70dd33
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/715917.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/715917.wgsl.expected.ir.msl
index 6e0c466..0a20df5 100644
--- a/test/tint/builtins/gen/var/textureDimensions/715917.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/715917.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_715917(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_715917 = func():void {
- $B2: {
- %4:texture_storage_2d_array<bgra8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_715917(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_715917
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_715917(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_715917
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_715917(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_715917
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/740e7c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/740e7c.wgsl.expected.ir.msl
index 24b58d8..beb9880 100644
--- a/test/tint/builtins/gen/var/textureDimensions/740e7c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/740e7c.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_740e7c(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_740e7c = func():void {
- $B2: {
- %4:texture_storage_1d<rg32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_740e7c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_740e7c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_740e7c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_740e7c
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_740e7c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_740e7c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/795fbb.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/795fbb.wgsl.expected.ir.msl
index 265b2d8..4beaf3c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/795fbb.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/795fbb.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_795fbb(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_795fbb = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_795fbb(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_795fbb
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_795fbb(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_795fbb
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_795fbb(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_795fbb
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/7c7c64.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/7c7c64.wgsl.expected.ir.msl
index 081b6f4..1d9f450 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7c7c64.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/7c7c64.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_7c7c64(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_7c7c64 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_7c7c64(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_7c7c64
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7c7c64(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_7c7c64
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7c7c64(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_7c7c64
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/7ea4b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/7ea4b5.wgsl.expected.ir.msl
index c97f9a9..eaa1db8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/7ea4b5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/7ea4b5.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_7ea4b5(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_7ea4b5 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_7ea4b5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_7ea4b5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7ea4b5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_7ea4b5
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_7ea4b5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_7ea4b5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/8243a1.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/8243a1.wgsl.expected.ir.msl
index 1ce6264..f57361f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8243a1.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/8243a1.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<bgra8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8243a1(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8243a1 = func():void {
- $B2: {
- %4:texture_storage_3d<bgra8unorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8243a1(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8243a1
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8243a1(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8243a1
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8243a1(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8243a1
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/835f90.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/835f90.wgsl.expected.ir.msl
index 7cf9323..e287cb3 100644
--- a/test/tint/builtins/gen/var/textureDimensions/835f90.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/835f90.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_835f90(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_835f90 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_835f90(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_835f90
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_835f90(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_835f90
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_835f90(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_835f90
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/8a2b17.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/8a2b17.wgsl.expected.ir.msl
index 18da2e6..a82ee9f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8a2b17.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/8a2b17.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_8a2b17(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8a2b17 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8a2b17(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8a2b17
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8a2b17(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8a2b17
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8a2b17(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8a2b17
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/8b9906.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/8b9906.wgsl.expected.ir.msl
index 2fc2c6a..f6966b7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8b9906.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/8b9906.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8b9906(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8b9906 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8b9906(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8b9906
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8b9906(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8b9906
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8b9906(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8b9906
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/8bd369.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/8bd369.wgsl.expected.ir.msl
index 42dbc03..d2d9eb7 100644
--- a/test/tint/builtins/gen/var/textureDimensions/8bd369.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/8bd369.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_8bd369(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_8bd369 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8snorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_8bd369(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_8bd369
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8bd369(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_8bd369
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_8bd369(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_8bd369
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/91e3b4.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/91e3b4.wgsl.expected.ir.msl
index f4e12c7..4dd7839 100644
--- a/test/tint/builtins/gen/var/textureDimensions/91e3b4.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/91e3b4.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<int, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_91e3b4(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_91e3b4 = func():void {
- $B2: {
- %4:texture_storage_3d<rg32sint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_91e3b4(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_91e3b4
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_91e3b4(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_91e3b4
- ret
- }
+kernel void compute_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_91e3b4(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_91e3b4
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<int, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/9944d5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/9944d5.wgsl.expected.ir.msl
index ef2628f..7b80376 100644
--- a/test/tint/builtins/gen/var/textureDimensions/9944d5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/9944d5.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_9944d5(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_9944d5 = func():void {
- $B2: {
- %4:texture_storage_1d<r32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_9944d5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_9944d5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_9944d5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_9944d5
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_9944d5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_9944d5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/a105a5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/a105a5.wgsl.expected.ir.msl
index 2655353..2ebcd9d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a105a5.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/a105a5.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<uint, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_a105a5(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a105a5 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32uint, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a105a5(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a105a5
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a105a5(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a105a5
- ret
- }
+kernel void compute_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a105a5(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a105a5
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<uint, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/a14386.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/a14386.wgsl.expected.ir.msl
index 24e838d..9268257 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a14386.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/a14386.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_a14386(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a14386 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a14386(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a14386
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a14386(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a14386
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a14386(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a14386
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/a7ae4c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/a7ae4c.wgsl.expected.ir.msl
index 5ff70c5..af8abe4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/a7ae4c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/a7ae4c.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_a7ae4c(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_a7ae4c = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8snorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_a7ae4c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_a7ae4c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a7ae4c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_a7ae4c
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_a7ae4c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_a7ae4c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/ae4595.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/ae4595.wgsl.expected.ir.msl
index 84b0b21..adfc5e1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ae4595.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/ae4595.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ae4595(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ae4595 = func():void {
- $B2: {
- %4:texture_storage_3d<rg32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ae4595(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ae4595
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae4595(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ae4595
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae4595(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ae4595
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/ae75a7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/ae75a7.wgsl.expected.ir.msl
index efbeeed..0e58aba 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ae75a7.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/ae75a7.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_ae75a7(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ae75a7 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ae75a7(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ae75a7
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae75a7(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ae75a7
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ae75a7(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ae75a7
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/b16352.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/b16352.wgsl.expected.ir.msl
index c75fa3e..408d03a 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b16352.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/b16352.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b16352(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b16352 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba16sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b16352(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b16352
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b16352(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b16352
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b16352(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b16352
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/b284b8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/b284b8.wgsl.expected.ir.msl
index 55267cb..2fb5086 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b284b8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/b284b8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b284b8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b284b8 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b284b8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b284b8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b284b8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b284b8
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b284b8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b284b8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/b5d68e.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/b5d68e.wgsl.expected.ir.msl
index 7075ee4..08172b2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b5d68e.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/b5d68e.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b5d68e(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b5d68e = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b5d68e(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b5d68e
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b5d68e(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b5d68e
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b5d68e(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b5d68e
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/b8287f.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/b8287f.wgsl.expected.ir.msl
index 8a9bb43..4ffab41 100644
--- a/test/tint/builtins/gen/var/textureDimensions/b8287f.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/b8287f.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_b8287f(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_b8287f = func():void {
- $B2: {
- %4:texture_storage_2d_array<r32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_b8287f(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_b8287f
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b8287f(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_b8287f
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_b8287f(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_b8287f
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/bc96f6.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/bc96f6.wgsl.expected.ir.msl
index 0734d41..0f523c1 100644
--- a/test/tint/builtins/gen/var/textureDimensions/bc96f6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/bc96f6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_bc96f6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_bc96f6 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_bc96f6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_bc96f6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_bc96f6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_bc96f6
- ret
- }
+kernel void compute_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_bc96f6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_bc96f6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/c27466.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/c27466.wgsl.expected.ir.msl
index 4d04623..2995f45 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c27466.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/c27466.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<int, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba16sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c27466(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c27466 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba16sint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c27466(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c27466
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c27466(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c27466
- ret
- }
+kernel void compute_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c27466(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c27466
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<int, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/c6b44c.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/c6b44c.wgsl.expected.ir.msl
index c81c192..5d32010 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c6b44c.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/c6b44c.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_c6b44c(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c6b44c = func():void {
- $B2: {
- %4:texture_storage_2d<r32sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c6b44c(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c6b44c
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b44c(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c6b44c
- ret
- }
+kernel void compute_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b44c(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c6b44c
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/c6b985.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/c6b985.wgsl.expected.ir.msl
index b645805..8b34ccc 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c6b985.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/c6b985.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<r8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c6b985(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c6b985 = func():void {
- $B2: {
- %4:texture_storage_1d<r8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c6b985(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c6b985
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b985(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c6b985
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c6b985(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c6b985
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/c7ea63.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/c7ea63.wgsl.expected.ir.msl
index 7be61e1..f0e0761 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c7ea63.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/c7ea63.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_c7ea63(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c7ea63 = func():void {
- $B2: {
- %4:texture_storage_1d<rg32float, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c7ea63(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c7ea63
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c7ea63(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c7ea63
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c7ea63(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c7ea63
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/c82420.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/c82420.wgsl.expected.ir.msl
index a886b56..54565cd 100644
--- a/test/tint/builtins/gen/var/textureDimensions/c82420.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/c82420.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_c82420(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_c82420 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_c82420(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_c82420
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c82420(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_c82420
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_c82420(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_c82420
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/ca10cc.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/ca10cc.wgsl.expected.ir.msl
index d198f46..2626e89 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ca10cc.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/ca10cc.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ca10cc(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ca10cc = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ca10cc(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ca10cc
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ca10cc(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ca10cc
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ca10cc(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ca10cc
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/deb3c0.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/deb3c0.wgsl.expected.ir.msl
index adf6260..bc9e2d2 100644
--- a/test/tint/builtins/gen/var/textureDimensions/deb3c0.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/deb3c0.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba16float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_deb3c0(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_deb3c0 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba16float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_deb3c0(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_deb3c0
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_deb3c0(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_deb3c0
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_deb3c0(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_deb3c0
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/e4f021.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/e4f021.wgsl.expected.ir.msl
index 687f5e4..6742ed8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e4f021.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/e4f021.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e4f021(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e4f021 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e4f021(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e4f021
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e4f021(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e4f021
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e4f021(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e4f021
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/e50eb8.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/e50eb8.wgsl.expected.ir.msl
index 015b749..9acd111 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e50eb8.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/e50eb8.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e50eb8(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e50eb8 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e50eb8(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e50eb8
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e50eb8(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e50eb8
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e50eb8(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e50eb8
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/e824b6.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/e824b6.wgsl.expected.ir.msl
index f8c1124..fab18b6 100644
--- a/test/tint/builtins/gen/var/textureDimensions/e824b6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/e824b6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rg32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_e824b6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_e824b6 = func():void {
- $B2: {
- %4:texture_storage_2d_array<rg32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_e824b6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_e824b6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e824b6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_e824b6
- ret
- }
+kernel void compute_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_e824b6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_e824b6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/eb10d6.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/eb10d6.wgsl.expected.ir.msl
index 009453b..99d4426 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eb10d6.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/eb10d6.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb10d6(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb10d6 = func():void {
- $B2: {
- %4:texture_storage_2d<rgba8unorm, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb10d6(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb10d6
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb10d6(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb10d6
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb10d6(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb10d6
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/eb1249.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/eb1249.wgsl.expected.ir.msl
index 1f20f91..8758c69 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eb1249.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/eb1249.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<uint, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb1249(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb1249 = func():void {
- $B2: {
- %4:texture_storage_1d<rgba32uint, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb1249(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb1249
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb1249(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb1249
- ret
- }
+kernel void compute_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb1249(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb1249
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<uint, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/eb9f4d.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/eb9f4d.wgsl.expected.ir.msl
index 92df375..abd846c 100644
--- a/test/tint/builtins/gen/var/textureDimensions/eb9f4d.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/eb9f4d.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d_array<int, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d_array<rgba8sint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_eb9f4d(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_eb9f4d = func():void {
- $B2: {
- %4:texture_storage_2d_array<rgba8sint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_eb9f4d(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_eb9f4d
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb9f4d(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_eb9f4d
- ret
- }
+kernel void compute_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_eb9f4d(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_eb9f4d
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d_array<int, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/ed1030.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/ed1030.wgsl.expected.ir.msl
index 74ea7f7..9541a0d 100644
--- a/test/tint/builtins/gen/var/textureDimensions/ed1030.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/ed1030.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<uint, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<r32uint, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_ed1030(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_ed1030 = func():void {
- $B2: {
- %4:texture_storage_2d<r32uint, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_ed1030(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_ed1030
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ed1030(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_ed1030
- ret
- }
+kernel void compute_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_ed1030(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_ed1030
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<uint, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/f406ff.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/f406ff.wgsl.expected.ir.msl
index 77a9dc8..0142ef4 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f406ff.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/f406ff.wgsl.expected.ir.msl
@@ -1,43 +1,30 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture1d<float, access::read_write> arg_0;
+ device uint* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_1d<rgba8unorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, u32, read_write> = var @binding_point(2, 0)
+void textureDimensions_f406ff(tint_module_vars_struct tint_module_vars) {
+ uint res = uint(tint_module_vars.arg_0.get_width());
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f406ff = func():void {
- $B2: {
- %4:texture_storage_1d<rgba8unorm, read_write> = load %arg_0
- %5:u32 = textureDimensions %4
- %res:ptr<function, u32, read_write> = var, %5
- %7:u32 = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f406ff(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f406ff
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f406ff(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f406ff
- ret
- }
+kernel void compute_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f406ff(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f406ff
- ret
- }
+vertex vertex_main_outputs vertex_main(texture1d<float, access::read_write> arg_0 [[texture(0)]], device uint* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/f55a94.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/f55a94.wgsl.expected.ir.msl
index 157d160..67f986b 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f55a94.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/f55a94.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba8snorm, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f55a94(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f55a94 = func():void {
- $B2: {
- %4:texture_storage_3d<rgba8snorm, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f55a94(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f55a94
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f55a94(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f55a94
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f55a94(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f55a94
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/f93ece.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/f93ece.wgsl.expected.ir.msl
index f0c1f58..9fb5644 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f93ece.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/f93ece.wgsl.expected.ir.msl
@@ -1,43 +1,32 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture3d<float, access::read_write> arg_0;
+ device uint3* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_3d<rgba32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec3<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f93ece(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint const v_1 = tint_module_vars.arg_0.get_height(0u);
+ uint3 res = uint3(v, v_1, tint_module_vars.arg_0.get_depth(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f93ece = func():void {
- $B2: {
- %4:texture_storage_3d<rgba32float, read_write> = load %arg_0
- %5:vec3<u32> = textureDimensions %4
- %res:ptr<function, vec3<u32>, read_write> = var, %5
- %7:vec3<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f93ece(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f93ece
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f93ece(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f93ece
- ret
- }
+kernel void compute_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f93ece(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f93ece
- ret
- }
+vertex vertex_main_outputs vertex_main(texture3d<float, access::read_write> arg_0 [[texture(0)]], device uint3* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
diff --git a/test/tint/builtins/gen/var/textureDimensions/f94e55.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/textureDimensions/f94e55.wgsl.expected.ir.msl
index 1b8912c..b3c546f 100644
--- a/test/tint/builtins/gen/var/textureDimensions/f94e55.wgsl.expected.ir.msl
+++ b/test/tint/builtins/gen/var/textureDimensions/f94e55.wgsl.expected.ir.msl
@@ -1,43 +1,31 @@
-SKIP: FAILED
+#include <metal_stdlib>
+using namespace metal;
+struct tint_module_vars_struct {
+ texture2d<float, access::read_write> arg_0;
+ device uint2* prevent_dce;
+};
+struct vertex_main_outputs {
+ float4 tint_symbol [[position]];
+};
-../../src/tint/lang/msl/writer/printer/printer.cc:1164 internal compiler error: $B1: { # root
- %arg_0:ptr<handle, texture_storage_2d<rg32float, read_write>, read> = var @binding_point(1, 0)
- %prevent_dce:ptr<storage, vec2<u32>, read_write> = var @binding_point(2, 0)
+void textureDimensions_f94e55(tint_module_vars_struct tint_module_vars) {
+ uint const v = tint_module_vars.arg_0.get_width(0u);
+ uint2 res = uint2(v, tint_module_vars.arg_0.get_height(0u));
+ (*tint_module_vars.prevent_dce) = res;
}
-
-%textureDimensions_f94e55 = func():void {
- $B2: {
- %4:texture_storage_2d<rg32float, read_write> = load %arg_0
- %5:vec2<u32> = textureDimensions %4
- %res:ptr<function, vec2<u32>, read_write> = var, %5
- %7:vec2<u32> = load %res
- store %prevent_dce, %7
- ret
- }
+float4 vertex_main_inner(tint_module_vars_struct tint_module_vars) {
+ textureDimensions_f94e55(tint_module_vars);
+ return float4(0.0f);
}
-%vertex_main = @vertex func():vec4<f32> [@position] {
- $B3: {
- %9:void = call %textureDimensions_f94e55
- ret vec4<f32>(0.0f)
- }
+fragment void fragment_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f94e55(tint_module_vars);
}
-%fragment_main = @fragment func():void {
- $B4: {
- %11:void = call %textureDimensions_f94e55
- ret
- }
+kernel void compute_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ textureDimensions_f94e55(tint_module_vars);
}
-%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
- $B5: {
- %13:void = call %textureDimensions_f94e55
- ret
- }
+vertex vertex_main_outputs vertex_main(texture2d<float, access::read_write> arg_0 [[texture(0)]], device uint2* prevent_dce [[buffer(0)]]) {
+ tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.arg_0=arg_0, .prevent_dce=prevent_dce};
+ return vertex_main_outputs{.tint_symbol=vertex_main_inner(tint_module_vars)};
}
-
-invalid access control for storage texture
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************