HLSL-IR: Fix texture Sample and SampleLevel return type on depth textures

HLSL's texture Sample and SampleLevel functions return a vector, and we
must swizzle the first component when sampling a depth texture.

Fixes 6 failing e2e tests.

Bug: 372746408
Change-Id: I9b4e63395386e7db54abfe640f24a85e95a0f803
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/210535
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
diff --git a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
index 98eaa44..fe17bd9 100644
--- a/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
+++ b/test/tint/builtins/gen/literal/textureSampleLevel/1bf73e.wgsl.expected.ir.fxc.hlsl
@@ -14,7 +14,7 @@
 SamplerState arg_1 : register(s1, space1);
 float textureSampleLevel_1bf73e() {
   float3 v = float3((1.0f).xx, float(int(1)));
-  float res = arg_0.SampleLevel(arg_1, v, float(int(1)));
+  float res = arg_0.SampleLevel(arg_1, v, float(int(1))).x;
   return res;
 }