[tint] Always clamp sample index for textureLoad Even APIs that provide texture robustness produce undefined values when the sample index is OOB, so unconditionally clamp it. Fixed: 574212789 Change-Id: I3956bc778b404707a8f37b2325e5fd3dc412db45 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/351495 SLSA-Policy-Verified: SLSA Policy Verification Service <devtools-gerritcodereview-exitgate@google.com> Reviewed-by: Alan Baker <alanbaker@google.com> Commit-Queue: Alan Baker <alanbaker@google.com>
diff --git a/src/tint/lang/core/ir/transform/robustness.cc b/src/tint/lang/core/ir/transform/robustness.cc index fe13bbc..0984ccf 100644 --- a/src/tint/lang/core/ir/transform/robustness.cc +++ b/src/tint/lang/core/ir/transform/robustness.cc
@@ -104,11 +104,9 @@ }, [&](ir::CoreBuiltinCall* call) { // Check if this is a texture builtin that needs to be clamped. - if (config.clamp_texture) { - if (call->Func() == core::BuiltinFn::kTextureDimensions || - call->Func() == core::BuiltinFn::kTextureLoad) { - texture_calls.Push(call); - } + if (call->Func() == core::BuiltinFn::kTextureDimensions || + call->Func() == core::BuiltinFn::kTextureLoad) { + texture_calls.Push(call); } // Check if this is a subgroup matrix builtin that needs to be clamped. if (call->Func() == core::BuiltinFn::kSubgroupMatrixLoad || @@ -400,7 +398,7 @@ // Select which arguments to clamp based on the function overload. switch (call->Func()) { case core::BuiltinFn::kTextureDimensions: { - if (args.size() > 1) { + if (config.clamp_texture && args.size() > 1) { clamp_level(1u); } break; @@ -408,16 +406,26 @@ case core::BuiltinFn::kTextureLoad: { uint32_t next_arg = 2u; if (core::type::IsTextureArray(texture->Dim())) { - clamp_array_index(next_arg++); + if (config.clamp_texture) { + clamp_array_index(next_arg); + } + next_arg++; } if (texture->IsAnyOf<core::type::SampledTexture, core::type::DepthTexture>()) { - clamp_level(next_arg++); + if (config.clamp_texture) { + clamp_level(next_arg); + } + next_arg++; } if (texture->IsAnyOf<core::type::MultisampledTexture, core::type::DepthMultisampledTexture>()) { + // Always clamp the sample index, even when `clamp_texture` is false, as + // underlying APIs do not guarantee robustness for out-of-bounds sample indices. clamp_sample_index(next_arg++); } - clamp_coords(1u); // Must run after clamp_level + if (config.clamp_texture) { + clamp_coords(1u); // Must run after clamp_level + } break; } default:
diff --git a/src/tint/lang/core/ir/transform/robustness.h b/src/tint/lang/core/ir/transform/robustness.h index c065c7a..35cc04e 100644 --- a/src/tint/lang/core/ir/transform/robustness.h +++ b/src/tint/lang/core/ir/transform/robustness.h
@@ -44,6 +44,8 @@ /// Configuration options that control when to clamp accesses. struct RobustnessConfig { /// Should texture accesses be clamped? + /// Note that the `sample_index` parameter of `textureLoad` will still be clamped if clamping is + /// disabled. bool clamp_texture = true; /// Should accesses to pointers with the 'immediate' address space be clamped?
diff --git a/src/tint/lang/core/ir/transform/robustness_test.cc b/src/tint/lang/core/ir/transform/robustness_test.cc index 992bd97..cf19829 100644 --- a/src/tint/lang/core/ir/transform/robustness_test.cc +++ b/src/tint/lang/core/ir/transform/robustness_test.cc
@@ -2371,11 +2371,39 @@ } )"; + auto* expect_sample_index_only = R"( +$B1: { # root + %texture:ptr<handle, texture_multisampled_2d<f32>, read> = var @binding_point(0, 0) +} + +%load_signed = func(%coords:vec2<i32>, %level:i32):vec4<f32> { + $B2: { + %5:texture_multisampled_2d<f32> = load %texture + %6:u32 = textureNumSamples %5 + %7:u32 = sub %6, 1u + %8:u32 = convert %level + %9:u32 = min %8, %7 + %10:vec4<f32> = textureLoad %5, %coords, %9 + ret %10 + } +} +%load_unsigned = func(%coords_1:vec2<u32>, %level_1:u32):vec4<f32> { # %coords_1: 'coords', %level_1: 'level' + $B3: { + %14:texture_multisampled_2d<f32> = load %texture + %15:u32 = textureNumSamples %14 + %16:u32 = sub %15, 1u + %17:u32 = min %level_1, %16 + %18:vec4<f32> = textureLoad %14, %coords_1, %17 + ret %18 + } +} +)"; + RobustnessConfig cfg; cfg.clamp_texture = GetParam().enabled; Run(Robustness, cfg); - EXPECT_EQ(GetParam().enabled ? expect : src, str()); + EXPECT_EQ(GetParam().enabled ? expect : expect_sample_index_only, str()); } TEST_P(IR_BindingVariableRobustnessTest, TextureLoad_Depth2D) { @@ -2665,11 +2693,39 @@ } )"; + auto* expect_sample_index_only = R"( +$B1: { # root + %texture:ptr<handle, texture_depth_multisampled_2d, read> = var @binding_point(0, 0) +} + +%load_signed = func(%coords:vec2<i32>, %index:i32):f32 { + $B2: { + %5:texture_depth_multisampled_2d = load %texture + %6:u32 = textureNumSamples %5 + %7:u32 = sub %6, 1u + %8:u32 = convert %index + %9:u32 = min %8, %7 + %10:f32 = textureLoad %5, %coords, %9 + ret %10 + } +} +%load_unsigned = func(%coords_1:vec2<u32>, %index_1:u32):f32 { # %coords_1: 'coords', %index_1: 'index' + $B3: { + %14:texture_depth_multisampled_2d = load %texture + %15:u32 = textureNumSamples %14 + %16:u32 = sub %15, 1u + %17:u32 = min %index_1, %16 + %18:f32 = textureLoad %14, %coords_1, %17 + ret %18 + } +} +)"; + RobustnessConfig cfg; cfg.clamp_texture = GetParam().enabled; Run(Robustness, cfg); - EXPECT_EQ(GetParam().enabled ? expect : src, str()); + EXPECT_EQ(GetParam().enabled ? expect : expect_sample_index_only, str()); } TEST_P(IR_BindingVariableRobustnessTest, TextureLoad_External) {
diff --git a/src/tint/lang/hlsl/writer/builtin_test.cc b/src/tint/lang/hlsl/writer/builtin_test.cc index 1df3008..b1cf5ff 100644 --- a/src/tint/lang/hlsl/writer/builtin_test.cc +++ b/src/tint/lang/hlsl/writer/builtin_test.cc
@@ -1464,6 +1464,66 @@ )"); } +TEST_F(HlslWriterTest, BuiltinTextureLoad_Multisampled2DI32_WithRobustness) { + auto* t = + b.Var(ty.ptr(handle, ty.multisampled_texture(core::type::TextureDimension::k2d, ty.i32()))); + t->SetBindingPoint(0, 0); + b.ir.root_block->Append(t); + + auto* func = b.Function("main", ty.void_(), core::ir::Function::PipelineStage::kFragment); + b.Append(func->Block(), [&] { + auto* coords = b.Composite(ty.vec2i(), 1_i, 2_i); + auto* sample_idx = b.Value(3_i); + b.Let("x", b.Call<vec4<i32>>(core::BuiltinFn::kTextureLoad, b.Load(t), coords, sample_idx)); + b.Return(func); + }); + + Options opts; + opts.entry_point_name = "main"; + opts.disable_robustness = false; + auto result = Generate(opts); + ASSERT_EQ(result, Success) << result.Failure().reason << output_.hlsl; + EXPECT_EQ(output_.hlsl, R"( +Texture2DMS<int4> v : register(t0); +void main() { + uint3 v_1 = (0u).xxx; + v.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 x = v.Load(int2(int(1), int(2)), int(min(3u, (v_1.z - 1u)))); +} + +)"); +} + +TEST_F(HlslWriterTest, BuiltinTextureLoad_DepthMultisampledF32_WithRobustness) { + auto* t = + b.Var(ty.ptr(handle, ty.depth_multisampled_texture(core::type::TextureDimension::k2d))); + t->SetBindingPoint(0, 0); + b.ir.root_block->Append(t); + + auto* func = b.Function("main", ty.void_(), core::ir::Function::PipelineStage::kFragment); + b.Append(func->Block(), [&] { + auto* coords = b.Composite(ty.vec2i(), 1_i, 2_i); + auto* sample_idx = b.Value(3_u); + b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureLoad, b.Load(t), coords, sample_idx)); + b.Return(func); + }); + + Options opts; + opts.entry_point_name = "main"; + opts.disable_robustness = false; + auto result = Generate(opts); + ASSERT_EQ(result, Success) << result.Failure().reason << output_.hlsl; + EXPECT_EQ(output_.hlsl, R"( +Texture2DMS<float4> v : register(t0); +void main() { + uint3 v_1 = (0u).xxx; + v.GetDimensions(v_1.x, v_1.y, v_1.z); + float x = v.Load(int2(int(1), int(2)), int(min(3u, (v_1.z - 1u)))).x; +} + +)"); +} + TEST_F(HlslWriterTest, BuiltinTextureStore1D) { auto* t = b.Var( ty.ptr(handle, ty.storage_texture(core::type::TextureDimension::k1d,
diff --git a/src/tint/lang/hlsl/writer/raise/raise.cc b/src/tint/lang/hlsl/writer/raise/raise.cc index 4648fad..661de7b 100644 --- a/src/tint/lang/hlsl/writer/raise/raise.cc +++ b/src/tint/lang/hlsl/writer/raise/raise.cc
@@ -197,6 +197,8 @@ // Direct3D guarantees to return zero for any resource that is accessed out of bounds, and // according to the description of the assembly store_uav_typed, out of bounds addressing // means nothing gets written to memory. + // Note that the sample_index parameter of multisampled textureLoad will still be clamped by + // the Robustness transform, as Direct3D leaves out-of-bounds sample indices undefined. config.clamp_texture = false; config.use_integer_range_analysis = !options.disable_integer_range_analysis;
diff --git a/src/tint/lang/spirv/writer/texture_builtin_test.cc b/src/tint/lang/spirv/writer/texture_builtin_test.cc index 921e16c..a1bbbe3 100644 --- a/src/tint/lang/spirv/writer/texture_builtin_test.cc +++ b/src/tint/lang/spirv/writer/texture_builtin_test.cc
@@ -1367,7 +1367,10 @@ {{"coords", 2, kI32}, {"sample_idx", 1, kI32}}, {"result", 4, kF32}, { - "OpImageFetch %v4float %t %coords Sample %sample_idx", + "%10 = OpImageQuerySamples %uint %t", + "%12 = OpISub %uint %10 %uint_1", + "%14 = OpExtInst %uint %15 UMin %uint_2 %12", + "%result = OpImageFetch %v4float %t %coords Sample %14", }, }, TextureBuiltinTestCase{ @@ -1400,8 +1403,11 @@ {{"coords", 2, kI32}, {"sample_idx", 1, kI32}}, {"result", 1, kF32}, { - "OpImageFetch %v4float %t %coords Sample %sample_idx", - "%result = OpCompositeExtract %float", + "%9 = OpImageQuerySamples %uint %t", + "%11 = OpISub %uint %9 %uint_1", + "%13 = OpExtInst %uint %14 UMin %uint_2 %11", + "%16 = OpImageFetch %v4float %t %coords Sample %13", + "%result = OpCompositeExtract %float %16 0", }, },
diff --git a/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl index 53407e6..32ee404 100644 --- a/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl +++ b/test/tint/bug/tint/1976.wgsl.expected.dxc.hlsl
@@ -3,6 +3,8 @@ RWByteAddressBuffer results : register(u2); [numthreads(1, 1, 1)] void main() { - results.Store(0u, asuint(texture0.Load((int(0)).xx, int(0)).x)); + uint3 v = (0u).xxx; + texture0.GetDimensions(v.x, v.y, v.z); + results.Store(0u, asuint(texture0.Load((int(0)).xx, int(min(0u, (v.z - 1u)))).x)); }
diff --git a/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl b/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl index 53407e6..32ee404 100644 --- a/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl +++ b/test/tint/bug/tint/1976.wgsl.expected.fxc.hlsl
@@ -3,6 +3,8 @@ RWByteAddressBuffer results : register(u2); [numthreads(1, 1, 1)] void main() { - results.Store(0u, asuint(texture0.Load((int(0)).xx, int(0)).x)); + uint3 v = (0u).xxx; + texture0.GetDimensions(v.x, v.y, v.z); + results.Store(0u, asuint(texture0.Load((int(0)).xx, int(min(0u, (v.z - 1u)))).x)); }
diff --git a/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.dxc.hlsl index 5cb678a..ba34118 100644 --- a/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_03171c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_03171c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/03171c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.fxc.hlsl index 5cb678a..ba34118 100644 --- a/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/03171c.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_03171c() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_03171c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_03171c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/0b524e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.dxc.hlsl index 8d7477d..58ed94e 100644 --- a/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_0b524e(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_0b524e(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/0b524e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.fxc.hlsl index 8d7477d..58ed94e 100644 --- a/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/0b524e.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_0b524e() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_0b524e(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_0b524e(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/162821.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.dxc.hlsl index 2a45b0d..7df8380 100644 --- a/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_162821(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_162821(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/162821.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.fxc.hlsl index 2a45b0d..7df8380 100644 --- a/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/162821.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_162821() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_162821(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_162821(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/17ff6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.dxc.hlsl index eaed26a..8cef844 100644 --- a/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_17ff6c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_17ff6c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/17ff6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.fxc.hlsl index eaed26a..8cef844 100644 --- a/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/17ff6c.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_17ff6c() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_17ff6c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_17ff6c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/2e09aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.dxc.hlsl index bf6af67..1b5e4c3 100644 --- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_2e09aa(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_2e09aa(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/2e09aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.fxc.hlsl index bf6af67..1b5e4c3 100644 --- a/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/2e09aa.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_2e09aa() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_2e09aa(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_2e09aa(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/301d55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.dxc.hlsl index 860c5a0..ebdff75 100644 --- a/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_301d55(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_301d55(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/301d55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.fxc.hlsl index 860c5a0..ebdff75 100644 --- a/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/301d55.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_301d55() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_301d55(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_301d55(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/378f51.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.dxc.hlsl index 54eb855..bd90b28 100644 --- a/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_378f51(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_378f51(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/378f51.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.fxc.hlsl index 54eb855..bd90b28 100644 --- a/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/378f51.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_378f51() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_378f51(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_378f51(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/38f8ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl index 7d4209e..5dc6819 100644 --- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_38f8ab(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_38f8ab(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/38f8ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl index 7d4209e..5dc6819 100644 --- a/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/38f8ab.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_38f8ab() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_38f8ab(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_38f8ab(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/49f76f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.dxc.hlsl index 90c676a..1c35263 100644 --- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_49f76f(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_49f76f(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/49f76f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.fxc.hlsl index 90c676a..1c35263 100644 --- a/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/49f76f.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_49f76f() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_49f76f(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_49f76f(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/4db25c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.dxc.hlsl index fa0c6c6..6748306 100644 --- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_4db25c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_4db25c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/4db25c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.fxc.hlsl index fa0c6c6..6748306 100644 --- a/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/4db25c.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_4db25c() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_4db25c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_4db25c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6273b1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.dxc.hlsl index d2e2ca4..332c264 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6273b1(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6273b1(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6273b1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.fxc.hlsl index d2e2ca4..332c264 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6273b1.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6273b1() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6273b1(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6273b1(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/639962.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.dxc.hlsl index 763b046..ccb96ef 100644 --- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_639962(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_639962(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/639962.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.fxc.hlsl index 763b046..ccb96ef 100644 --- a/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/639962.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_639962() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_639962(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_639962(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6477ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.dxc.hlsl index b94b75d..4b72aac 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6477ba(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6477ba(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6477ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.fxc.hlsl index b94b75d..4b72aac 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6477ba.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_6477ba() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6477ba(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6477ba(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6925bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.dxc.hlsl index 96e0851..50550d8 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6925bc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6925bc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/6925bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.fxc.hlsl index 96e0851..50550d8 100644 --- a/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/6925bc.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_6925bc() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6925bc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_6925bc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/77f9cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.dxc.hlsl index c071bb0..850103b 100644 --- a/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_77f9cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_77f9cc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/77f9cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.fxc.hlsl index c071bb0..850103b 100644 --- a/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/77f9cc.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_77f9cc() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_77f9cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_77f9cc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/7bee94.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.dxc.hlsl index 92021ea..37f6301 100644 --- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_7bee94(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_7bee94(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/7bee94.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.fxc.hlsl index 92021ea..37f6301 100644 --- a/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/7bee94.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_7bee94() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_7bee94(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_7bee94(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/8449ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.dxc.hlsl index 5eef81f..41bf1e7 100644 --- a/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_8449ec(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_8449ec(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/8449ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.fxc.hlsl index 5eef81f..41bf1e7 100644 --- a/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/8449ec.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_8449ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_8449ec(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_8449ec(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/856602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.dxc.hlsl index ae1eb82..1648ad6 100644 --- a/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_856602(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_856602(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/856602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.fxc.hlsl index ae1eb82..1648ad6 100644 --- a/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/856602.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_856602() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_856602(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_856602(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/87162c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.dxc.hlsl index db0248e..39a7473 100644 --- a/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_87162c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_87162c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/87162c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.fxc.hlsl index db0248e..39a7473 100644 --- a/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/87162c.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_87162c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_87162c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_87162c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/948f58.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.dxc.hlsl index 9c17325..5c452fa 100644 --- a/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_948f58(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_948f58(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/948f58.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.fxc.hlsl index 9c17325..5c452fa 100644 --- a/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/948f58.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_948f58() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_948f58(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_948f58(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/98aa29.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.dxc.hlsl index 5b675cd..7232d1b 100644 --- a/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_98aa29(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_98aa29(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/98aa29.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.fxc.hlsl index 5b675cd..7232d1b 100644 --- a/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/98aa29.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_98aa29() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_98aa29(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_98aa29(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/9d104c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.dxc.hlsl index e5270fc..9307f21 100644 --- a/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_9d104c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_9d104c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/9d104c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.fxc.hlsl index e5270fc..9307f21 100644 --- a/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/9d104c.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_9d104c() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_9d104c(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_9d104c(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/a583c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl index 2fd0f9f..54e1bfe 100644 --- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a583c9(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_a583c9(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/a583c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl index 2fd0f9f..54e1bfe 100644 --- a/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/a583c9.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_a583c9() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a583c9(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_a583c9(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl index 1120e1f..6d30079 100644 --- a/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a6ef6a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_a6ef6a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl index 1120e1f..6d30079 100644 --- a/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_a6ef6a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a6ef6a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_a6ef6a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/b75d4a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl index 5e07e11..487ecc4 100644 --- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_b75d4a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_b75d4a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/b75d4a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl index 5e07e11..487ecc4 100644 --- a/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/b75d4a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_b75d4a() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_b75d4a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_b75d4a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bc4795.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.dxc.hlsl index 6406977..e13a850 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bc4795(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bc4795(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bc4795.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.fxc.hlsl index 6406977..e13a850 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bc4795.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bc4795() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bc4795(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bc4795(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bec8ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.dxc.hlsl index 31d22b0..2994ce0 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bec8ec(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bec8ec(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bec8ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.fxc.hlsl index 31d22b0..2994ce0 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bec8ec.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_bec8ec() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bec8ec(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bec8ec(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bed119.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.dxc.hlsl index ee32bf7..913af7f 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bed119(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bed119(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/bed119.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.fxc.hlsl index ee32bf7..913af7f 100644 --- a/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/bed119.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_bed119() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_bed119(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_bed119(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c378ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl index 4d0ac8b..b7818601 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c378ee(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c378ee(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c378ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl index 4d0ac8b..b7818601 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c378ee.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c378ee() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c378ee(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c378ee(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c4854a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.dxc.hlsl index 1b46543..6e800b1 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c4854a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c4854a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c4854a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.fxc.hlsl index 1b46543..6e800b1 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c4854a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_c4854a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c4854a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c4854a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c87030.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.dxc.hlsl index 31c4e62..a549a68 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c87030(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c87030(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/c87030.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.fxc.hlsl index 31c4e62..a549a68 100644 --- a/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/c87030.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<uint4> arg_0 : register(t0, space1); uint4 textureLoad_c87030() { - uint4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c87030(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_c87030(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/cad5f2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl index 5ba88d0..7535cf2 100644 --- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_cad5f2(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_cad5f2(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/cad5f2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl index 5ba88d0..7535cf2 100644 --- a/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/cad5f2.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_cad5f2() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_cad5f2(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_cad5f2(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl index 1d2f1b3..c50e496 100644 --- a/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_dd4f2a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_dd4f2a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl index 1d2f1b3..c50e496 100644 --- a/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<float4> arg_0 : register(t0, space1); float4 textureLoad_dd4f2a() { - float4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + float4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_dd4f2a(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_dd4f2a(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl index f96abdf..3fbaede 100644 --- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_e3d2cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_e3d2cc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl index f96abdf..3fbaede 100644 --- a/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<int4> arg_0 : register(t0, space1); int4 textureLoad_e3d2cc() { - int4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + int4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_e3d2cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_e3d2cc(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/eceba4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.dxc.hlsl index 43d94a7..64fe4ce 100644 --- a/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_eceba4(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_eceba4(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/eceba4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.fxc.hlsl index 43d94a7..64fe4ce 100644 --- a/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/eceba4.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_eceba4() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_eceba4(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_eceba4(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/f0abad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.dxc.hlsl index d2bfbe7..1f5a848 100644 --- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_f0abad(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_f0abad(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/f0abad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.fxc.hlsl index d2bfbe7..1f5a848 100644 --- a/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/f0abad.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float4 textureLoad_f0abad() { - float4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_f0abad(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_f0abad(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/f7136f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.dxc.hlsl index a1f2a3f..41e7c63 100644 --- a/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_f7136f(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_f7136f(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/f7136f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.fxc.hlsl index a1f2a3f..41e7c63 100644 --- a/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/f7136f.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_f7136f() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_f7136f(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_f7136f(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fcd23d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.dxc.hlsl index 12c558d..7504748 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fcd23d(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fcd23d(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fcd23d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.fxc.hlsl index 12c558d..7504748 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fcd23d.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } @@ -45,21 +49,23 @@ Texture2DMS<float4> arg_0 : register(t0, space1); float textureLoad_fcd23d() { - float res = arg_0.Load((int(1)).xx, int(1)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + float res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fcd23d(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fcd23d(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fe0565.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.dxc.hlsl index a1a043a..f2c59ea 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fe0565(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fe0565(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fe0565.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.fxc.hlsl index a1a043a..f2c59ea 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fe0565.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMS<uint4> arg_0 : register(t0, space1); uint4 textureLoad_fe0565() { - uint4 res = arg_0.Load((int(1)).xx, int(1)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint4 res = arg_0.Load((int(1)).xx, int(min(1u, (v.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fe0565(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fe0565(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fef2ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.dxc.hlsl index cc43fff..c2ebbb9 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.dxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fef2ed(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fef2ed(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/fef2ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.fxc.hlsl index cc43fff..c2ebbb9 100644 --- a/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/literal/textureLoad/fef2ed.wgsl.expected.fxc.hlsl
@@ -5,7 +5,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -20,7 +22,9 @@ RWByteAddressBuffer prevent_dce : register(u0); Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } @@ -45,21 +49,23 @@ Texture2DMSArray<int4> arg_0 : register(t0, space1); int4 textureLoad_fef2ed() { - int4 res = arg_0.Load((int(1)).xxx, int(1)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + int4 res = arg_0.Load((int(1)).xxx, int(min(1u, (v.w - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_fef2ed(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_1 = (VertexOutput)0; + v_1.pos = (0.0f).xxxx; + v_1.prevent_dce = textureLoad_fef2ed(); + VertexOutput v_2 = v_1; + return v_2; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + 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/textureLoad/03171c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.dxc.hlsl index bc281cf..e7f28e6 100644 --- a/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.dxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_03171c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_03171c(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.fxc.hlsl index bc281cf..e7f28e6 100644 --- a/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/03171c.wgsl.expected.fxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - float4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_03171c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_03171c(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.dxc.hlsl index 175abb2..b822817 100644 --- a/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.dxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_0b524e(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_0b524e(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.fxc.hlsl index 175abb2..b822817 100644 --- a/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/0b524e.wgsl.expected.fxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - float4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + float4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_0b524e(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_0b524e(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.dxc.hlsl index 7289a96..fa64830 100644 --- a/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.dxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_162821(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_162821(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.fxc.hlsl index 7289a96..fa64830 100644 --- a/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/162821.wgsl.expected.fxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - uint4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_162821(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_162821(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.dxc.hlsl index 8ed1ffe..3f32304 100644 --- a/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_17ff6c(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_17ff6c(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.fxc.hlsl index 8ed1ffe..3f32304 100644 --- a/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/17ff6c.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_17ff6c(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_17ff6c(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.dxc.hlsl index 6e35163..2d7e9f3 100644 --- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.dxc.hlsl
@@ -7,9 +7,11 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_2e09aa(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_2e09aa(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.fxc.hlsl index 6e35163..2d7e9f3 100644 --- a/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/2e09aa.wgsl.expected.fxc.hlsl
@@ -7,9 +7,11 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ float4 textureLoad_2e09aa() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_2e09aa(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_2e09aa(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.dxc.hlsl index 9d3e5c8..c2ad08e 100644 --- a/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.dxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_301d55(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_301d55(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.fxc.hlsl index 9d3e5c8..c2ad08e 100644 --- a/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/301d55.wgsl.expected.fxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - uint4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + uint4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_301d55(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_301d55(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.dxc.hlsl index ae7bb03..87ee1bd 100644 --- a/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.dxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_378f51(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_378f51(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.fxc.hlsl index ae7bb03..87ee1bd 100644 --- a/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/378f51.wgsl.expected.fxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - float4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + float4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_378f51(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_378f51(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.dxc.hlsl index 9f8a7e8..2441b14 100644 --- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.dxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_38f8ab(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_38f8ab(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.fxc.hlsl index 9f8a7e8..2441b14 100644 --- a/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/38f8ab.wgsl.expected.fxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - int4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + int4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_38f8ab(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_38f8ab(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.dxc.hlsl index a6b9d5a..98c6f66 100644 --- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.dxc.hlsl
@@ -7,9 +7,11 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_49f76f(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_49f76f(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.fxc.hlsl index a6b9d5a..98c6f66 100644 --- a/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/49f76f.wgsl.expected.fxc.hlsl
@@ -7,9 +7,11 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ uint4 textureLoad_49f76f() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - uint4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_49f76f(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_49f76f(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.dxc.hlsl index 955e7f8..5527c79 100644 --- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.dxc.hlsl
@@ -7,9 +7,11 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } @@ -26,9 +28,11 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } @@ -55,23 +59,25 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_4db25c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_4db25c(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.fxc.hlsl index 955e7f8..5527c79 100644 --- a/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/4db25c.wgsl.expected.fxc.hlsl
@@ -7,9 +7,11 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } @@ -26,9 +28,11 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } @@ -55,23 +59,25 @@ float textureLoad_4db25c() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - float res = arg_0.Load(v_1, int(v)).x; + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + float res = arg_0.Load(v_2, int(v_1)).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_4db25c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_4db25c(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.dxc.hlsl index d5c3e47..3bd5a88 100644 --- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.dxc.hlsl
@@ -7,7 +7,11 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } @@ -24,7 +28,11 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } @@ -51,21 +59,25 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6273b1(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_6273b1(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.fxc.hlsl index d5c3e47..3bd5a88 100644 --- a/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6273b1.wgsl.expected.fxc.hlsl
@@ -7,7 +7,11 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } @@ -24,7 +28,11 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } @@ -51,21 +59,25 @@ float textureLoad_6273b1() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float res = arg_0.Load(arg_1, arg_2).x; + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float res = arg_0.Load(v, int(min(uint(arg_2), v_2))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_6273b1(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_6273b1(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.dxc.hlsl index 3673bd8..aba7adc 100644 --- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.dxc.hlsl
@@ -7,9 +7,11 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_639962(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_639962(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.fxc.hlsl index 3673bd8..aba7adc 100644 --- a/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/639962.wgsl.expected.fxc.hlsl
@@ -7,9 +7,11 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -26,9 +28,11 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -55,23 +59,25 @@ int4 textureLoad_639962() { uint2 arg_1 = (1u).xx; uint arg_2 = 1u; - uint v = arg_2; - int2 v_1 = int2(arg_1); - int4 res = arg_0.Load(v_1, int(v)); + uint3 v = (0u).xxx; + arg_0.GetDimensions(v.x, v.y, v.z); + uint v_1 = min(arg_2, (v.z - 1u)); + int2 v_2 = int2(arg_1); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_639962(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_639962(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.dxc.hlsl index 9dc1ec7..2b9e7ec 100644 --- a/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.dxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_6477ba(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_6477ba(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.fxc.hlsl index 9dc1ec7..2b9e7ec 100644 --- a/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6477ba.wgsl.expected.fxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_6477ba(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_6477ba(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.dxc.hlsl index 72e518d..f100bb9 100644 --- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.dxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_6925bc(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_6925bc(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.fxc.hlsl index 72e518d..f100bb9 100644 --- a/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/6925bc.wgsl.expected.fxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float res = arg_0.Load(v, int(arg_2)).x; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_6925bc(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_6925bc(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.dxc.hlsl index 6e5f711..059d3d8 100644 --- a/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.dxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_77f9cc(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_77f9cc(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.fxc.hlsl index 6e5f711..059d3d8 100644 --- a/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/77f9cc.wgsl.expected.fxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - int4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + int4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_77f9cc(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_77f9cc(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.dxc.hlsl index d162af3..f4cc26c 100644 --- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.dxc.hlsl
@@ -7,8 +7,13 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_7bee94(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_7bee94(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.fxc.hlsl index d162af3..f4cc26c 100644 --- a/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/7bee94.wgsl.expected.fxc.hlsl
@@ -7,8 +7,13 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ int4 textureLoad_7bee94() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - int4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + int4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_7bee94(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_7bee94(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.dxc.hlsl index 7ad82d3..c8430dc 100644 --- a/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.dxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_8449ec(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_8449ec(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.fxc.hlsl index 7ad82d3..c8430dc 100644 --- a/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/8449ec.wgsl.expected.fxc.hlsl
@@ -8,10 +8,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -29,10 +34,15 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } @@ -60,24 +70,29 @@ uint2 arg_1 = (1u).xx; uint arg_2 = 1u; int arg_3 = int(1); - uint v = arg_2; - int v_1 = arg_3; - int2 v_2 = int2(arg_1); - int4 res = arg_0.Load(int3(v_2, int(v)), v_1); + uint2 v = arg_1; + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int2 v_5 = int2(v); + int3 v_6 = int3(v_5, int(v_1)); + int4 res = arg_0.Load(v_6, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_8449ec(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_7 = (VertexOutput)0; + v_7.pos = (0.0f).xxxx; + v_7.prevent_dce = textureLoad_8449ec(); + VertexOutput v_8 = v_7; + return v_8; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_9 = vertex_main_inner(); + vertex_main_outputs v_10 = {v_9.prevent_dce, v_9.pos}; + return v_10; }
diff --git a/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.dxc.hlsl index 98cd4d6..23b4e7a 100644 --- a/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.dxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_856602(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_856602(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.fxc.hlsl index 98cd4d6..23b4e7a 100644 --- a/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/856602.wgsl.expected.fxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_856602(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_856602(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.dxc.hlsl index 4926162..c8e8eff 100644 --- a/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.dxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_87162c(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_87162c(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.fxc.hlsl index 4926162..c8e8eff 100644 --- a/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/87162c.wgsl.expected.fxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - uint4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + uint4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_87162c(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_87162c(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.dxc.hlsl index 2b4676b..eb6a9cc 100644 --- a/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_948f58(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_948f58(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.fxc.hlsl index 2b4676b..eb6a9cc 100644 --- a/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/948f58.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_948f58(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_948f58(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.dxc.hlsl index 17148e6..af9f488 100644 --- a/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.dxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_98aa29(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_98aa29(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.fxc.hlsl index 17148e6..af9f488 100644 --- a/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/98aa29.wgsl.expected.fxc.hlsl
@@ -8,9 +8,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -28,9 +30,11 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } @@ -58,23 +62,25 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); uint arg_3 = 1u; - uint v = arg_3; - int3 v_1 = int3(arg_1, arg_2); - uint4 res = arg_0.Load(v_1, int(v)); + uint4 v = (0u).xxxx; + arg_0.GetDimensions(v.x, v.y, v.z, v.w); + uint v_1 = min(arg_3, (v.w - 1u)); + int3 v_2 = int3(arg_1, arg_2); + uint4 res = arg_0.Load(v_2, int(v_1)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_98aa29(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_98aa29(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.dxc.hlsl index 9755481..20c35af 100644 --- a/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.dxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_9d104c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_9d104c(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.fxc.hlsl index 9755481..20c35af 100644 --- a/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/9d104c.wgsl.expected.fxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - uint4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + uint4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_9d104c(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_9d104c(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.dxc.hlsl index deb0808..fe7c8a5 100644 --- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.dxc.hlsl
@@ -7,7 +7,11 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a583c9(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_a583c9(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.fxc.hlsl index deb0808..fe7c8a5 100644 --- a/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/a583c9.wgsl.expected.fxc.hlsl
@@ -7,7 +7,11 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ float4 textureLoad_a583c9() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - float4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + float4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_a583c9(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_a583c9(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl index a71af54..c1573e7 100644 --- a/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_a6ef6a(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_a6ef6a(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl index a71af54..c1573e7 100644 --- a/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/a6ef6a.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_a6ef6a(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_a6ef6a(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.dxc.hlsl index a032069..9751230 100644 --- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.dxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_b75d4a(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_b75d4a(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.fxc.hlsl index a032069..9751230 100644 --- a/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/b75d4a.wgsl.expected.fxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - float4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + float4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_b75d4a(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_b75d4a(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.dxc.hlsl index 1cf1265..d422d5e 100644 --- a/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_bc4795(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_bc4795(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.fxc.hlsl index 1cf1265..d422d5e 100644 --- a/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bc4795.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - float4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + float4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_bc4795(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_bc4795(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.dxc.hlsl index 8229b90..bcea283 100644 --- a/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_bec8ec(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_bec8ec(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.fxc.hlsl index 8229b90..bcea283 100644 --- a/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bec8ec.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ uint arg_2 = 1u; uint arg_3 = 1u; int2 v = arg_1; - uint v_1 = arg_3; - int3 v_2 = int3(v, int(arg_2)); - int4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(v, int(arg_2)); + int4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_bec8ec(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_bec8ec(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.dxc.hlsl index c5e86da..b350192 100644 --- a/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.dxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_bed119(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_bed119(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.fxc.hlsl index c5e86da..b350192 100644 --- a/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/bed119.wgsl.expected.fxc.hlsl
@@ -9,8 +9,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -29,8 +34,13 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -59,22 +69,27 @@ uint arg_2 = 1u; int arg_3 = int(1); int2 v = arg_1; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(v, int(arg_2)), v_1); + uint v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, int(v_1)); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_bed119(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_bed119(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.dxc.hlsl index 6a115e9..4a3ea25 100644 --- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.dxc.hlsl
@@ -7,7 +7,11 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c378ee(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_c378ee(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.fxc.hlsl index 6a115e9..4a3ea25 100644 --- a/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c378ee.wgsl.expected.fxc.hlsl
@@ -7,7 +7,11 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ uint4 textureLoad_c378ee() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - uint4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_c378ee(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_c378ee(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.dxc.hlsl index 7ceeba0..2a25ced 100644 --- a/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.dxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_c4854a(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_c4854a(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.fxc.hlsl index 7ceeba0..2a25ced 100644 --- a/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c4854a.wgsl.expected.fxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - float4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_c4854a(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_c4854a(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.dxc.hlsl index 46962a7..bf58505 100644 --- a/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.dxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_c87030(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_c87030(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.fxc.hlsl index 46962a7..bf58505 100644 --- a/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/c87030.wgsl.expected.fxc.hlsl
@@ -9,9 +9,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -30,9 +32,11 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } @@ -61,23 +65,25 @@ int arg_2 = int(1); uint arg_3 = 1u; int v = arg_2; - uint v_1 = arg_3; - int3 v_2 = int3(int2(arg_1), v); - uint4 res = arg_0.Load(v_2, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int3 v_3 = int3(int2(arg_1), v); + uint4 res = arg_0.Load(v_3, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_3 = (VertexOutput)0; - v_3.pos = (0.0f).xxxx; - v_3.prevent_dce = textureLoad_c87030(); - VertexOutput v_4 = v_3; - return v_4; + VertexOutput v_4 = (VertexOutput)0; + v_4.pos = (0.0f).xxxx; + v_4.prevent_dce = textureLoad_c87030(); + VertexOutput v_5 = v_4; + return v_5; } vertex_main_outputs vertex_main() { - VertexOutput v_5 = vertex_main_inner(); - vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; - return v_6; + VertexOutput v_6 = vertex_main_inner(); + vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; + return v_7; }
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.dxc.hlsl index 52a9cb6..e3f24d4 100644 --- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.dxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_cad5f2(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_cad5f2(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.fxc.hlsl index 52a9cb6..e3f24d4 100644 --- a/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/cad5f2.wgsl.expected.fxc.hlsl
@@ -8,7 +8,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -26,7 +28,9 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } @@ -54,21 +58,23 @@ int2 arg_1 = (int(1)).xx; uint arg_2 = 1u; int2 v = arg_1; - uint4 res = arg_0.Load(v, int(arg_2)); + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint4 res = arg_0.Load(v, int(min(arg_2, (v_1.z - 1u)))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_cad5f2(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_2 = (VertexOutput)0; + v_2.pos = (0.0f).xxxx; + v_2.prevent_dce = textureLoad_cad5f2(); + VertexOutput v_3 = v_2; + return v_3; } 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; + VertexOutput v_4 = vertex_main_inner(); + vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; + return v_5; }
diff --git a/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl index e3dc4d9..4580391 100644 --- a/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.dxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_dd4f2a(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_dd4f2a(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl index e3dc4d9..4580391 100644 --- a/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/dd4f2a.wgsl.expected.fxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - float4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + float4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_dd4f2a(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_dd4f2a(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl index e9320b0..d2ac4a7 100644 --- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.dxc.hlsl
@@ -7,7 +7,11 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_e3d2cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_e3d2cc(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl index e9320b0..d2ac4a7 100644 --- a/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/e3d2cc.wgsl.expected.fxc.hlsl
@@ -7,7 +7,11 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -24,7 +28,11 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } @@ -51,21 +59,25 @@ int4 textureLoad_e3d2cc() { int2 arg_1 = (int(1)).xx; int arg_2 = int(1); - int4 res = arg_0.Load(arg_1, arg_2); + int2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + int4 res = arg_0.Load(v, int(min(uint(arg_2), v_2))); return res; } VertexOutput vertex_main_inner() { - VertexOutput v = (VertexOutput)0; - v.pos = (0.0f).xxxx; - v.prevent_dce = textureLoad_e3d2cc(); - VertexOutput v_1 = v; - return v_1; + VertexOutput v_3 = (VertexOutput)0; + v_3.pos = (0.0f).xxxx; + v_3.prevent_dce = textureLoad_e3d2cc(); + VertexOutput v_4 = v_3; + return v_4; } vertex_main_outputs vertex_main() { - VertexOutput v_2 = vertex_main_inner(); - vertex_main_outputs v_3 = {v_2.prevent_dce, v_2.pos}; - return v_3; + VertexOutput v_5 = vertex_main_inner(); + vertex_main_outputs v_6 = {v_5.prevent_dce, v_5.pos}; + return v_6; }
diff --git a/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.dxc.hlsl index 11f1921..f00ee07 100644 --- a/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.dxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_eceba4(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_eceba4(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.fxc.hlsl index 11f1921..f00ee07 100644 --- a/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/eceba4.wgsl.expected.fxc.hlsl
@@ -8,8 +8,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -27,8 +33,14 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -56,22 +68,28 @@ int2 arg_1 = (int(1)).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_3; - int4 res = arg_0.Load(int3(arg_1, arg_2), v); + int2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(v, v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_eceba4(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_eceba4(); + VertexOutput v_7 = v_6; + return v_7; } 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; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.dxc.hlsl index 9b0a991..b4cb0cc 100644 --- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.dxc.hlsl
@@ -7,8 +7,13 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_f0abad(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_f0abad(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.fxc.hlsl index 9b0a991..b4cb0cc 100644 --- a/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/f0abad.wgsl.expected.fxc.hlsl
@@ -7,8 +7,13 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ float4 textureLoad_f0abad() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_f0abad(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_f0abad(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.dxc.hlsl index bdbbd1a..8788a8d 100644 --- a/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.dxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_f7136f(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_f7136f(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.fxc.hlsl index bdbbd1a..8788a8d 100644 --- a/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/f7136f.wgsl.expected.fxc.hlsl
@@ -8,9 +8,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -28,9 +33,14 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } @@ -58,23 +68,28 @@ uint2 arg_1 = (1u).xx; int arg_2 = int(1); int arg_3 = int(1); - int v = arg_2; - int v_1 = arg_3; - int4 res = arg_0.Load(int3(int2(arg_1), v), v_1); + uint2 v = arg_1; + int v_1 = arg_2; + uint4 v_2 = (0u).xxxx; + arg_0.GetDimensions(v_2.x, v_2.y, v_2.z, v_2.w); + uint v_3 = (v_2.w - 1u); + uint v_4 = min(uint(arg_3), v_3); + int3 v_5 = int3(int2(v), v_1); + int4 res = arg_0.Load(v_5, int(v_4)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_2 = (VertexOutput)0; - v_2.pos = (0.0f).xxxx; - v_2.prevent_dce = textureLoad_f7136f(); - VertexOutput v_3 = v_2; - return v_3; + VertexOutput v_6 = (VertexOutput)0; + v_6.pos = (0.0f).xxxx; + v_6.prevent_dce = textureLoad_f7136f(); + VertexOutput v_7 = v_6; + return v_7; } vertex_main_outputs vertex_main() { - VertexOutput v_4 = vertex_main_inner(); - vertex_main_outputs v_5 = {v_4.prevent_dce, v_4.pos}; - return v_5; + VertexOutput v_8 = vertex_main_inner(); + vertex_main_outputs v_9 = {v_8.prevent_dce, v_8.pos}; + return v_9; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.dxc.hlsl index d3820f2..377a391 100644 --- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.dxc.hlsl
@@ -7,8 +7,13 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } @@ -25,8 +30,13 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } @@ -53,22 +63,27 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_fcd23d(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fcd23d(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.fxc.hlsl index d3820f2..377a391 100644 --- a/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fcd23d.wgsl.expected.fxc.hlsl
@@ -7,8 +7,13 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } @@ -25,8 +30,13 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } @@ -53,22 +63,27 @@ float textureLoad_fcd23d() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - float res = arg_0.Load(int2(arg_1), v).x; + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + float res = arg_0.Load(v_4, int(v_3)).x; return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_fcd23d(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fcd23d(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.dxc.hlsl index 25258ea..2ea820f 100644 --- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.dxc.hlsl
@@ -7,8 +7,13 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_fe0565(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fe0565(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.fxc.hlsl index 25258ea..2ea820f 100644 --- a/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fe0565.wgsl.expected.fxc.hlsl
@@ -7,8 +7,13 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -25,8 +30,13 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } @@ -53,22 +63,27 @@ uint4 textureLoad_fe0565() { uint2 arg_1 = (1u).xx; int arg_2 = int(1); - int v = arg_2; - uint4 res = arg_0.Load(int2(arg_1), v); + uint2 v = arg_1; + uint3 v_1 = (0u).xxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z); + uint v_2 = (v_1.z - 1u); + uint v_3 = min(uint(arg_2), v_2); + int2 v_4 = int2(v); + uint4 res = arg_0.Load(v_4, int(v_3)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_1 = (VertexOutput)0; - v_1.pos = (0.0f).xxxx; - v_1.prevent_dce = textureLoad_fe0565(); - VertexOutput v_2 = v_1; - return v_2; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fe0565(); + VertexOutput v_6 = v_5; + return v_6; } 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; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.dxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.dxc.hlsl index 88734bf..7a48ca2 100644 --- a/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.dxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.dxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_fef2ed(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fef2ed(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }
diff --git a/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.fxc.hlsl b/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.fxc.hlsl index 88734bf..7a48ca2 100644 --- a/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.fxc.hlsl +++ b/test/tint/builtins/gen/var/textureLoad/fef2ed.wgsl.expected.fxc.hlsl
@@ -9,10 +9,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -31,10 +33,12 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } @@ -63,24 +67,26 @@ uint arg_2 = 1u; uint arg_3 = 1u; uint v = arg_2; - uint v_1 = arg_3; - int2 v_2 = int2(arg_1); - int3 v_3 = int3(v_2, int(v)); - int4 res = arg_0.Load(v_3, int(v_1)); + uint4 v_1 = (0u).xxxx; + arg_0.GetDimensions(v_1.x, v_1.y, v_1.z, v_1.w); + uint v_2 = min(arg_3, (v_1.w - 1u)); + int2 v_3 = int2(arg_1); + int3 v_4 = int3(v_3, int(v)); + int4 res = arg_0.Load(v_4, int(v_2)); return res; } VertexOutput vertex_main_inner() { - VertexOutput v_4 = (VertexOutput)0; - v_4.pos = (0.0f).xxxx; - v_4.prevent_dce = textureLoad_fef2ed(); - VertexOutput v_5 = v_4; - return v_5; + VertexOutput v_5 = (VertexOutput)0; + v_5.pos = (0.0f).xxxx; + v_5.prevent_dce = textureLoad_fef2ed(); + VertexOutput v_6 = v_5; + return v_6; } vertex_main_outputs vertex_main() { - VertexOutput v_6 = vertex_main_inner(); - vertex_main_outputs v_7 = {v_6.prevent_dce, v_6.pos}; - return v_7; + VertexOutput v_7 = vertex_main_inner(); + vertex_main_outputs v_8 = {v_7.prevent_dce, v_7.pos}; + return v_8; }