[tint] Rename array to runtime_array in intrinsics We need to add fixed-sized arrays to the intrinsics file for some of the new subgroup_matrix builtins, but the intrinsics parser does not support having two different template parameterizations of the same type. Rename `array` to `runtime_array` and then add logic to emit it as `array` when generating tests. Bug: 348702031 Change-Id: I78948c3576935d726f2580b34bd22d9130446a46 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/224054 Reviewed-by: dan sinclair <dsinclair@chromium.org> Commit-Queue: James Price <jrprice@google.com>
diff --git a/src/tint/cmd/fuzz/wgsl/dictionary.txt b/src/tint/cmd/fuzz/wgsl/dictionary.txt index 84b8ef4..c7f1de2 100644 --- a/src/tint/cmd/fuzz/wgsl/dictionary.txt +++ b/src/tint/cmd/fuzz/wgsl/dictionary.txt
@@ -363,6 +363,7 @@ "rgba8unorm" "right" "round" +"runtime_array" "sample" "sample_index" "sample_mask"
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def index c1a3253..1f7ae93 100644 --- a/src/tint/lang/core/core.def +++ b/src/tint/lang/core/core.def
@@ -282,7 +282,7 @@ @display("mat{N}x{M}<{T}>") type mat<N: num, M: num, T> type ptr<S: address_space, T, A: access> type atomic<T> -type array<T> +@display("array<{T}>") type runtime_array<T> type sampler type sampler_comparison type texture_1d<T> @@ -404,7 +404,7 @@ @must_use @const implicit(N: num) fn all(vec<N, bool>) -> bool @must_use @const fn any(bool) -> bool @must_use @const implicit(N: num) fn any(vec<N, bool>) -> bool -@must_use implicit(T, A: access) fn arrayLength(ptr<storage, array<T>, A>) -> u32 +@must_use implicit(T, A: access) fn arrayLength(ptr<storage, runtime_array<T>, A>) -> u32 @must_use @const implicit(T: f32_f16) fn asin(@test_value(0.479425538604) T) -> T @must_use @const implicit(N: num, T: f32_f16) fn asin(@test_value(0.479425538604) vec<N, T>) -> vec<N, T> @must_use @const implicit(T: f32_f16) fn asinh(T) -> T
diff --git a/src/tint/lang/core/intrinsic/data.cc b/src/tint/lang/core/intrinsic/data.cc index ad9a6d3..3e2713c 100644 --- a/src/tint/lang/core/intrinsic/data.cc +++ b/src/tint/lang/core/intrinsic/data.cc
@@ -520,22 +520,22 @@ }; -/// TypeMatcher for 'type array' -constexpr TypeMatcher kArrayMatcher { +/// TypeMatcher for 'type runtime_array' +constexpr TypeMatcher kRuntimeArrayMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { const Type* T = nullptr; - if (!MatchArray(state, ty, T)) { + if (!MatchRuntimeArray(state, ty, T)) { return nullptr; } T = state.Type(T); if (T == nullptr) { return nullptr; } - return BuildArray(state, ty, T); + return BuildRuntimeArray(state, ty, T); }, /* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; state->PrintType(T); - out << style::Type("array", "<", T, ">"); + out << style::Type("array<", T, ">"); } }; @@ -1597,7 +1597,7 @@ /* [24] */ kMatMatcher, /* [25] */ kPtrMatcher, /* [26] */ kAtomicMatcher, - /* [27] */ kArrayMatcher, + /* [27] */ kRuntimeArrayMatcher, /* [28] */ kSamplerMatcher, /* [29] */ kSamplerComparisonMatcher, /* [30] */ kTexture1DMatcher, @@ -10023,7 +10023,7 @@ }, { /* [5] */ - /* fn arrayLength[T, A : access](ptr<storage, array<T>, A>) -> u32 */ + /* fn arrayLength[T, A : access](ptr<storage, runtime_array<T>, A>) -> u32 */ /* num overloads */ 1, /* overloads */ OverloadIndex(443), },
diff --git a/src/tint/lang/core/intrinsic/type_matchers.h b/src/tint/lang/core/intrinsic/type_matchers.h index 19307ae..afdb733 100644 --- a/src/tint/lang/core/intrinsic/type_matchers.h +++ b/src/tint/lang/core/intrinsic/type_matchers.h
@@ -299,7 +299,7 @@ A.Value(), B.Value()); } -inline bool MatchArray(intrinsic::MatchState&, const type::Type* ty, const type::Type*& T) { +inline bool MatchRuntimeArray(intrinsic::MatchState&, const type::Type* ty, const type::Type*& T) { if (ty->Is<intrinsic::Any>()) { T = ty; return true; @@ -314,9 +314,9 @@ return false; } -inline const type::Array* BuildArray(intrinsic::MatchState& state, - const type::Type*, - const type::Type* el) { +inline const type::Array* BuildRuntimeArray(intrinsic::MatchState& state, + const type::Type*, + const type::Type* el) { return state.types.Get<type::Array>(el, /* count */ state.types.Get<type::RuntimeArrayCount>(), /* align */ 0u,
diff --git a/src/tint/lang/glsl/glsl.def b/src/tint/lang/glsl/glsl.def index 75c8c20..46d5efa 100644 --- a/src/tint/lang/glsl/glsl.def +++ b/src/tint/lang/glsl/glsl.def
@@ -56,7 +56,7 @@ type vec4<T> @display("vec{N}<{T}>") type vec<N: num, T> -type array<T> +@display("array<{T}>") type runtime_array<T> type texture_2d<T> type texture_2d_array<T> @@ -129,7 +129,7 @@ // Builtin Functions // //////////////////////////////////////////////////////////////////////////////// -@member_function @must_use implicit(T, A: access) fn length(ptr<storage, array<T>, A>) -> i32 +@member_function @must_use implicit(T, A: access) fn length(ptr<storage, runtime_array<T>, A>) -> i32 @stage("compute") fn barrier() @stage("compute") fn memoryBarrierBuffer()
diff --git a/src/tint/lang/glsl/intrinsic/data.cc b/src/tint/lang/glsl/intrinsic/data.cc index 5fc4728..8c43389 100644 --- a/src/tint/lang/glsl/intrinsic/data.cc +++ b/src/tint/lang/glsl/intrinsic/data.cc
@@ -282,22 +282,22 @@ }; -/// TypeMatcher for 'type array' -constexpr TypeMatcher kArrayMatcher { +/// TypeMatcher for 'type runtime_array' +constexpr TypeMatcher kRuntimeArrayMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { const Type* T = nullptr; - if (!MatchArray(state, ty, T)) { + if (!MatchRuntimeArray(state, ty, T)) { return nullptr; } T = state.Type(T); if (T == nullptr) { return nullptr; } - return BuildArray(state, ty, T); + return BuildRuntimeArray(state, ty, T); }, /* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; state->PrintType(T); - out << style::Type("array", "<", T, ">"); + out << style::Type("array<", T, ">"); } }; @@ -909,7 +909,7 @@ /* [10] */ kVec3Matcher, /* [11] */ kVec4Matcher, /* [12] */ kVecMatcher, - /* [13] */ kArrayMatcher, + /* [13] */ kRuntimeArrayMatcher, /* [14] */ kTexture2DMatcher, /* [15] */ kTexture2DArrayMatcher, /* [16] */ kTexture3DMatcher, @@ -4011,7 +4011,7 @@ constexpr IntrinsicInfo kBuiltins[] = { { /* [0] */ - /* fn length[T, A : access](ptr<storage, array<T>, A>) -> i32 */ + /* fn length[T, A : access](ptr<storage, runtime_array<T>, A>) -> i32 */ /* num overloads */ 1, /* overloads */ OverloadIndex(123), },
diff --git a/src/tint/lang/wgsl/intrinsic/data.cc b/src/tint/lang/wgsl/intrinsic/data.cc index fad3d8c..cde2435 100644 --- a/src/tint/lang/wgsl/intrinsic/data.cc +++ b/src/tint/lang/wgsl/intrinsic/data.cc
@@ -605,22 +605,22 @@ }; -/// TypeMatcher for 'type array' -constexpr TypeMatcher kArrayMatcher { +/// TypeMatcher for 'type runtime_array' +constexpr TypeMatcher kRuntimeArrayMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { const Type* T = nullptr; - if (!MatchArray(state, ty, T)) { + if (!MatchRuntimeArray(state, ty, T)) { return nullptr; } T = state.Type(T); if (T == nullptr) { return nullptr; } - return BuildArray(state, ty, T); + return BuildRuntimeArray(state, ty, T); }, /* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; state->PrintType(T); - out << style::Type("array", "<", T, ">"); + out << style::Type("array<", T, ">"); } }; @@ -1829,7 +1829,7 @@ /* [27] */ kPtrMatcher, /* [28] */ kRefMatcher, /* [29] */ kAtomicMatcher, - /* [30] */ kArrayMatcher, + /* [30] */ kRuntimeArrayMatcher, /* [31] */ kSamplerMatcher, /* [32] */ kSamplerComparisonMatcher, /* [33] */ kTexture1DMatcher, @@ -11312,8 +11312,8 @@ }, { /* [5] */ - /* fn arrayLength[T, R : read](ptr<storage, array<T>, R>) -> u32 */ - /* fn arrayLength[T, W : writable](ptr<storage, array<T>, W>) -> u32 */ + /* fn arrayLength[T, R : read](ptr<storage, runtime_array<T>, R>) -> u32 */ + /* fn arrayLength[T, W : writable](ptr<storage, runtime_array<T>, W>) -> u32 */ /* num overloads */ 2, /* overloads */ OverloadIndex(379), },
diff --git a/src/tint/lang/wgsl/wgsl.def b/src/tint/lang/wgsl/wgsl.def index 57d8f5e..4c83288 100644 --- a/src/tint/lang/wgsl/wgsl.def +++ b/src/tint/lang/wgsl/wgsl.def
@@ -147,7 +147,7 @@ type ptr<S: address_space, T, A: access> type ref<S: address_space, T, A: access> type atomic<T> -type array<T> +@display("array<{T}>") type runtime_array<T> type sampler type sampler_comparison type texture_1d<T> @@ -277,8 +277,8 @@ @must_use @const implicit(N: num) fn all(vec<N, bool>) -> bool @must_use @const fn any(bool) -> bool @must_use @const implicit(N: num) fn any(vec<N, bool>) -> bool -@must_use implicit(T, R: read) fn arrayLength(ptr<storage, array<T>, R>) -> u32 -@must_use @stage("fragment", "compute") implicit(T, W: writable) fn arrayLength(ptr<storage, array<T>, W>) -> u32 +@must_use implicit(T, R: read) fn arrayLength(ptr<storage, runtime_array<T>, R>) -> u32 +@must_use @stage("fragment", "compute") implicit(T, W: writable) fn arrayLength(ptr<storage, runtime_array<T>, W>) -> u32 @must_use @const implicit(T: fa_f32_f16) fn asin(@test_value(0.479425538604) T) -> T @must_use @const implicit(N: num, T: fa_f32_f16) fn asin(@test_value(0.479425538604) vec<N, T>) -> vec<N, T> @must_use @const implicit(T: fa_f32_f16) fn asinh(T) -> T
diff --git a/test/tint/builtins/gen/gen.wgsl.tmpl b/test/tint/builtins/gen/gen.wgsl.tmpl index 5acfb2e..fd5b9f9 100644 --- a/test/tint/builtins/gen/gen.wgsl.tmpl +++ b/test/tint/builtins/gen/gen.wgsl.tmpl
@@ -350,6 +350,7 @@ {{- /* ------------------------------------------------------------------ */ -}} {{- $name := .Target.Name -}} {{- if eq $name "array" -}}storage +{{- else if eq $name "runtime_array" -}}storage {{- else if HasPrefix $name "texture" -}}handle {{- else if HasPrefix $name "sampler" -}}handle {{- else if HasPrefix $name "input_attachment" -}}handle @@ -431,6 +432,7 @@ name is exactly 'vec' and 'mat' and if not, then look for the prefix. */ -}} {{- else if eq .Target.Name "vec" -}}vec{{index .TemplateArguments 0}}<{{template "Type" (ElementType .)}}> {{- else if eq .Target.Name "mat" -}}mat{{index .TemplateArguments 0}}x{{index .TemplateArguments 1}}<{{template "Type" (ElementType .)}}> +{{- else if eq .Target.Name "runtime_array" -}}array<{{template "Type" (ElementType .)}}> {{- else if HasPrefix .Target.Name "vec" -}}{{.Target.Name}}<{{template "Type" (ElementType .)}}> {{- else if HasPrefix .Target.Name "mat" -}}{{.Target.Name}}<{{template "Type" (ElementType .)}}> {{- else -}}{{.Target.Name}}{{template "TemplateArguments" .TemplateArguments}}
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 2759460..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_1588cd(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 2759460..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_1588cd(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl index 3e228f6..ab4ddae 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<u32>, read>) -> u32 -fn arrayLength_cfca0a() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<u32>, read>) -> u32 +fn arrayLength_1cf529() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_cfca0a(); + out.prevent_dce = arrayLength_1cf529(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.dxc.hlsl index c638623..a6867f4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_1cf529(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.fxc.hlsl index c638623..a6867f4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_1cf529(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.glsl similarity index 86% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.glsl index 5a013be..853185a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { uint arg_0[]; } sb_ro; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cfca0a(); + v.inner = arrayLength_1cf529(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { uint arg_0[]; } sb_ro; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cfca0a(); + v.inner = arrayLength_1cf529(); } // // vertex_main @@ -57,14 +57,14 @@ uint arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_cfca0a(); + v.prevent_dce = arrayLength_1cf529(); return v; } void main() {
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl index ccc8aa4..b8445c9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_1cf529(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl index ccc8aa4..b8445c9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_1cf529(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.msl similarity index 92% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.msl index ee7406e..9c53b31 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_1cf529(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_1cf529(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_cfca0a(tint_module_vars); + out.prevent_dce = arrayLength_1cf529(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.msl index 904bf902..781f5a4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cfca0a(tint_symbol_2); + *(tint_symbol_1) = arrayLength_1cf529(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cfca0a(tint_symbol_2); + *(tint_symbol_1) = arrayLength_1cf529(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_cfca0a(tint_symbol_2); + out.prevent_dce = arrayLength_1cf529(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.spvasm similarity index 94% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.spvasm index 3c9e03b..3ae0569 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -44,7 +44,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 +%arrayLength_1cf529 = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -55,7 +55,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a + %23 = OpFunctionCall %uint %arrayLength_1cf529 %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -77,7 +77,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -106,7 +106,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 +%arrayLength_1cf529 = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -117,7 +117,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a + %23 = OpFunctionCall %uint %arrayLength_1cf529 %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -139,7 +139,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -186,7 +186,7 @@ %void = OpTypeVoid %40 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_cfca0a = OpFunction %uint None %15 +%arrayLength_1cf529 = OpFunction %uint None %15 %16 = OpLabel %res = OpVariable %_ptr_Function_uint Function %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -201,7 +201,7 @@ %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %31 %33 None %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_cfca0a + %36 = OpFunctionCall %uint %arrayLength_1cf529 OpStore %34 %36 None %37 = OpLoad %VertexOutput %out None OpReturnValue %37
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.wgsl similarity index 78% rename from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.wgsl index c1b2368..198d8d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/1cf529.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_cfca0a() -> u32 { +fn arrayLength_1cf529() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_cfca0a(); + out.prevent_dce = arrayLength_1cf529(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl index ba8e087..58be547 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<u32>, read_write>) -> u32 -fn arrayLength_eb510f() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<u32>, read_write>) -> u32 +fn arrayLength_23a62c() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.dxc.hlsl similarity index 79% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.dxc.hlsl index 79b0daf..a0e6ff3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.fxc.hlsl index 79b0daf..a0e6ff3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.glsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.glsl index 3559580..4e1c9f3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { uint arg_0[]; } sb_rw; -uint arrayLength_eb510f() { +uint arrayLength_23a62c() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_eb510f(); + v.inner = arrayLength_23a62c(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { uint arg_0[]; } sb_rw; -uint arrayLength_eb510f() { +uint arrayLength_23a62c() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_eb510f(); + v.inner = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl index 6604b90..ef666c2 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl index 6604b90..ef666c2 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.msl index 94a9121..d8326fd 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) { +uint arrayLength_23a62c(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_eb510f(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_23a62c(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) { +uint arrayLength_23a62c(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_eb510f(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_23a62c(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.msl similarity index 89% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.msl index 1e3c402..2103687 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_23a62c(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); + *(tint_symbol_1) = arrayLength_23a62c(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_23a62c(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); + *(tint_symbol_1) = arrayLength_23a62c(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.spvasm similarity index 93% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.spvasm index 9c47aef..5a67592 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" + OpName %arrayLength_23a62c "arrayLength_23a62c" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -44,7 +44,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 +%arrayLength_23a62c = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 @@ -55,7 +55,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f + %23 = OpFunctionCall %uint %arrayLength_23a62c %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -77,7 +77,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" + OpName %arrayLength_23a62c "arrayLength_23a62c" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -106,7 +106,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 +%arrayLength_23a62c = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 @@ -117,7 +117,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f + %23 = OpFunctionCall %uint %arrayLength_23a62c %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.wgsl similarity index 74% rename from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.wgsl index ec2bb62..1e34ea0 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/23a62c.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_eb510f() -> u32 { +fn arrayLength_23a62c() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl index 6339a25..7c0a8dd 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<f32>, read>) -> u32 -fn arrayLength_a0f5ca() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f32>, read>) -> u32 +fn arrayLength_3a93e6() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_a0f5ca(); + out.prevent_dce = arrayLength_3a93e6(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.dxc.hlsl similarity index 85% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.dxc.hlsl index c638623..6ff89e7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_3a93e6(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.fxc.hlsl index c638623..6ff89e7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_3a93e6(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.glsl similarity index 86% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.glsl index b531225..fd6594e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { float arg_0[]; } sb_ro; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_a0f5ca(); + v.inner = arrayLength_3a93e6(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { float arg_0[]; } sb_ro; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_a0f5ca(); + v.inner = arrayLength_3a93e6(); } // // vertex_main @@ -57,14 +57,14 @@ float arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_a0f5ca(); + v.prevent_dce = arrayLength_3a93e6(); return v; } void main() {
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl index ccc8aa4..e95c09c 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_3a93e6(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl index ccc8aa4..e95c09c 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_3a93e6(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.msl similarity index 92% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.msl index 1703b1a..fe66cc7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_3a93e6(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_3a93e6(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_a0f5ca(tint_module_vars); + out.prevent_dce = arrayLength_3a93e6(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.msl index b7640cd..d72f18a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_a0f5ca(tint_symbol_2); + *(tint_symbol_1) = arrayLength_3a93e6(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_a0f5ca(tint_symbol_2); + *(tint_symbol_1) = arrayLength_3a93e6(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_a0f5ca(tint_symbol_2); + out.prevent_dce = arrayLength_3a93e6(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.spvasm similarity index 94% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.spvasm index 05c891c..0af292a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 +%arrayLength_3a93e6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca + %24 = OpFunctionCall %uint %arrayLength_3a93e6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 +%arrayLength_3a93e6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca + %24 = OpFunctionCall %uint %arrayLength_3a93e6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -141,7 +141,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -188,7 +188,7 @@ %void = OpTypeVoid %40 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_a0f5ca = OpFunction %uint None %15 +%arrayLength_3a93e6 = OpFunction %uint None %15 %16 = OpLabel %res = OpVariable %_ptr_Function_uint Function %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -203,7 +203,7 @@ %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %31 %33 None %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_a0f5ca + %36 = OpFunctionCall %uint %arrayLength_3a93e6 OpStore %34 %36 None %37 = OpLoad %VertexOutput %out None OpReturnValue %37
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.wgsl similarity index 78% rename from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.wgsl index 49a5398..7d632b9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/3a93e6.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_a0f5ca() -> u32 { +fn arrayLength_3a93e6() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_a0f5ca(); + out.prevent_dce = arrayLength_3a93e6(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl index f093818..fc35ecc 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<i32>, read_write>) -> u32 -fn arrayLength_61b1c7() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<i32>, read_write>) -> u32 +fn arrayLength_429cb6() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.dxc.hlsl index 79b0daf..d4eabf9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.fxc.hlsl index 79b0daf..d4eabf9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.glsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.glsl index fe278f3..4574e24 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { int arg_0[]; } sb_rw; -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_61b1c7(); + v.inner = arrayLength_429cb6(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { int arg_0[]; } sb_rw; -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_61b1c7(); + v.inner = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl similarity index 75% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl index 6604b90..8747e2e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl index 6604b90..8747e2e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.msl index cf0c802..bf352b6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) { +uint arrayLength_429cb6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_61b1c7(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_429cb6(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) { +uint arrayLength_429cb6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_61b1c7(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_429cb6(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.msl similarity index 89% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.msl index 7561e67..19e5c7a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_429cb6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); + *(tint_symbol_1) = arrayLength_429cb6(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_429cb6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); + *(tint_symbol_1) = arrayLength_429cb6(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.spvasm similarity index 93% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.spvasm index f8d5841..cb2f9b3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" + OpName %arrayLength_429cb6 "arrayLength_429cb6" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 +%arrayLength_429cb6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 + %24 = OpFunctionCall %uint %arrayLength_429cb6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" + OpName %arrayLength_429cb6 "arrayLength_429cb6" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 +%arrayLength_429cb6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 + %24 = OpFunctionCall %uint %arrayLength_429cb6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.wgsl similarity index 74% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.wgsl index 256b54d..4897c09 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/429cb6.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_61b1c7() -> u32 { +fn arrayLength_429cb6() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 8775367..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 8775367..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl index 4bf5816..0ad68f8 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2022 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -47,19 +47,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<f16>, read>) -> u32 -fn arrayLength_8421b9() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f16>, read>) -> u32 +fn arrayLength_9ea96d() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } struct VertexOutput { @@ -71,6 +71,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); + out.prevent_dce = arrayLength_9ea96d(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.dxc.hlsl similarity index 85% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.dxc.hlsl index d914c06..2ba1804 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); + tint_symbol.prevent_dce = arrayLength_9ea96d(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.fxc.hlsl index d914c06..2ba1804 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); + tint_symbol.prevent_dce = arrayLength_9ea96d(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.glsl similarity index 88% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.glsl index 59e4c26..f4666d2 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.glsl
@@ -14,12 +14,12 @@ buffer f_SB_RO_ssbo { float16_t arg_0[]; } sb_ro; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_8421b9(); + v.inner = arrayLength_9ea96d(); } // // compute_main @@ -35,13 +35,13 @@ buffer SB_RO_1_ssbo { float16_t arg_0[]; } sb_ro; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_8421b9(); + v.inner = arrayLength_9ea96d(); } // // vertex_main @@ -60,14 +60,14 @@ float16_t arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_8421b9(); + v.prevent_dce = arrayLength_9ea96d(); return v; } void main() {
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl index d076141..f2a89d7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_8421b9(); + v_1.prevent_dce = arrayLength_9ea96d(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl index d076141..f2a89d7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_8421b9(); + v_1.prevent_dce = arrayLength_9ea96d(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.msl similarity index 92% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.msl index c042a03..9d5d837 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_9ea96d(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_9ea96d(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_8421b9(tint_module_vars); + out.prevent_dce = arrayLength_9ea96d(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.msl index ceef0a8..29b1ca8 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_8421b9(tint_symbol_2); + *(tint_symbol_1) = arrayLength_9ea96d(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_8421b9(tint_symbol_2); + *(tint_symbol_1) = arrayLength_9ea96d(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_8421b9(tint_symbol_2); + out.prevent_dce = arrayLength_9ea96d(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.spvasm similarity index 95% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.spvasm index 40a884a..4e4c73b 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.spvasm
@@ -18,7 +18,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -48,7 +48,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_8421b9 = OpFunction %uint None %11 +%arrayLength_9ea96d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -59,7 +59,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_8421b9 + %24 = OpFunctionCall %uint %arrayLength_9ea96d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -84,7 +84,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -114,7 +114,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_8421b9 = OpFunction %uint None %11 +%arrayLength_9ea96d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -125,7 +125,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_8421b9 + %24 = OpFunctionCall %uint %arrayLength_9ea96d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -150,7 +150,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -198,7 +198,7 @@ %void = OpTypeVoid %41 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_8421b9 = OpFunction %uint None %16 +%arrayLength_9ea96d = OpFunction %uint None %16 %17 = OpLabel %res = OpVariable %_ptr_Function_uint Function %18 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -213,7 +213,7 @@ %32 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %32 %34 None %35 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %37 = OpFunctionCall %uint %arrayLength_8421b9 + %37 = OpFunctionCall %uint %arrayLength_9ea96d OpStore %35 %37 None %38 = OpLoad %VertexOutput %out None OpReturnValue %38
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.wgsl similarity index 78% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.wgsl index ec5202c..3f8f5bf 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/9ea96d.wgsl.expected.wgsl
@@ -8,19 +8,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_8421b9() -> u32 { +fn arrayLength_9ea96d() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } struct VertexOutput { @@ -34,6 +34,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); + out.prevent_dce = arrayLength_9ea96d(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl deleted file mode 100644 index 2e68ad7..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_a0f5ca(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl deleted file mode 100644 index 2e68ad7..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_a0f5ca(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl index 11dd7e5..6a5da00 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<i32>, read>) -> u32 -fn arrayLength_1588cd() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<i32>, read>) -> u32 +fn arrayLength_bf7d97() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_1588cd(); + out.prevent_dce = arrayLength_bf7d97(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.dxc.hlsl index c638623..8f601d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_bf7d97(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.fxc.hlsl index c638623..8f601d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_bf7d97(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.glsl similarity index 86% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.glsl index 073776b..dc82d4b 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { int arg_0[]; } sb_ro; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_1588cd(); + v.inner = arrayLength_bf7d97(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { int arg_0[]; } sb_ro; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_1588cd(); + v.inner = arrayLength_bf7d97(); } // // vertex_main @@ -57,14 +57,14 @@ int arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_1588cd(); + v.prevent_dce = arrayLength_bf7d97(); return v; } void main() {
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl index ccc8aa4..695f703 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_bf7d97(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl index ccc8aa4..695f703 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_bf7d97(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.msl similarity index 92% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.msl index b261877..32ad0b6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_1588cd(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_bf7d97(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_1588cd(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_bf7d97(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_1588cd(tint_module_vars); + out.prevent_dce = arrayLength_bf7d97(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.msl index 6b62e72..b78da29 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_1588cd(tint_symbol_2); + *(tint_symbol_1) = arrayLength_bf7d97(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_1588cd(tint_symbol_2); + *(tint_symbol_1) = arrayLength_bf7d97(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_1588cd(tint_symbol_2); + out.prevent_dce = arrayLength_bf7d97(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.spvasm similarity index 94% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.spvasm index 02c203d..2c79b63 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 +%arrayLength_bf7d97 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd + %24 = OpFunctionCall %uint %arrayLength_bf7d97 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 +%arrayLength_bf7d97 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd + %24 = OpFunctionCall %uint %arrayLength_bf7d97 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -141,7 +141,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -189,7 +189,7 @@ %void = OpTypeVoid %41 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_1588cd = OpFunction %uint None %16 +%arrayLength_bf7d97 = OpFunction %uint None %16 %17 = OpLabel %res = OpVariable %_ptr_Function_uint Function %18 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -204,7 +204,7 @@ %32 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %32 %34 None %35 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %37 = OpFunctionCall %uint %arrayLength_1588cd + %37 = OpFunctionCall %uint %arrayLength_bf7d97 OpStore %35 %37 None %38 = OpLoad %VertexOutput %out None OpReturnValue %38
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.wgsl similarity index 78% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.wgsl index b00ac77..4ec2d47 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/bf7d97.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_1588cd() -> u32 { +fn arrayLength_bf7d97() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_1588cd(); + out.prevent_dce = arrayLength_bf7d97(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index f458ee9..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl index 23b09c7..2ea0340 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<f32>, read_write>) -> u32 -fn arrayLength_cdd123() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f32>, read_write>) -> u32 +fn arrayLength_cc9a8d() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl index 79b0daf..c58e47f 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl index 79b0daf..c58e47f 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.glsl similarity index 83% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.glsl index eaa9382..a375654 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { float arg_0[]; } sb_rw; -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cdd123(); + v.inner = arrayLength_cc9a8d(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { float arg_0[]; } sb_rw; -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cdd123(); + v.inner = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl index 6604b90..3daa558 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl index 6604b90..3daa558 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.msl index 3096d8b..c680c44 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) { +uint arrayLength_cc9a8d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cdd123(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_cc9a8d(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) { +uint arrayLength_cc9a8d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cdd123(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_cc9a8d(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.msl similarity index 89% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.msl index 8103844..bcd33aa 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_cc9a8d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); + *(tint_symbol_1) = arrayLength_cc9a8d(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_cc9a8d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); + *(tint_symbol_1) = arrayLength_cc9a8d(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.spvasm similarity index 93% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.spvasm index 8b41fdd8..7c2ae70 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" + OpName %arrayLength_cc9a8d "arrayLength_cc9a8d" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 +%arrayLength_cc9a8d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 + %24 = OpFunctionCall %uint %arrayLength_cc9a8d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" + OpName %arrayLength_cc9a8d "arrayLength_cc9a8d" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 +%arrayLength_cc9a8d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 + %24 = OpFunctionCall %uint %arrayLength_cc9a8d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.wgsl similarity index 74% rename from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.wgsl index 1eae93b..937a2b8 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/cc9a8d.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_cdd123() -> u32 { +fn arrayLength_cc9a8d() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.dxc.hlsl deleted file mode 100644 index 7b9849f..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.fxc.hlsl deleted file mode 100644 index 7b9849f..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 6604b90..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.dxc.hlsl deleted file mode 100644 index d745420..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_cfca0a(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.fxc.hlsl deleted file mode 100644 index d745420..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_cfca0a(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 0ffd0cc..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_cfca0a(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 0ffd0cc..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_cfca0a(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.dxc.hlsl deleted file mode 100644 index 2eb349d..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.fxc.hlsl deleted file mode 100644 index 2eb349d..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 76770e8..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 76770e8..0000000 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} -
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl similarity index 90% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl index 7f1d3b2..e425fbf 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2022 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -47,17 +47,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<f16>, read_write>) -> u32 -fn arrayLength_cbd6b5() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f16>, read_write>) -> u32 +fn arrayLength_fd35e2() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.dxc.hlsl similarity index 79% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.dxc.hlsl index bda931f..14b418e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.fxc.hlsl index bda931f..14b418e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.glsl similarity index 85% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.glsl index c3492ac..f0c9fe4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.glsl
@@ -14,12 +14,12 @@ buffer f_SB_RW_ssbo { float16_t arg_0[]; } sb_rw; -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cbd6b5(); + v.inner = arrayLength_fd35e2(); } // // compute_main @@ -35,11 +35,11 @@ buffer SB_RW_1_ssbo { float16_t arg_0[]; } sb_rw; -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cbd6b5(); + v.inner = arrayLength_fd35e2(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl similarity index 75% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl index f458ee9..0bf6037 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl index f458ee9..0bf6037 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.msl index b892b82..3ab6ddb 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) { +uint arrayLength_fd35e2(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cbd6b5(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_fd35e2(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) { +uint arrayLength_fd35e2(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cbd6b5(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_fd35e2(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.msl similarity index 89% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.msl index 8c8026f..c3cdc02 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_fd35e2(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); + *(tint_symbol_1) = arrayLength_fd35e2(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_fd35e2(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); + *(tint_symbol_1) = arrayLength_fd35e2(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.spvasm b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.spvasm similarity index 94% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.spvasm rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.spvasm index 71090ca..8c214db 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.spvasm
@@ -18,7 +18,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cbd6b5 "arrayLength_cbd6b5" + OpName %arrayLength_fd35e2 "arrayLength_fd35e2" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -48,7 +48,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cbd6b5 = OpFunction %uint None %11 +%arrayLength_fd35e2 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0 @@ -59,7 +59,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cbd6b5 + %24 = OpFunctionCall %uint %arrayLength_fd35e2 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -84,7 +84,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cbd6b5 "arrayLength_cbd6b5" + OpName %arrayLength_fd35e2 "arrayLength_fd35e2" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -114,7 +114,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cbd6b5 = OpFunction %uint None %11 +%arrayLength_fd35e2 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0 @@ -125,7 +125,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cbd6b5 + %24 = OpFunctionCall %uint %arrayLength_fd35e2 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.wgsl similarity index 75% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl rename to test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.wgsl index ddbce3b..a73c60c 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/literal/arrayLength/fd35e2.wgsl.expected.wgsl
@@ -8,17 +8,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_cbd6b5() -> u32 { +fn arrayLength_fd35e2() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); }
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.dxc.hlsl deleted file mode 100644 index c638623..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.fxc.hlsl deleted file mode 100644 index c638623..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_1588cd() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl deleted file mode 100644 index 073776b..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.glsl +++ /dev/null
@@ -1,75 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RO_ssbo { - int arg_0[]; -} sb_ro; -uint arrayLength_1588cd() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_1588cd(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RO_1_ssbo { - int arg_0[]; -} sb_ro; -uint arrayLength_1588cd() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_1588cd(); -} -// -// vertex_main -// -#version 310 es - - -struct VertexOutput { - vec4 pos; - uint prevent_dce; -}; - -layout(binding = 1, std430) -buffer v_SB_RO_ssbo { - int arg_0[]; -} sb_ro; -layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_1588cd() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -VertexOutput vertex_main_inner() { - VertexOutput v = VertexOutput(vec4(0.0f), 0u); - v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_1588cd(); - return v; -} -void main() { - VertexOutput v_1 = vertex_main_inner(); - gl_Position = vec4(v_1.pos.x, -(v_1.pos.y), ((2.0f * v_1.pos.z) - v_1.pos.w), v_1.pos.w); - tint_interstage_location0 = v_1.prevent_dce; - gl_PointSize = 1.0f; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 2759460..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_1588cd(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 2759460..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_1588cd()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_1588cd(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.spvasm deleted file mode 100644 index 02c203d..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.spvasm +++ /dev/null
@@ -1,221 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_int ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %int = OpTypeInt 32 1 -%_runtimearr_int = OpTypeRuntimeArray %int - %SB_RO = OpTypeStruct %_runtimearr_int -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 - %16 = OpArrayLength %uint %sb_ro 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%fragment_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_int ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %int = OpTypeInt 32 1 -%_runtimearr_int = OpTypeRuntimeArray %int - %SB_RO = OpTypeStruct %_runtimearr_int -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 - %16 = OpArrayLength %uint %sb_ro 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%compute_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; vertex_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 47 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %vertex_main_position_Output "vertex_main_position_Output" - OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" - OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_1588cd "arrayLength_1588cd" - OpName %res "res" - OpName %vertex_main_inner "vertex_main_inner" - OpMemberName %VertexOutput 0 "pos" - OpMemberName %VertexOutput 1 "prevent_dce" - OpName %VertexOutput "VertexOutput" - OpName %out "out" - OpName %vertex_main "vertex_main" - OpDecorate %_runtimearr_int ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - OpDecorate %vertex_main_position_Output BuiltIn Position - OpDecorate %vertex_main_loc0_Output Location 0 - OpDecorate %vertex_main_loc0_Output Flat - OpDecorate %vertex_main___point_size_Output BuiltIn PointSize - OpMemberDecorate %VertexOutput 0 Offset 0 - OpMemberDecorate %VertexOutput 1 Offset 16 - %int = OpTypeInt 32 1 -%_runtimearr_int = OpTypeRuntimeArray %int - %SB_RO = OpTypeStruct %_runtimearr_int -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %float = OpTypeFloat 32 - %v4float = OpTypeVector %float 4 -%_ptr_Output_v4float = OpTypePointer Output %v4float -%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output - %uint = OpTypeInt 32 0 -%_ptr_Output_uint = OpTypePointer Output %uint -%vertex_main_loc0_Output = OpVariable %_ptr_Output_uint Output -%_ptr_Output_float = OpTypePointer Output %float -%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output - %16 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint -%VertexOutput = OpTypeStruct %v4float %uint - %27 = OpTypeFunction %VertexOutput -%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput - %31 = OpConstantNull %VertexOutput -%_ptr_Function_v4float = OpTypePointer Function %v4float - %34 = OpConstantNull %v4float - %uint_1 = OpConstant %uint 1 - %void = OpTypeVoid - %41 = OpTypeFunction %void - %float_1 = OpConstant %float 1 -%arrayLength_1588cd = OpFunction %uint None %16 - %17 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %18 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 - %21 = OpArrayLength %uint %sb_ro 0 - OpStore %res %21 - %24 = OpLoad %uint %res None - OpReturnValue %24 - OpFunctionEnd -%vertex_main_inner = OpFunction %VertexOutput None %27 - %28 = OpLabel - %out = OpVariable %_ptr_Function_VertexOutput Function %31 - %32 = OpAccessChain %_ptr_Function_v4float %out %uint_0 - OpStore %32 %34 None - %35 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %37 = OpFunctionCall %uint %arrayLength_1588cd - OpStore %35 %37 None - %38 = OpLoad %VertexOutput %out None - OpReturnValue %38 - OpFunctionEnd -%vertex_main = OpFunction %void None %41 - %42 = OpLabel - %43 = OpFunctionCall %VertexOutput %vertex_main_inner - %44 = OpCompositeExtract %v4float %43 0 - OpStore %vertex_main_position_Output %44 None - %45 = OpCompositeExtract %uint %43 1 - OpStore %vertex_main_loc0_Output %45 None - OpStore %vertex_main___point_size_Output %float_1 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.wgsl deleted file mode 100644 index b00ac77..0000000 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.wgsl +++ /dev/null
@@ -1,37 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RO { - arg_0 : array<i32>, -} - -@group(0) @binding(1) var<storage, read> sb_ro : SB_RO; - -fn arrayLength_1588cd() -> u32 { - var res : u32 = arrayLength(&(sb_ro.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_1588cd(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_1588cd(); -} - -struct VertexOutput { - @builtin(position) - pos : vec4<f32>, - @location(0) @interpolate(flat) - prevent_dce : u32, -} - -@vertex -fn vertex_main() -> VertexOutput { - var out : VertexOutput; - out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_1588cd(); - return out; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl similarity index 90% rename from test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl rename to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl index 3e228f6..ab4ddae 100644 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<u32>, read>) -> u32 -fn arrayLength_cfca0a() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<u32>, read>) -> u32 +fn arrayLength_1cf529() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_cfca0a(); + out.prevent_dce = arrayLength_1cf529(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.dxc.hlsl index c638623..a6867f4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_1cf529(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.fxc.hlsl index c638623..a6867f4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_1cf529())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_1cf529() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_1cf529(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.glsl similarity index 86% copy from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.glsl index 5a013be..853185a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { uint arg_0[]; } sb_ro; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cfca0a(); + v.inner = arrayLength_1cf529(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { uint arg_0[]; } sb_ro; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cfca0a(); + v.inner = arrayLength_1cf529(); } // // vertex_main @@ -57,14 +57,14 @@ uint arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_cfca0a() { +uint arrayLength_1cf529() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_cfca0a(); + v.prevent_dce = arrayLength_1cf529(); return v; } void main() {
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl similarity index 83% copy from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl index ccc8aa4..b8445c9 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_1cf529(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl similarity index 83% copy from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl index ccc8aa4..b8445c9 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_1cf529()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_1cf529() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_1cf529(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.msl similarity index 92% copy from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.msl index ee7406e..9c53b31 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_1cf529(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_1cf529(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { +uint arrayLength_1cf529(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_cfca0a(tint_module_vars); + out.prevent_dce = arrayLength_1cf529(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.msl rename to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.msl index 904bf902..781f5a4 100644 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cfca0a(tint_symbol_2); + *(tint_symbol_1) = arrayLength_1cf529(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cfca0a(tint_symbol_2); + *(tint_symbol_1) = arrayLength_1cf529(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_cfca0a(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_1cf529(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_cfca0a(tint_symbol_2); + out.prevent_dce = arrayLength_1cf529(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.spvasm similarity index 94% copy from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.spvasm index 3c9e03b..3ae0569 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -44,7 +44,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 +%arrayLength_1cf529 = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -55,7 +55,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a + %23 = OpFunctionCall %uint %arrayLength_1cf529 %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -77,7 +77,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -106,7 +106,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 +%arrayLength_1cf529 = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -117,7 +117,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a + %23 = OpFunctionCall %uint %arrayLength_1cf529 %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -139,7 +139,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" + OpName %arrayLength_1cf529 "arrayLength_1cf529" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -186,7 +186,7 @@ %void = OpTypeVoid %40 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_cfca0a = OpFunction %uint None %15 +%arrayLength_1cf529 = OpFunction %uint None %15 %16 = OpLabel %res = OpVariable %_ptr_Function_uint Function %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 @@ -201,7 +201,7 @@ %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %31 %33 None %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_cfca0a + %36 = OpFunctionCall %uint %arrayLength_1cf529 OpStore %34 %36 None %37 = OpLoad %VertexOutput %out None OpReturnValue %37
diff --git a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.wgsl similarity index 78% copy from test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.wgsl index c1b2368..198d8d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cfca0a.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/1cf529.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_cfca0a() -> u32 { +fn arrayLength_1cf529() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cfca0a(); + prevent_dce = arrayLength_1cf529(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_cfca0a(); + out.prevent_dce = arrayLength_1cf529(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl similarity index 90% copy from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl index ba8e087..58be547 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<u32>, read_write>) -> u32 -fn arrayLength_eb510f() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<u32>, read_write>) -> u32 +fn arrayLength_23a62c() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.dxc.hlsl index 79b0daf..a0e6ff3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.fxc.hlsl similarity index 79% rename from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.fxc.hlsl index 79b0daf..a0e6ff3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_23a62c() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_23a62c())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.glsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.glsl index 3559580..4e1c9f3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { uint arg_0[]; } sb_rw; -uint arrayLength_eb510f() { +uint arrayLength_23a62c() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_eb510f(); + v.inner = arrayLength_23a62c(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { uint arg_0[]; } sb_rw; -uint arrayLength_eb510f() { +uint arrayLength_23a62c() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_eb510f(); + v.inner = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl index 6604b90..ef666c2 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl index 6604b90..ef666c2 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_23a62c() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_23a62c()); }
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl rename to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.msl index 94a9121..d8326fd 100644 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) { +uint arrayLength_23a62c(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_eb510f(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_23a62c(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_eb510f(tint_module_vars_struct tint_module_vars) { +uint arrayLength_23a62c(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_eb510f(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_23a62c(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.msl similarity index 89% copy from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.msl index 1e3c402..2103687 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_23a62c(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); + *(tint_symbol_1) = arrayLength_23a62c(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<uint, 1> arg_0; }; -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_23a62c(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); + *(tint_symbol_1) = arrayLength_23a62c(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.spvasm similarity index 93% copy from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.spvasm index 9c47aef..5a67592 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" + OpName %arrayLength_23a62c "arrayLength_23a62c" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -44,7 +44,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 +%arrayLength_23a62c = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 @@ -55,7 +55,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f + %23 = OpFunctionCall %uint %arrayLength_23a62c %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn @@ -77,7 +77,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" + OpName %arrayLength_23a62c "arrayLength_23a62c" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -106,7 +106,7 @@ %void = OpTypeVoid %21 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 +%arrayLength_23a62c = OpFunction %uint None %10 %11 = OpLabel %res = OpVariable %_ptr_Function_uint Function %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 @@ -117,7 +117,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %21 %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f + %23 = OpFunctionCall %uint %arrayLength_23a62c %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %24 %23 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.wgsl similarity index 74% copy from test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.wgsl index ec2bb62..1e34ea0 100644 --- a/test/tint/builtins/gen/literal/arrayLength/eb510f.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/23a62c.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_eb510f() -> u32 { +fn arrayLength_23a62c() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_eb510f(); + prevent_dce = arrayLength_23a62c(); }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl similarity index 90% rename from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl rename to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl index 6339a25..7c0a8dd 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<f32>, read>) -> u32 -fn arrayLength_a0f5ca() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f32>, read>) -> u32 +fn arrayLength_3a93e6() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_a0f5ca(); + out.prevent_dce = arrayLength_3a93e6(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.dxc.hlsl index c638623..6ff89e7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_3a93e6(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.fxc.hlsl similarity index 85% rename from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.fxc.hlsl index c638623..6ff89e7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_3a93e6())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_3a93e6() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_3a93e6(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.glsl similarity index 86% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.glsl index b531225..fd6594e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { float arg_0[]; } sb_ro; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_a0f5ca(); + v.inner = arrayLength_3a93e6(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { float arg_0[]; } sb_ro; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_a0f5ca(); + v.inner = arrayLength_3a93e6(); } // // vertex_main @@ -57,14 +57,14 @@ float arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_a0f5ca(); + v.prevent_dce = arrayLength_3a93e6(); return v; } void main() {
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl similarity index 83% rename from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl index ccc8aa4..e95c09c 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_3a93e6(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl similarity index 83% rename from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl index ccc8aa4..e95c09c 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_3a93e6()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_3a93e6() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_3a93e6(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.msl similarity index 92% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl copy to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.msl index 1703b1a..fe66cc7 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_3a93e6(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_3a93e6(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { +uint arrayLength_3a93e6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_a0f5ca(tint_module_vars); + out.prevent_dce = arrayLength_3a93e6(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.msl rename to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.msl index b7640cd..d72f18a 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_a0f5ca(tint_symbol_2); + *(tint_symbol_1) = arrayLength_3a93e6(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_a0f5ca(tint_symbol_2); + *(tint_symbol_1) = arrayLength_3a93e6(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_a0f5ca(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_3a93e6(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_a0f5ca(tint_symbol_2); + out.prevent_dce = arrayLength_3a93e6(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.spvasm similarity index 94% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.spvasm index 05c891c..0af292a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 +%arrayLength_3a93e6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca + %24 = OpFunctionCall %uint %arrayLength_3a93e6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 +%arrayLength_3a93e6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca + %24 = OpFunctionCall %uint %arrayLength_3a93e6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -141,7 +141,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" + OpName %arrayLength_3a93e6 "arrayLength_3a93e6" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -188,7 +188,7 @@ %void = OpTypeVoid %40 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_a0f5ca = OpFunction %uint None %15 +%arrayLength_3a93e6 = OpFunction %uint None %15 %16 = OpLabel %res = OpVariable %_ptr_Function_uint Function %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 @@ -203,7 +203,7 @@ %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %31 %33 None %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_a0f5ca + %36 = OpFunctionCall %uint %arrayLength_3a93e6 OpStore %34 %36 None %37 = OpLoad %VertexOutput %out None OpReturnValue %37
diff --git a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.wgsl similarity index 78% copy from test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.wgsl index 49a5398..7d632b9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/a0f5ca.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/3a93e6.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_a0f5ca() -> u32 { +fn arrayLength_3a93e6() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_a0f5ca(); + prevent_dce = arrayLength_3a93e6(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_a0f5ca(); + out.prevent_dce = arrayLength_3a93e6(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl similarity index 90% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl index f093818..fc35ecc 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<i32>, read_write>) -> u32 -fn arrayLength_61b1c7() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<i32>, read_write>) -> u32 +fn arrayLength_429cb6() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.dxc.hlsl index 79b0daf..d4eabf9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.fxc.hlsl index 79b0daf..d4eabf9 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_429cb6())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.glsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.glsl index fe278f3..4574e24 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { int arg_0[]; } sb_rw; -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_61b1c7(); + v.inner = arrayLength_429cb6(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { int arg_0[]; } sb_rw; -uint arrayLength_61b1c7() { +uint arrayLength_429cb6() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_61b1c7(); + v.inner = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl index 6604b90..8747e2e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl index 6604b90..8747e2e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_429cb6() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_429cb6()); }
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl rename to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.msl index cf0c802..bf352b6 100644 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) { +uint arrayLength_429cb6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_61b1c7(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_429cb6(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_61b1c7(tint_module_vars_struct tint_module_vars) { +uint arrayLength_429cb6(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_61b1c7(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_429cb6(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.msl similarity index 89% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.msl index 7561e67..19e5c7a 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_429cb6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); + *(tint_symbol_1) = arrayLength_429cb6(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_429cb6(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); + *(tint_symbol_1) = arrayLength_429cb6(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.spvasm similarity index 93% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.spvasm index f8d5841..cb2f9b3 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" + OpName %arrayLength_429cb6 "arrayLength_429cb6" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 +%arrayLength_429cb6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 + %24 = OpFunctionCall %uint %arrayLength_429cb6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" + OpName %arrayLength_429cb6 "arrayLength_429cb6" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 +%arrayLength_429cb6 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 + %24 = OpFunctionCall %uint %arrayLength_429cb6 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.wgsl similarity index 74% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.wgsl index 256b54d..4897c09 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/429cb6.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_61b1c7() -> u32 { +fn arrayLength_429cb6() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_61b1c7(); + prevent_dce = arrayLength_429cb6(); }
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl deleted file mode 100644 index f093818..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl +++ /dev/null
@@ -1,58 +0,0 @@ -// Copyright 2021 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//////////////////////////////////////////////////////////////////////////////// -// File generated by 'tools/src/cmd/gen' using the template: -// test/tint/builtins/gen/gen.wgsl.tmpl -// -// To regenerate run: './tools/run gen' -// -// Do not modify this file directly -//////////////////////////////////////////////////////////////////////////////// - - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0: array<i32>, -}; -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -// fn arrayLength(ptr<storage, array<i32>, read_write>) -> u32 -fn arrayLength_61b1c7() -> u32{ - var res: u32 = arrayLength(&sb_rw.arg_0); - return res; -} -@fragment -fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_61b1c7(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.dxc.hlsl deleted file mode 100644 index 79b0daf..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_61b1c7() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_61b1c7() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.fxc.hlsl deleted file mode 100644 index 79b0daf..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_61b1c7() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_61b1c7() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl deleted file mode 100644 index fe278f3..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.glsl +++ /dev/null
@@ -1,43 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RW_ssbo { - int arg_0[]; -} sb_rw; -uint arrayLength_61b1c7() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_61b1c7(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RW_1_ssbo { - int arg_0[]; -} sb_rw; -uint arrayLength_61b1c7() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_61b1c7(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 8775367..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 8775367..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_61b1c7()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.msl deleted file mode 100644 index 7561e67..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.msl +++ /dev/null
@@ -1,74 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<int, 1> arg_0; -}; - -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); - return; -} - -// -// compute_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<int, 1> arg_0; -}; - -uint arrayLength_61b1c7(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_61b1c7(tint_symbol_2); - return; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.spvasm deleted file mode 100644 index f8d5841..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.spvasm +++ /dev/null
@@ -1,126 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_int ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %int = OpTypeInt 32 1 -%_runtimearr_int = OpTypeRuntimeArray %int - %SB_RW = OpTypeStruct %_runtimearr_int -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 - %16 = OpArrayLength %uint %sb_rw 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%fragment_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_61b1c7 "arrayLength_61b1c7" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_int ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %int = OpTypeInt 32 1 -%_runtimearr_int = OpTypeRuntimeArray %int - %SB_RW = OpTypeStruct %_runtimearr_int -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_int = OpTypePointer StorageBuffer %_runtimearr_int - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_61b1c7 = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_rw %uint_0 - %16 = OpArrayLength %uint %sb_rw 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%compute_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_61b1c7 - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.wgsl deleted file mode 100644 index 256b54d..0000000 --- a/test/tint/builtins/gen/var/arrayLength/61b1c7.wgsl.expected.wgsl +++ /dev/null
@@ -1,22 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0 : array<i32>, -} - -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -fn arrayLength_61b1c7() -> u32 { - var res : u32 = arrayLength(&(sb_rw.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_61b1c7(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_61b1c7(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl deleted file mode 100644 index 4bf5816..0000000 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl +++ /dev/null
@@ -1,76 +0,0 @@ -// Copyright 2022 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//////////////////////////////////////////////////////////////////////////////// -// File generated by 'tools/src/cmd/gen' using the template: -// test/tint/builtins/gen/gen.wgsl.tmpl -// -// To regenerate run: './tools/run gen' -// -// Do not modify this file directly -//////////////////////////////////////////////////////////////////////////////// - - -// flags: --hlsl-shader-model 62 - - -enable f16; - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RO { - arg_0: array<f16>, -}; -@group(0) @binding(1) var<storage, read> sb_ro : SB_RO; - -// fn arrayLength(ptr<storage, array<f16>, read>) -> u32 -fn arrayLength_8421b9() -> u32{ - var res: u32 = arrayLength(&sb_ro.arg_0); - return res; -} -@fragment -fn fragment_main() { - prevent_dce = arrayLength_8421b9(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_8421b9(); -} - -struct VertexOutput { - @builtin(position) pos: vec4<f32>, - @location(0) @interpolate(flat) prevent_dce : u32 -}; - -@vertex -fn vertex_main() -> VertexOutput { - var out : VertexOutput; - out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); - return out; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.dxc.hlsl deleted file mode 100644 index d914c06..0000000 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.fxc.hlsl deleted file mode 100644 index d914c06..0000000 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_8421b9() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl deleted file mode 100644 index c042a03..0000000 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.msl +++ /dev/null
@@ -1,131 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<half, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); - return res; -} - -fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); -} -// -// compute_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<half, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); - return res; -} - -kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); -} -// -// vertex_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<half, 1> arg_0; -}; - -struct tint_module_vars_struct { - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - float4 VertexOutput_pos [[position]]; - uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; -}; - -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); - return res; -} - -VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { - VertexOutput out = {}; - out.pos = float4(0.0f); - out.prevent_dce = arrayLength_8421b9(tint_module_vars); - return out; -} - -vertex vertex_main_outputs vertex_main(const device SB_RO* sb_ro [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - VertexOutput const v = vertex_main_inner(tint_module_vars); - vertex_main_outputs tint_wrapper_result = {}; - tint_wrapper_result.VertexOutput_pos = v.pos; - tint_wrapper_result.VertexOutput_prevent_dce = v.prevent_dce; - return tint_wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.wgsl deleted file mode 100644 index ec5202c..0000000 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.wgsl +++ /dev/null
@@ -1,39 +0,0 @@ -enable f16; - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RO { - arg_0 : array<f16>, -} - -@group(0) @binding(1) var<storage, read> sb_ro : SB_RO; - -fn arrayLength_8421b9() -> u32 { - var res : u32 = arrayLength(&(sb_ro.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_8421b9(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_8421b9(); -} - -struct VertexOutput { - @builtin(position) - pos : vec4<f32>, - @location(0) @interpolate(flat) - prevent_dce : u32, -} - -@vertex -fn vertex_main() -> VertexOutput { - var out : VertexOutput; - out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); - return out; -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl similarity index 90% copy from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl copy to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl index 4bf5816..0ad68f8 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2022 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -47,19 +47,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<f16>, read>) -> u32 -fn arrayLength_8421b9() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f16>, read>) -> u32 +fn arrayLength_9ea96d() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } struct VertexOutput { @@ -71,6 +71,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); + out.prevent_dce = arrayLength_9ea96d(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.dxc.hlsl index d914c06..2ba1804 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); + tint_symbol.prevent_dce = arrayLength_9ea96d(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.fxc.hlsl similarity index 85% rename from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.fxc.hlsl index d914c06..2ba1804 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_8421b9())); + prevent_dce.Store(0u, asuint(arrayLength_9ea96d())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 2u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_8421b9(); + tint_symbol.prevent_dce = arrayLength_9ea96d(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.glsl similarity index 88% rename from test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.glsl index 59e4c26..f4666d2 100644 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.glsl
@@ -14,12 +14,12 @@ buffer f_SB_RO_ssbo { float16_t arg_0[]; } sb_ro; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_8421b9(); + v.inner = arrayLength_9ea96d(); } // // compute_main @@ -35,13 +35,13 @@ buffer SB_RO_1_ssbo { float16_t arg_0[]; } sb_ro; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_8421b9(); + v.inner = arrayLength_9ea96d(); } // // vertex_main @@ -60,14 +60,14 @@ float16_t arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_8421b9(); + v.prevent_dce = arrayLength_9ea96d(); return v; } void main() {
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl similarity index 83% rename from test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl index d076141..f2a89d7 100644 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_8421b9(); + v_1.prevent_dce = arrayLength_9ea96d(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl similarity index 83% rename from test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl index d076141..f2a89d7 100644 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_8421b9()); + prevent_dce.Store(0u, arrayLength_9ea96d()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_8421b9() { +uint arrayLength_9ea96d() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 2u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_8421b9(); + v_1.prevent_dce = arrayLength_9ea96d(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.msl similarity index 92% copy from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl copy to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.msl index c042a03..9d5d837 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_9ea96d(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_8421b9(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_9ea96d(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_8421b9(tint_module_vars_struct tint_module_vars) { +uint arrayLength_9ea96d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_8421b9(tint_module_vars); + out.prevent_dce = arrayLength_9ea96d(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.msl rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.msl index ceef0a8..29b1ca8 100644 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_8421b9(tint_symbol_2); + *(tint_symbol_1) = arrayLength_9ea96d(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_8421b9(tint_symbol_2); + *(tint_symbol_1) = arrayLength_9ea96d(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_8421b9(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_9ea96d(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 2u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_8421b9(tint_symbol_2); + out.prevent_dce = arrayLength_9ea96d(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.spvasm similarity index 95% rename from test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.spvasm rename to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.spvasm index 40a884a..4e4c73b 100644 --- a/test/tint/builtins/gen/var/arrayLength/8421b9.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.spvasm
@@ -18,7 +18,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -48,7 +48,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_8421b9 = OpFunction %uint None %11 +%arrayLength_9ea96d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -59,7 +59,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_8421b9 + %24 = OpFunctionCall %uint %arrayLength_9ea96d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -84,7 +84,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -114,7 +114,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_8421b9 = OpFunction %uint None %11 +%arrayLength_9ea96d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -125,7 +125,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_8421b9 + %24 = OpFunctionCall %uint %arrayLength_9ea96d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -150,7 +150,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_8421b9 "arrayLength_8421b9" + OpName %arrayLength_9ea96d "arrayLength_9ea96d" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -198,7 +198,7 @@ %void = OpTypeVoid %41 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_8421b9 = OpFunction %uint None %16 +%arrayLength_9ea96d = OpFunction %uint None %16 %17 = OpLabel %res = OpVariable %_ptr_Function_uint Function %18 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_ro %uint_0 @@ -213,7 +213,7 @@ %32 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %32 %34 None %35 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %37 = OpFunctionCall %uint %arrayLength_8421b9 + %37 = OpFunctionCall %uint %arrayLength_9ea96d OpStore %35 %37 None %38 = OpLoad %VertexOutput %out None OpReturnValue %38
diff --git a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.wgsl similarity index 78% copy from test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.wgsl index ec5202c..3f8f5bf 100644 --- a/test/tint/builtins/gen/literal/arrayLength/8421b9.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/9ea96d.wgsl.expected.wgsl
@@ -8,19 +8,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_8421b9() -> u32 { +fn arrayLength_9ea96d() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_8421b9(); + prevent_dce = arrayLength_9ea96d(); } struct VertexOutput { @@ -34,6 +34,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_8421b9(); + out.prevent_dce = arrayLength_9ea96d(); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl deleted file mode 100644 index 2e68ad7..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_a0f5ca(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl deleted file mode 100644 index 2e68ad7..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_a0f5ca())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_a0f5ca() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_a0f5ca(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl deleted file mode 100644 index b531225..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.glsl +++ /dev/null
@@ -1,75 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RO_ssbo { - float arg_0[]; -} sb_ro; -uint arrayLength_a0f5ca() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_a0f5ca(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RO_1_ssbo { - float arg_0[]; -} sb_ro; -uint arrayLength_a0f5ca() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_a0f5ca(); -} -// -// vertex_main -// -#version 310 es - - -struct VertexOutput { - vec4 pos; - uint prevent_dce; -}; - -layout(binding = 1, std430) -buffer v_SB_RO_ssbo { - float arg_0[]; -} sb_ro; -layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_a0f5ca() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -VertexOutput vertex_main_inner() { - VertexOutput v = VertexOutput(vec4(0.0f), 0u); - v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_a0f5ca(); - return v; -} -void main() { - VertexOutput v_1 = vertex_main_inner(); - gl_Position = vec4(v_1.pos.x, -(v_1.pos.y), ((2.0f * v_1.pos.z) - v_1.pos.w), v_1.pos.w); - tint_interstage_location0 = v_1.prevent_dce; - gl_PointSize = 1.0f; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl deleted file mode 100644 index 1703b1a..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.msl +++ /dev/null
@@ -1,131 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<float, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); -} -// -// compute_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<float, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_a0f5ca(tint_module_vars); -} -// -// vertex_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<float, 1> arg_0; -}; - -struct tint_module_vars_struct { - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - float4 VertexOutput_pos [[position]]; - uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; -}; - -uint arrayLength_a0f5ca(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { - VertexOutput out = {}; - out.pos = float4(0.0f); - out.prevent_dce = arrayLength_a0f5ca(tint_module_vars); - return out; -} - -vertex vertex_main_outputs vertex_main(const device SB_RO* sb_ro [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - VertexOutput const v = vertex_main_inner(tint_module_vars); - vertex_main_outputs tint_wrapper_result = {}; - tint_wrapper_result.VertexOutput_pos = v.pos; - tint_wrapper_result.VertexOutput_prevent_dce = v.prevent_dce; - return tint_wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.spvasm deleted file mode 100644 index 05c891c..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.spvasm +++ /dev/null
@@ -1,220 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_float ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %float = OpTypeFloat 32 -%_runtimearr_float = OpTypeRuntimeArray %float - %SB_RO = OpTypeStruct %_runtimearr_float -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 - %16 = OpArrayLength %uint %sb_ro 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%fragment_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_float ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %float = OpTypeFloat 32 -%_runtimearr_float = OpTypeRuntimeArray %float - %SB_RO = OpTypeStruct %_runtimearr_float -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_a0f5ca = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 - %16 = OpArrayLength %uint %sb_ro 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%compute_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_a0f5ca - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; vertex_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 46 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %vertex_main_position_Output "vertex_main_position_Output" - OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" - OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_a0f5ca "arrayLength_a0f5ca" - OpName %res "res" - OpName %vertex_main_inner "vertex_main_inner" - OpMemberName %VertexOutput 0 "pos" - OpMemberName %VertexOutput 1 "prevent_dce" - OpName %VertexOutput "VertexOutput" - OpName %out "out" - OpName %vertex_main "vertex_main" - OpDecorate %_runtimearr_float ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - OpDecorate %vertex_main_position_Output BuiltIn Position - OpDecorate %vertex_main_loc0_Output Location 0 - OpDecorate %vertex_main_loc0_Output Flat - OpDecorate %vertex_main___point_size_Output BuiltIn PointSize - OpMemberDecorate %VertexOutput 0 Offset 0 - OpMemberDecorate %VertexOutput 1 Offset 16 - %float = OpTypeFloat 32 -%_runtimearr_float = OpTypeRuntimeArray %float - %SB_RO = OpTypeStruct %_runtimearr_float -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %v4float = OpTypeVector %float 4 -%_ptr_Output_v4float = OpTypePointer Output %v4float -%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output - %uint = OpTypeInt 32 0 -%_ptr_Output_uint = OpTypePointer Output %uint -%vertex_main_loc0_Output = OpVariable %_ptr_Output_uint Output -%_ptr_Output_float = OpTypePointer Output %float -%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output - %15 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint -%VertexOutput = OpTypeStruct %v4float %uint - %26 = OpTypeFunction %VertexOutput -%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput - %30 = OpConstantNull %VertexOutput -%_ptr_Function_v4float = OpTypePointer Function %v4float - %33 = OpConstantNull %v4float - %uint_1 = OpConstant %uint 1 - %void = OpTypeVoid - %40 = OpTypeFunction %void - %float_1 = OpConstant %float 1 -%arrayLength_a0f5ca = OpFunction %uint None %15 - %16 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_ro %uint_0 - %20 = OpArrayLength %uint %sb_ro 0 - OpStore %res %20 - %23 = OpLoad %uint %res None - OpReturnValue %23 - OpFunctionEnd -%vertex_main_inner = OpFunction %VertexOutput None %26 - %27 = OpLabel - %out = OpVariable %_ptr_Function_VertexOutput Function %30 - %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 - OpStore %31 %33 None - %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_a0f5ca - OpStore %34 %36 None - %37 = OpLoad %VertexOutput %out None - OpReturnValue %37 - OpFunctionEnd -%vertex_main = OpFunction %void None %40 - %41 = OpLabel - %42 = OpFunctionCall %VertexOutput %vertex_main_inner - %43 = OpCompositeExtract %v4float %42 0 - OpStore %vertex_main_position_Output %43 None - %44 = OpCompositeExtract %uint %42 1 - OpStore %vertex_main_loc0_Output %44 None - OpStore %vertex_main___point_size_Output %float_1 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.wgsl deleted file mode 100644 index 49a5398..0000000 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.wgsl +++ /dev/null
@@ -1,37 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RO { - arg_0 : array<f32>, -} - -@group(0) @binding(1) var<storage, read> sb_ro : SB_RO; - -fn arrayLength_a0f5ca() -> u32 { - var res : u32 = arrayLength(&(sb_ro.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_a0f5ca(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_a0f5ca(); -} - -struct VertexOutput { - @builtin(position) - pos : vec4<f32>, - @location(0) @interpolate(flat) - prevent_dce : u32, -} - -@vertex -fn vertex_main() -> VertexOutput { - var out : VertexOutput; - out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_a0f5ca(); - return out; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl similarity index 90% rename from test/tint/builtins/gen/var/arrayLength/1588cd.wgsl rename to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl index 11dd7e5..6a5da00 100644 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,19 +42,19 @@ }; @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -// fn arrayLength(ptr<storage, array<i32>, read>) -> u32 -fn arrayLength_1588cd() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<i32>, read>) -> u32 +fn arrayLength_bf7d97() -> u32{ var res: u32 = arrayLength(&sb_ro.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } struct VertexOutput { @@ -66,6 +66,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_1588cd(); + out.prevent_dce = arrayLength_bf7d97(); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.dxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.dxc.hlsl index c638623..8f601d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_bf7d97(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.fxc.hlsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.fxc.hlsl index c638623..8f601d6 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_1 = 0u; sb_ro.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,7 +32,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_1588cd())); + prevent_dce.Store(0u, asuint(arrayLength_bf7d97())); return; } // @@ -40,7 +40,7 @@ // ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint tint_symbol_3 = 0u; sb_ro.GetDimensions(tint_symbol_3); uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); @@ -60,7 +60,7 @@ VertexOutput vertex_main_inner() { VertexOutput tint_symbol = (VertexOutput)0; tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_1588cd(); + tint_symbol.prevent_dce = arrayLength_bf7d97(); return tint_symbol; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.glsl similarity index 86% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.glsl index 073776b..dc82d4b 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RO_ssbo { int arg_0[]; } sb_ro; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } void main() { - v.inner = arrayLength_1588cd(); + v.inner = arrayLength_bf7d97(); } // // compute_main @@ -33,13 +33,13 @@ buffer SB_RO_1_ssbo { int arg_0[]; } sb_ro; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_1588cd(); + v.inner = arrayLength_bf7d97(); } // // vertex_main @@ -57,14 +57,14 @@ int arg_0[]; } sb_ro; layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_1588cd() { +uint arrayLength_bf7d97() { uint res = uint(sb_ro.arg_0.length()); return res; } VertexOutput vertex_main_inner() { VertexOutput v = VertexOutput(vec4(0.0f), 0u); v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_1588cd(); + v.prevent_dce = arrayLength_bf7d97(); return v; } void main() {
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl similarity index 83% copy from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl index ccc8aa4..695f703 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_bf7d97(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl similarity index 83% copy from test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl index ccc8aa4..695f703 100644 --- a/test/tint/builtins/gen/var/arrayLength/a0f5ca.wgsl.expected.ir.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -30,7 +30,7 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_a0f5ca()); + prevent_dce.Store(0u, arrayLength_bf7d97()); } // @@ -48,7 +48,7 @@ ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_a0f5ca() { +uint arrayLength_bf7d97() { uint v = 0u; sb_ro.GetDimensions(v); uint res = (v / 4u); @@ -58,7 +58,7 @@ VertexOutput vertex_main_inner() { VertexOutput v_1 = (VertexOutput)0; v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_a0f5ca(); + v_1.prevent_dce = arrayLength_bf7d97(); VertexOutput v_2 = v_1; return v_2; }
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.msl similarity index 92% rename from test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl rename to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.msl index b261877..32ad0b6 100644 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_1588cd(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_bf7d97(tint_module_vars); } // // compute_main @@ -63,14 +63,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_1588cd(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_bf7d97(tint_module_vars); } // // vertex_main @@ -109,7 +109,7 @@ uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; }; -uint arrayLength_1588cd(tint_module_vars_struct tint_module_vars) { +uint arrayLength_bf7d97(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } @@ -117,7 +117,7 @@ VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_1588cd(tint_module_vars); + out.prevent_dce = arrayLength_bf7d97(tint_module_vars); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.msl rename to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.msl index 6b62e72..b78da29 100644 --- a/test/tint/builtins/gen/var/arrayLength/1588cd.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.msl
@@ -25,7 +25,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -36,7 +36,7 @@ }; fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_1588cd(tint_symbol_2); + *(tint_symbol_1) = arrayLength_bf7d97(tint_symbol_2); return; } @@ -67,7 +67,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -78,7 +78,7 @@ }; kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_1588cd(tint_symbol_2); + *(tint_symbol_1) = arrayLength_bf7d97(tint_symbol_2); return; } @@ -109,7 +109,7 @@ tint_array<int, 1> arg_0; }; -uint arrayLength_1588cd(const constant TintArrayLengths* const tint_symbol_1) { +uint arrayLength_bf7d97(const constant TintArrayLengths* const tint_symbol_1) { uint res = (((*(tint_symbol_1)).array_lengths[0u][0u] - 0u) / 4u); return res; } @@ -127,7 +127,7 @@ VertexOutput vertex_main_inner(const constant TintArrayLengths* const tint_symbol_2) { VertexOutput out = {}; out.pos = float4(0.0f); - out.prevent_dce = arrayLength_1588cd(tint_symbol_2); + out.prevent_dce = arrayLength_bf7d97(tint_symbol_2); return out; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.spvasm similarity index 94% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.spvasm index 02c203d..2c79b63 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 +%arrayLength_bf7d97 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd + %24 = OpFunctionCall %uint %arrayLength_bf7d97 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RO 0 "arg_0" OpName %SB_RO "SB_RO" OpName %sb_ro "sb_ro" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_1588cd = OpFunction %uint None %11 +%arrayLength_bf7d97 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_1588cd + %24 = OpFunctionCall %uint %arrayLength_bf7d97 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -141,7 +141,7 @@ OpName %vertex_main_position_Output "vertex_main_position_Output" OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_1588cd "arrayLength_1588cd" + OpName %arrayLength_bf7d97 "arrayLength_bf7d97" OpName %res "res" OpName %vertex_main_inner "vertex_main_inner" OpMemberName %VertexOutput 0 "pos" @@ -189,7 +189,7 @@ %void = OpTypeVoid %41 = OpTypeFunction %void %float_1 = OpConstant %float 1 -%arrayLength_1588cd = OpFunction %uint None %16 +%arrayLength_bf7d97 = OpFunction %uint None %16 %17 = OpLabel %res = OpVariable %_ptr_Function_uint Function %18 = OpAccessChain %_ptr_StorageBuffer__runtimearr_int %sb_ro %uint_0 @@ -204,7 +204,7 @@ %32 = OpAccessChain %_ptr_Function_v4float %out %uint_0 OpStore %32 %34 None %35 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %37 = OpFunctionCall %uint %arrayLength_1588cd + %37 = OpFunctionCall %uint %arrayLength_bf7d97 OpStore %35 %37 None %38 = OpLoad %VertexOutput %out None OpReturnValue %38
diff --git a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.wgsl similarity index 78% copy from test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.wgsl index b00ac77..4ec2d47 100644 --- a/test/tint/builtins/gen/literal/arrayLength/1588cd.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/bf7d97.wgsl.expected.wgsl
@@ -6,19 +6,19 @@ @group(0) @binding(1) var<storage, read> sb_ro : SB_RO; -fn arrayLength_1588cd() -> u32 { +fn arrayLength_bf7d97() -> u32 { var res : u32 = arrayLength(&(sb_ro.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_1588cd(); + prevent_dce = arrayLength_bf7d97(); } struct VertexOutput { @@ -32,6 +32,6 @@ fn vertex_main() -> VertexOutput { var out : VertexOutput; out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_1588cd(); + out.prevent_dce = arrayLength_bf7d97(); return out; }
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl deleted file mode 100644 index 7f1d3b2..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl +++ /dev/null
@@ -1,63 +0,0 @@ -// Copyright 2022 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//////////////////////////////////////////////////////////////////////////////// -// File generated by 'tools/src/cmd/gen' using the template: -// test/tint/builtins/gen/gen.wgsl.tmpl -// -// To regenerate run: './tools/run gen' -// -// Do not modify this file directly -//////////////////////////////////////////////////////////////////////////////// - - -// flags: --hlsl-shader-model 62 - - -enable f16; - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0: array<f16>, -}; -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -// fn arrayLength(ptr<storage, array<f16>, read_write>) -> u32 -fn arrayLength_cbd6b5() -> u32{ - var res: u32 = arrayLength(&sb_rw.arg_0); - return res; -} -@fragment -fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl deleted file mode 100644 index bda931f..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cbd6b5() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cbd6b5() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl deleted file mode 100644 index bda931f..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cbd6b5() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cbd6b5() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl deleted file mode 100644 index c3492ac..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.glsl +++ /dev/null
@@ -1,45 +0,0 @@ -// -// fragment_main -// -#version 310 es -#extension GL_AMD_gpu_shader_half_float: require -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RW_ssbo { - float16_t arg_0[]; -} sb_rw; -uint arrayLength_cbd6b5() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_cbd6b5(); -} -// -// compute_main -// -#version 310 es -#extension GL_AMD_gpu_shader_half_float: require - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RW_1_ssbo { - float16_t arg_0[]; -} sb_rw; -uint arrayLength_cbd6b5() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_cbd6b5(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index f458ee9..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index f458ee9..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 2u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.msl deleted file mode 100644 index 8c8026f..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.msl +++ /dev/null
@@ -1,74 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<half, 1> arg_0; -}; - -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); - return res; -} - -fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); - return; -} - -// -// compute_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<half, 1> arg_0; -}; - -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); - return res; -} - -kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); - return; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.wgsl deleted file mode 100644 index ddbce3b..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.wgsl +++ /dev/null
@@ -1,24 +0,0 @@ -enable f16; - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0 : array<f16>, -} - -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -fn arrayLength_cbd6b5() -> u32 { - var res : u32 = arrayLength(&(sb_rw.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl similarity index 90% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl index 23b09c7..2ea0340 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2021 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -42,17 +42,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<f32>, read_write>) -> u32 -fn arrayLength_cdd123() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f32>, read_write>) -> u32 +fn arrayLength_cc9a8d() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl index 79b0daf..c58e47f 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl index 79b0daf..c58e47f 100644 --- a/test/tint/builtins/gen/literal/arrayLength/61b1c7.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_61b1c7() { +uint arrayLength_cc9a8d() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_61b1c7())); + prevent_dce.Store(0u, asuint(arrayLength_cc9a8d())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.glsl similarity index 83% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.glsl index eaa9382..a375654 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.glsl
@@ -13,12 +13,12 @@ buffer f_SB_RW_ssbo { float arg_0[]; } sb_rw; -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cdd123(); + v.inner = arrayLength_cc9a8d(); } // // compute_main @@ -33,11 +33,11 @@ buffer SB_RW_1_ssbo { float arg_0[]; } sb_rw; -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cdd123(); + v.inner = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl index 6604b90..3daa558 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl index 6604b90..3daa558 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { +uint arrayLength_cc9a8d() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 4u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); + prevent_dce.Store(0u, arrayLength_cc9a8d()); }
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl rename to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.msl index 3096d8b..c680c44 100644 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) { +uint arrayLength_cc9a8d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cdd123(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_cc9a8d(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cdd123(tint_module_vars_struct tint_module_vars) { +uint arrayLength_cc9a8d(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cdd123(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_cc9a8d(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.msl similarity index 89% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.msl index 8103844..bcd33aa 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_cc9a8d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); + *(tint_symbol_1) = arrayLength_cc9a8d(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<float, 1> arg_0; }; -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_cc9a8d(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); + *(tint_symbol_1) = arrayLength_cc9a8d(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.spvasm similarity index 93% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.spvasm index 8b41fdd8..7c2ae70 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.spvasm
@@ -15,7 +15,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" + OpName %arrayLength_cc9a8d "arrayLength_cc9a8d" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -45,7 +45,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 +%arrayLength_cc9a8d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 @@ -56,7 +56,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 + %24 = OpFunctionCall %uint %arrayLength_cc9a8d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -78,7 +78,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" + OpName %arrayLength_cc9a8d "arrayLength_cc9a8d" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -108,7 +108,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 +%arrayLength_cc9a8d = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 @@ -119,7 +119,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 + %24 = OpFunctionCall %uint %arrayLength_cc9a8d %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.wgsl similarity index 74% copy from test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.wgsl index 1eae93b..937a2b8 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cdd123.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/cc9a8d.wgsl.expected.wgsl
@@ -6,17 +6,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_cdd123() -> u32 { +fn arrayLength_cc9a8d() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cdd123(); + prevent_dce = arrayLength_cc9a8d(); }
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl deleted file mode 100644 index 23b09c7..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl +++ /dev/null
@@ -1,58 +0,0 @@ -// Copyright 2021 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//////////////////////////////////////////////////////////////////////////////// -// File generated by 'tools/src/cmd/gen' using the template: -// test/tint/builtins/gen/gen.wgsl.tmpl -// -// To regenerate run: './tools/run gen' -// -// Do not modify this file directly -//////////////////////////////////////////////////////////////////////////////// - - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0: array<f32>, -}; -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -// fn arrayLength(ptr<storage, array<f32>, read_write>) -> u32 -fn arrayLength_cdd123() -> u32{ - var res: u32 = arrayLength(&sb_rw.arg_0); - return res; -} -@fragment -fn fragment_main() { - prevent_dce = arrayLength_cdd123(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_cdd123(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.dxc.hlsl deleted file mode 100644 index 7b9849f..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.fxc.hlsl deleted file mode 100644 index 7b9849f..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_cdd123() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cdd123())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl deleted file mode 100644 index eaa9382..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.glsl +++ /dev/null
@@ -1,43 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RW_ssbo { - float arg_0[]; -} sb_rw; -uint arrayLength_cdd123() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_cdd123(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RW_1_ssbo { - float arg_0[]; -} sb_rw; -uint arrayLength_cdd123() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_cdd123(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 6604b90..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 6604b90..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cdd123() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cdd123()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.msl deleted file mode 100644 index 8103844..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.msl +++ /dev/null
@@ -1,74 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<float, 1> arg_0; -}; - -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); - return; -} - -// -// compute_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<float, 1> arg_0; -}; - -uint arrayLength_cdd123(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cdd123(tint_symbol_2); - return; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.spvasm deleted file mode 100644 index 8b41fdd8..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.spvasm +++ /dev/null
@@ -1,126 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_float ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %float = OpTypeFloat 32 -%_runtimearr_float = OpTypeRuntimeArray %float - %SB_RW = OpTypeStruct %_runtimearr_float -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 - %16 = OpArrayLength %uint %sb_rw 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%fragment_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 27 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_cdd123 "arrayLength_cdd123" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_float ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer - %float = OpTypeFloat 32 -%_runtimearr_float = OpTypeRuntimeArray %float - %SB_RW = OpTypeStruct %_runtimearr_float -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %11 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %22 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cdd123 = OpFunction %uint None %11 - %12 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %sb_rw %uint_0 - %16 = OpArrayLength %uint %sb_rw 0 - OpStore %res %16 - %19 = OpLoad %uint %res None - OpReturnValue %19 - OpFunctionEnd -%compute_main = OpFunction %void None %22 - %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cdd123 - %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %25 %24 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.wgsl deleted file mode 100644 index 1eae93b..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cdd123.wgsl.expected.wgsl +++ /dev/null
@@ -1,22 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0 : array<f32>, -} - -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -fn arrayLength_cdd123() -> u32 { - var res : u32 = arrayLength(&(sb_rw.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_cdd123(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_cdd123(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.dxc.hlsl deleted file mode 100644 index d745420..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_cfca0a(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.fxc.hlsl deleted file mode 100644 index d745420..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,73 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_1 = 0u; - sb_ro.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cfca0a())); - return; -} -// -// vertex_main -// -ByteAddressBuffer sb_ro : register(t1); - -uint arrayLength_cfca0a() { - uint tint_symbol_3 = 0u; - sb_ro.GetDimensions(tint_symbol_3); - uint tint_symbol_4 = ((tint_symbol_3 - 0u) / 4u); - uint res = tint_symbol_4; - return res; -} - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; -struct tint_symbol_1 { - nointerpolation uint prevent_dce : TEXCOORD0; - float4 pos : SV_Position; -}; - -VertexOutput vertex_main_inner() { - VertexOutput tint_symbol = (VertexOutput)0; - tint_symbol.pos = (0.0f).xxxx; - tint_symbol.prevent_dce = arrayLength_cfca0a(); - return tint_symbol; -} - -tint_symbol_1 vertex_main() { - VertexOutput inner_result = vertex_main_inner(); - tint_symbol_1 wrapper_result = (tint_symbol_1)0; - wrapper_result.pos = inner_result.pos; - wrapper_result.prevent_dce = inner_result.prevent_dce; - return wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl deleted file mode 100644 index 5a013be..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.glsl +++ /dev/null
@@ -1,75 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RO_ssbo { - uint arg_0[]; -} sb_ro; -uint arrayLength_cfca0a() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_cfca0a(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RO_1_ssbo { - uint arg_0[]; -} sb_ro; -uint arrayLength_cfca0a() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_cfca0a(); -} -// -// vertex_main -// -#version 310 es - - -struct VertexOutput { - vec4 pos; - uint prevent_dce; -}; - -layout(binding = 1, std430) -buffer v_SB_RO_ssbo { - uint arg_0[]; -} sb_ro; -layout(location = 0) flat out uint tint_interstage_location0; -uint arrayLength_cfca0a() { - uint res = uint(sb_ro.arg_0.length()); - return res; -} -VertexOutput vertex_main_inner() { - VertexOutput v = VertexOutput(vec4(0.0f), 0u); - v.pos = vec4(0.0f); - v.prevent_dce = arrayLength_cfca0a(); - return v; -} -void main() { - VertexOutput v_1 = vertex_main_inner(); - gl_Position = vec4(v_1.pos.x, -(v_1.pos.y), ((2.0f * v_1.pos.z) - v_1.pos.w), v_1.pos.w); - tint_interstage_location0 = v_1.prevent_dce; - gl_PointSize = 1.0f; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 0ffd0cc..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_cfca0a(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 0ffd0cc..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,71 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_cfca0a()); -} - -// -// vertex_main -// -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - nointerpolation uint VertexOutput_prevent_dce : TEXCOORD0; - float4 VertexOutput_pos : SV_Position; -}; - - -ByteAddressBuffer sb_ro : register(t1); -uint arrayLength_cfca0a() { - uint v = 0u; - sb_ro.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = arrayLength_cfca0a(); - VertexOutput v_2 = v_1; - return v_2; -} - -vertex_main_outputs vertex_main() { - VertexOutput v_3 = vertex_main_inner(); - vertex_main_outputs v_4 = {v_3.prevent_dce, v_3.pos}; - return v_4; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl deleted file mode 100644 index ee7406e..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.ir.msl +++ /dev/null
@@ -1,131 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<uint, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); -} -// -// compute_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<uint, 1> arg_0; -}; - -struct tint_module_vars_struct { - device uint* prevent_dce; - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -kernel void compute_main(device uint* prevent_dce [[buffer(0)]], const device SB_RO* sb_ro [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cfca0a(tint_module_vars); -} -// -// vertex_main -// -#include <metal_stdlib> -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct SB_RO { - /* 0x0000 */ tint_array<uint, 1> arg_0; -}; - -struct tint_module_vars_struct { - const device SB_RO* sb_ro; - const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; -}; - -struct VertexOutput { - float4 pos; - uint prevent_dce; -}; - -struct vertex_main_outputs { - float4 VertexOutput_pos [[position]]; - uint VertexOutput_prevent_dce [[user(locn0)]] [[flat]]; -}; - -uint arrayLength_cfca0a(tint_module_vars_struct tint_module_vars) { - uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 4u); - return res; -} - -VertexOutput vertex_main_inner(tint_module_vars_struct tint_module_vars) { - VertexOutput out = {}; - out.pos = float4(0.0f); - out.prevent_dce = arrayLength_cfca0a(tint_module_vars); - return out; -} - -vertex vertex_main_outputs vertex_main(const device SB_RO* sb_ro [[buffer(0)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { - tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.sb_ro=sb_ro, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - VertexOutput const v = vertex_main_inner(tint_module_vars); - vertex_main_outputs tint_wrapper_result = {}; - tint_wrapper_result.VertexOutput_pos = v.pos; - tint_wrapper_result.VertexOutput_prevent_dce = v.prevent_dce; - return tint_wrapper_result; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.spvasm deleted file mode 100644 index 3c9e03b..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.spvasm +++ /dev/null
@@ -1,218 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 26 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_uint ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer -%_runtimearr_uint = OpTypeRuntimeArray %uint - %SB_RO = OpTypeStruct %_runtimearr_uint -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %10 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %21 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 - %11 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 - %15 = OpArrayLength %uint %sb_ro 0 - OpStore %res %15 - %18 = OpLoad %uint %res None - OpReturnValue %18 - OpFunctionEnd -%fragment_main = OpFunction %void None %21 - %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a - %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %24 %23 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 26 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_uint ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer -%_runtimearr_uint = OpTypeRuntimeArray %uint - %SB_RO = OpTypeStruct %_runtimearr_uint -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %10 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %21 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cfca0a = OpFunction %uint None %10 - %11 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 - %15 = OpArrayLength %uint %sb_ro 0 - OpStore %res %15 - %18 = OpLoad %uint %res None - OpReturnValue %18 - OpFunctionEnd -%compute_main = OpFunction %void None %21 - %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_cfca0a - %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %24 %23 None - OpReturn - OpFunctionEnd -; -; vertex_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 46 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output - OpMemberName %SB_RO 0 "arg_0" - OpName %SB_RO "SB_RO" - OpName %sb_ro "sb_ro" - OpName %vertex_main_position_Output "vertex_main_position_Output" - OpName %vertex_main_loc0_Output "vertex_main_loc0_Output" - OpName %vertex_main___point_size_Output "vertex_main___point_size_Output" - OpName %arrayLength_cfca0a "arrayLength_cfca0a" - OpName %res "res" - OpName %vertex_main_inner "vertex_main_inner" - OpMemberName %VertexOutput 0 "pos" - OpMemberName %VertexOutput 1 "prevent_dce" - OpName %VertexOutput "VertexOutput" - OpName %out "out" - OpName %vertex_main "vertex_main" - OpDecorate %_runtimearr_uint ArrayStride 4 - OpMemberDecorate %SB_RO 0 Offset 0 - OpDecorate %SB_RO Block - OpDecorate %sb_ro DescriptorSet 0 - OpDecorate %sb_ro Binding 1 - OpDecorate %sb_ro NonWritable - OpDecorate %vertex_main_position_Output BuiltIn Position - OpDecorate %vertex_main_loc0_Output Location 0 - OpDecorate %vertex_main_loc0_Output Flat - OpDecorate %vertex_main___point_size_Output BuiltIn PointSize - OpMemberDecorate %VertexOutput 0 Offset 0 - OpMemberDecorate %VertexOutput 1 Offset 16 - %uint = OpTypeInt 32 0 -%_runtimearr_uint = OpTypeRuntimeArray %uint - %SB_RO = OpTypeStruct %_runtimearr_uint -%_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO - %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer - %float = OpTypeFloat 32 - %v4float = OpTypeVector %float 4 -%_ptr_Output_v4float = OpTypePointer Output %v4float -%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output -%_ptr_Output_uint = OpTypePointer Output %uint -%vertex_main_loc0_Output = OpVariable %_ptr_Output_uint Output -%_ptr_Output_float = OpTypePointer Output %float -%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output - %15 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint -%VertexOutput = OpTypeStruct %v4float %uint - %26 = OpTypeFunction %VertexOutput -%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput - %30 = OpConstantNull %VertexOutput -%_ptr_Function_v4float = OpTypePointer Function %v4float - %33 = OpConstantNull %v4float - %uint_1 = OpConstant %uint 1 - %void = OpTypeVoid - %40 = OpTypeFunction %void - %float_1 = OpConstant %float 1 -%arrayLength_cfca0a = OpFunction %uint None %15 - %16 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %17 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_ro %uint_0 - %20 = OpArrayLength %uint %sb_ro 0 - OpStore %res %20 - %23 = OpLoad %uint %res None - OpReturnValue %23 - OpFunctionEnd -%vertex_main_inner = OpFunction %VertexOutput None %26 - %27 = OpLabel - %out = OpVariable %_ptr_Function_VertexOutput Function %30 - %31 = OpAccessChain %_ptr_Function_v4float %out %uint_0 - OpStore %31 %33 None - %34 = OpAccessChain %_ptr_Function_uint %out %uint_1 - %36 = OpFunctionCall %uint %arrayLength_cfca0a - OpStore %34 %36 None - %37 = OpLoad %VertexOutput %out None - OpReturnValue %37 - OpFunctionEnd -%vertex_main = OpFunction %void None %40 - %41 = OpLabel - %42 = OpFunctionCall %VertexOutput %vertex_main_inner - %43 = OpCompositeExtract %v4float %42 0 - OpStore %vertex_main_position_Output %43 None - %44 = OpCompositeExtract %uint %42 1 - OpStore %vertex_main_loc0_Output %44 None - OpStore %vertex_main___point_size_Output %float_1 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.wgsl deleted file mode 100644 index c1b2368..0000000 --- a/test/tint/builtins/gen/var/arrayLength/cfca0a.wgsl.expected.wgsl +++ /dev/null
@@ -1,37 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RO { - arg_0 : array<u32>, -} - -@group(0) @binding(1) var<storage, read> sb_ro : SB_RO; - -fn arrayLength_cfca0a() -> u32 { - var res : u32 = arrayLength(&(sb_ro.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_cfca0a(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_cfca0a(); -} - -struct VertexOutput { - @builtin(position) - pos : vec4<f32>, - @location(0) @interpolate(flat) - prevent_dce : u32, -} - -@vertex -fn vertex_main() -> VertexOutput { - var out : VertexOutput; - out.pos = vec4<f32>(); - out.prevent_dce = arrayLength_cfca0a(); - return out; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl deleted file mode 100644 index ba8e087..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl +++ /dev/null
@@ -1,58 +0,0 @@ -// Copyright 2021 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//////////////////////////////////////////////////////////////////////////////// -// File generated by 'tools/src/cmd/gen' using the template: -// test/tint/builtins/gen/gen.wgsl.tmpl -// -// To regenerate run: './tools/run gen' -// -// Do not modify this file directly -//////////////////////////////////////////////////////////////////////////////// - - -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0: array<u32>, -}; -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -// fn arrayLength(ptr<storage, array<u32>, read_write>) -> u32 -fn arrayLength_eb510f() -> u32{ - var res: u32 = arrayLength(&sb_rw.arg_0); - return res; -} -@fragment -fn fragment_main() { - prevent_dce = arrayLength_eb510f(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_eb510f(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.dxc.hlsl deleted file mode 100644 index 2eb349d..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.dxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.fxc.hlsl deleted file mode 100644 index 2eb349d..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.fxc.hlsl +++ /dev/null
@@ -1,37 +0,0 @@ -// -// fragment_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -} -// -// compute_main -// -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); - -uint arrayLength_eb510f() { - uint tint_symbol_1 = 0u; - sb_rw.GetDimensions(tint_symbol_1); - uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 4u); - uint res = tint_symbol_2; - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_eb510f())); - return; -}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl deleted file mode 100644 index 3559580..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.glsl +++ /dev/null
@@ -1,43 +0,0 @@ -// -// fragment_main -// -#version 310 es -precision highp float; -precision highp int; - -layout(binding = 0, std430) -buffer f_prevent_dce_block_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer f_SB_RW_ssbo { - uint arg_0[]; -} sb_rw; -uint arrayLength_eb510f() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -void main() { - v.inner = arrayLength_eb510f(); -} -// -// compute_main -// -#version 310 es - -layout(binding = 0, std430) -buffer prevent_dce_block_1_ssbo { - uint inner; -} v; -layout(binding = 1, std430) -buffer SB_RW_1_ssbo { - uint arg_0[]; -} sb_rw; -uint arrayLength_eb510f() { - uint res = uint(sb_rw.arg_0.length()); - return res; -} -layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; -void main() { - v.inner = arrayLength_eb510f(); -}
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl deleted file mode 100644 index 76770e8..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.dxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl deleted file mode 100644 index 76770e8..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.ir.fxc.hlsl +++ /dev/null
@@ -1,35 +0,0 @@ -// -// fragment_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -void fragment_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} - -// -// compute_main -// - -RWByteAddressBuffer prevent_dce : register(u0); -RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_eb510f() { - uint v = 0u; - sb_rw.GetDimensions(v); - uint res = (v / 4u); - return res; -} - -[numthreads(1, 1, 1)] -void compute_main() { - prevent_dce.Store(0u, arrayLength_eb510f()); -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.msl deleted file mode 100644 index 1e3c402..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.msl +++ /dev/null
@@ -1,74 +0,0 @@ -// -// fragment_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<uint, 1> arg_0; -}; - -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); - return; -} - -// -// compute_main -// -#include <metal_stdlib> - -using namespace metal; - -template<typename T, size_t N> -struct tint_array { - const constant T& operator[](size_t i) const constant { return elements[i]; } - device T& operator[](size_t i) device { return elements[i]; } - const device T& operator[](size_t i) const device { return elements[i]; } - thread T& operator[](size_t i) thread { return elements[i]; } - const thread T& operator[](size_t i) const thread { return elements[i]; } - threadgroup T& operator[](size_t i) threadgroup { return elements[i]; } - const threadgroup T& operator[](size_t i) const threadgroup { return elements[i]; } - T elements[N]; -}; - -struct TintArrayLengths { - /* 0x0000 */ tint_array<uint4, 1> array_lengths; -}; - -struct SB_RW { - tint_array<uint, 1> arg_0; -}; - -uint arrayLength_eb510f(const constant TintArrayLengths* const tint_symbol) { - uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 4u); - return res; -} - -kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_eb510f(tint_symbol_2); - return; -} -
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.spvasm deleted file mode 100644 index 9c47aef..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.spvasm +++ /dev/null
@@ -1,124 +0,0 @@ -; -; fragment_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 26 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint Fragment %fragment_main "fragment_main" - OpExecutionMode %fragment_main OriginUpperLeft - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" - OpName %res "res" - OpName %fragment_main "fragment_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_uint ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer -%_runtimearr_uint = OpTypeRuntimeArray %uint - %SB_RW = OpTypeStruct %_runtimearr_uint -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %10 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %21 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 - %11 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 - %15 = OpArrayLength %uint %sb_rw 0 - OpStore %res %15 - %18 = OpLoad %uint %res None - OpReturnValue %18 - OpFunctionEnd -%fragment_main = OpFunction %void None %21 - %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f - %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %24 %23 None - OpReturn - OpFunctionEnd -; -; compute_main -; -; SPIR-V -; Version: 1.3 -; Generator: Google Tint Compiler; 1 -; Bound: 26 -; Schema: 0 - OpCapability Shader - OpMemoryModel Logical GLSL450 - OpEntryPoint GLCompute %compute_main "compute_main" - OpExecutionMode %compute_main LocalSize 1 1 1 - OpMemberName %prevent_dce_block 0 "inner" - OpName %prevent_dce_block "prevent_dce_block" - OpMemberName %SB_RW 0 "arg_0" - OpName %SB_RW "SB_RW" - OpName %sb_rw "sb_rw" - OpName %arrayLength_eb510f "arrayLength_eb510f" - OpName %res "res" - OpName %compute_main "compute_main" - OpMemberDecorate %prevent_dce_block 0 Offset 0 - OpDecorate %prevent_dce_block Block - OpDecorate %1 DescriptorSet 0 - OpDecorate %1 Binding 0 - OpDecorate %1 Coherent - OpDecorate %_runtimearr_uint ArrayStride 4 - OpMemberDecorate %SB_RW 0 Offset 0 - OpDecorate %SB_RW Block - OpDecorate %sb_rw DescriptorSet 0 - OpDecorate %sb_rw Binding 1 - OpDecorate %sb_rw Coherent - %uint = OpTypeInt 32 0 -%prevent_dce_block = OpTypeStruct %uint -%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block - %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer -%_runtimearr_uint = OpTypeRuntimeArray %uint - %SB_RW = OpTypeStruct %_runtimearr_uint -%_ptr_StorageBuffer_SB_RW = OpTypePointer StorageBuffer %SB_RW - %sb_rw = OpVariable %_ptr_StorageBuffer_SB_RW StorageBuffer - %10 = OpTypeFunction %uint -%_ptr_StorageBuffer__runtimearr_uint = OpTypePointer StorageBuffer %_runtimearr_uint - %uint_0 = OpConstant %uint 0 -%_ptr_Function_uint = OpTypePointer Function %uint - %void = OpTypeVoid - %21 = OpTypeFunction %void -%_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_eb510f = OpFunction %uint None %10 - %11 = OpLabel - %res = OpVariable %_ptr_Function_uint Function - %12 = OpAccessChain %_ptr_StorageBuffer__runtimearr_uint %sb_rw %uint_0 - %15 = OpArrayLength %uint %sb_rw 0 - OpStore %res %15 - %18 = OpLoad %uint %res None - OpReturnValue %18 - OpFunctionEnd -%compute_main = OpFunction %void None %21 - %22 = OpLabel - %23 = OpFunctionCall %uint %arrayLength_eb510f - %24 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 - OpStore %24 %23 None - OpReturn - OpFunctionEnd
diff --git a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.wgsl deleted file mode 100644 index ec2bb62..0000000 --- a/test/tint/builtins/gen/var/arrayLength/eb510f.wgsl.expected.wgsl +++ /dev/null
@@ -1,22 +0,0 @@ -@group(0) @binding(0) var<storage, read_write> prevent_dce : u32; - -struct SB_RW { - arg_0 : array<u32>, -} - -@group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; - -fn arrayLength_eb510f() -> u32 { - var res : u32 = arrayLength(&(sb_rw.arg_0)); - return res; -} - -@fragment -fn fragment_main() { - prevent_dce = arrayLength_eb510f(); -} - -@compute @workgroup_size(1) -fn compute_main() { - prevent_dce = arrayLength_eb510f(); -}
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl similarity index 90% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl index 7f1d3b2..e425fbf 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl
@@ -1,4 +1,4 @@ -// Copyright 2022 The Dawn & Tint Authors +// Copyright 2025 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -47,17 +47,17 @@ }; @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -// fn arrayLength(ptr<storage, array<f16>, read_write>) -> u32 -fn arrayLength_cbd6b5() -> u32{ +// fn arrayLength(ptr<storage, runtime_array<f16>, read_write>) -> u32 +fn arrayLength_fd35e2() -> u32{ var res: u32 = arrayLength(&sb_rw.arg_0); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.dxc.hlsl similarity index 79% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.dxc.hlsl index bda931f..14b418e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.fxc.hlsl similarity index 79% rename from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl rename to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.fxc.hlsl index bda931f..14b418e 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -13,7 +13,7 @@ } void fragment_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; } // @@ -22,7 +22,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint tint_symbol_1 = 0u; sb_rw.GetDimensions(tint_symbol_1); uint tint_symbol_2 = ((tint_symbol_1 - 0u) / 2u); @@ -32,6 +32,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, asuint(arrayLength_cbd6b5())); + prevent_dce.Store(0u, asuint(arrayLength_fd35e2())); return; }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.glsl similarity index 85% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.glsl index c3492ac..f0c9fe4 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.glsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.glsl
@@ -14,12 +14,12 @@ buffer f_SB_RW_ssbo { float16_t arg_0[]; } sb_rw; -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint res = uint(sb_rw.arg_0.length()); return res; } void main() { - v.inner = arrayLength_cbd6b5(); + v.inner = arrayLength_fd35e2(); } // // compute_main @@ -35,11 +35,11 @@ buffer SB_RW_1_ssbo { float16_t arg_0[]; } sb_rw; -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint res = uint(sb_rw.arg_0.length()); return res; } layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void main() { - v.inner = arrayLength_cbd6b5(); + v.inner = arrayLength_fd35e2(); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl index f458ee9..0bf6037 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.dxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl index f458ee9..0bf6037 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.ir.dxc.hlsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.fxc.hlsl
@@ -4,7 +4,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -12,7 +12,7 @@ } void fragment_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); } // @@ -21,7 +21,7 @@ RWByteAddressBuffer prevent_dce : register(u0); RWByteAddressBuffer sb_rw : register(u1); -uint arrayLength_cbd6b5() { +uint arrayLength_fd35e2() { uint v = 0u; sb_rw.GetDimensions(v); uint res = (v / 2u); @@ -30,6 +30,6 @@ [numthreads(1, 1, 1)] void compute_main() { - prevent_dce.Store(0u, arrayLength_cbd6b5()); + prevent_dce.Store(0u, arrayLength_fd35e2()); }
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.msl similarity index 91% rename from test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl rename to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.msl index b892b82..3ab6ddb 100644 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.ir.msl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.ir.msl
@@ -26,14 +26,14 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) { +uint arrayLength_fd35e2(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } fragment void fragment_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cbd6b5(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_fd35e2(tint_module_vars); } // // compute_main @@ -63,12 +63,12 @@ const constant tint_array<uint4, 1>* tint_storage_buffer_sizes; }; -uint arrayLength_cbd6b5(tint_module_vars_struct tint_module_vars) { +uint arrayLength_fd35e2(tint_module_vars_struct tint_module_vars) { uint res = (((*tint_module_vars.tint_storage_buffer_sizes)[0u].x - 0u) / 2u); return res; } kernel void compute_main(device uint* prevent_dce [[buffer(0)]], device SB_RW* sb_rw [[buffer(1)]], const constant tint_array<uint4, 1>* tint_storage_buffer_sizes [[buffer(30)]]) { tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.prevent_dce=prevent_dce, .sb_rw=sb_rw, .tint_storage_buffer_sizes=tint_storage_buffer_sizes}; - (*tint_module_vars.prevent_dce) = arrayLength_cbd6b5(tint_module_vars); + (*tint_module_vars.prevent_dce) = arrayLength_fd35e2(tint_module_vars); }
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.msl similarity index 89% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.msl index 8c8026f..c3cdc02 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.msl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.msl
@@ -25,13 +25,13 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_fd35e2(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } fragment void fragment_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); + *(tint_symbol_1) = arrayLength_fd35e2(tint_symbol_2); return; } @@ -62,13 +62,13 @@ tint_array<half, 1> arg_0; }; -uint arrayLength_cbd6b5(const constant TintArrayLengths* const tint_symbol) { +uint arrayLength_fd35e2(const constant TintArrayLengths* const tint_symbol) { uint res = (((*(tint_symbol)).array_lengths[0u][0u] - 0u) / 2u); return res; } kernel void compute_main(device uint* tint_symbol_1 [[buffer(0)]], const constant TintArrayLengths* tint_symbol_2 [[buffer(30)]]) { - *(tint_symbol_1) = arrayLength_cbd6b5(tint_symbol_2); + *(tint_symbol_1) = arrayLength_fd35e2(tint_symbol_2); return; }
diff --git a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.spvasm b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.spvasm similarity index 94% rename from test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.spvasm rename to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.spvasm index 71090ca..8c214db 100644 --- a/test/tint/builtins/gen/var/arrayLength/cbd6b5.wgsl.expected.spvasm +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.spvasm
@@ -18,7 +18,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cbd6b5 "arrayLength_cbd6b5" + OpName %arrayLength_fd35e2 "arrayLength_fd35e2" OpName %res "res" OpName %fragment_main "fragment_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -48,7 +48,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cbd6b5 = OpFunction %uint None %11 +%arrayLength_fd35e2 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0 @@ -59,7 +59,7 @@ OpFunctionEnd %fragment_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cbd6b5 + %24 = OpFunctionCall %uint %arrayLength_fd35e2 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn @@ -84,7 +84,7 @@ OpMemberName %SB_RW 0 "arg_0" OpName %SB_RW "SB_RW" OpName %sb_rw "sb_rw" - OpName %arrayLength_cbd6b5 "arrayLength_cbd6b5" + OpName %arrayLength_fd35e2 "arrayLength_fd35e2" OpName %res "res" OpName %compute_main "compute_main" OpMemberDecorate %prevent_dce_block 0 Offset 0 @@ -114,7 +114,7 @@ %void = OpTypeVoid %22 = OpTypeFunction %void %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint -%arrayLength_cbd6b5 = OpFunction %uint None %11 +%arrayLength_fd35e2 = OpFunction %uint None %11 %12 = OpLabel %res = OpVariable %_ptr_Function_uint Function %13 = OpAccessChain %_ptr_StorageBuffer__runtimearr_half %sb_rw %uint_0 @@ -125,7 +125,7 @@ OpFunctionEnd %compute_main = OpFunction %void None %22 %23 = OpLabel - %24 = OpFunctionCall %uint %arrayLength_cbd6b5 + %24 = OpFunctionCall %uint %arrayLength_fd35e2 %25 = OpAccessChain %_ptr_StorageBuffer_uint %1 %uint_0 OpStore %25 %24 None OpReturn
diff --git a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.wgsl similarity index 75% copy from test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl copy to test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.wgsl index ddbce3b..a73c60c 100644 --- a/test/tint/builtins/gen/literal/arrayLength/cbd6b5.wgsl.expected.wgsl +++ b/test/tint/builtins/gen/var/arrayLength/fd35e2.wgsl.expected.wgsl
@@ -8,17 +8,17 @@ @group(0) @binding(1) var<storage, read_write> sb_rw : SB_RW; -fn arrayLength_cbd6b5() -> u32 { +fn arrayLength_fd35e2() -> u32 { var res : u32 = arrayLength(&(sb_rw.arg_0)); return res; } @fragment fn fragment_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); } @compute @workgroup_size(1) fn compute_main() { - prevent_dce = arrayLength_cbd6b5(); + prevent_dce = arrayLength_fd35e2(); }
diff --git a/tools/src/tint/intrinsic/gen/gen.go b/tools/src/tint/intrinsic/gen/gen.go index a2bf436..cef7f76 100644 --- a/tools/src/tint/intrinsic/gen/gen.go +++ b/tools/src/tint/intrinsic/gen/gen.go
@@ -518,6 +518,8 @@ return fqn.TemplateArguments[2].(sem.FullyQualifiedName) case "array": return fqn.TemplateArguments[0].(sem.FullyQualifiedName) + case "runtime_array": + return fqn.TemplateArguments[0].(sem.FullyQualifiedName) } return fqn } @@ -538,6 +540,8 @@ return DeepestElementType(fqn.TemplateArguments[2].(sem.FullyQualifiedName)) case "array": return DeepestElementType(fqn.TemplateArguments[0].(sem.FullyQualifiedName)) + case "runtime_array": + return DeepestElementType(fqn.TemplateArguments[0].(sem.FullyQualifiedName)) case "ptr": return DeepestElementType(fqn.TemplateArguments[1].(sem.FullyQualifiedName)) }
diff --git a/tools/src/tint/intrinsic/gen/permutate.go b/tools/src/tint/intrinsic/gen/permutate.go index a7a1dec..570a35d 100644 --- a/tools/src/tint/intrinsic/gen/permutate.go +++ b/tools/src/tint/intrinsic/gen/permutate.go
@@ -381,6 +381,7 @@ switch fqn.Target.GetName() { case "array": + case "runtime_array": if !isStorable(fqn.TemplateArguments[0].(sem.FullyQualifiedName)) { return false }