writer/hlsl: Swizzle depth texture intrinsics

HLSL usually implicitly casts a vector down to a scalar, but this breaks when passing the vector to RWByteAddressBuffer.Store (for DXC only).

Fixed: tint:827
Change-Id: I67d0bc6e9185de3d434a7aaeb575d83850111ec5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/55760
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton 2021-06-24 08:46:06 +00:00 committed by Tint LUCI CQ
parent 9cae45e6ca
commit c8434889d8
17 changed files with 144 additions and 117 deletions

View File

@ -1561,6 +1561,7 @@ bool GeneratorImpl::EmitTextureCall(std::ostream& pre,
return false; return false;
bool pack_mip_in_coords = false; bool pack_mip_in_coords = false;
uint32_t hlsl_ret_width = 4u;
switch (intrinsic->Type()) { switch (intrinsic->Type()) {
case sem::IntrinsicType::kTextureSample: case sem::IntrinsicType::kTextureSample:
@ -1577,9 +1578,11 @@ bool GeneratorImpl::EmitTextureCall(std::ostream& pre,
break; break;
case sem::IntrinsicType::kTextureSampleCompare: case sem::IntrinsicType::kTextureSampleCompare:
out << ".SampleCmp("; out << ".SampleCmp(";
hlsl_ret_width = 1;
break; break;
case sem::IntrinsicType::kTextureSampleCompareLevel: case sem::IntrinsicType::kTextureSampleCompareLevel:
out << ".SampleCmpLevelZero("; out << ".SampleCmpLevelZero(";
hlsl_ret_width = 1;
break; break;
case sem::IntrinsicType::kTextureLoad: case sem::IntrinsicType::kTextureLoad:
out << ".Load("; out << ".Load(";
@ -1630,28 +1633,52 @@ bool GeneratorImpl::EmitTextureCall(std::ostream& pre,
} }
} else if (pack_mip_in_coords) { } else if (pack_mip_in_coords) {
// Mip level needs to be appended to the coordinates, but is always zero. // Mip level needs to be appended to the coordinates, but is always zero.
if (!emit_vector_appended_with_i32_zero(param_coords)) if (!emit_vector_appended_with_i32_zero(param_coords)) {
return false; return false;
}
} else { } else {
if (!EmitExpression(pre, out, param_coords)) if (!EmitExpression(pre, out, param_coords)) {
return false; return false;
}
} }
for (auto usage : {Usage::kDepthRef, Usage::kBias, Usage::kLevel, Usage::kDdx, for (auto usage : {Usage::kDepthRef, Usage::kBias, Usage::kLevel, Usage::kDdx,
Usage::kDdy, Usage::kSampleIndex, Usage::kOffset}) { Usage::kDdy, Usage::kSampleIndex, Usage::kOffset}) {
if (auto* e = arg(usage)) { if (auto* e = arg(usage)) {
out << ", "; out << ", ";
if (!EmitExpression(pre, out, e)) if (!EmitExpression(pre, out, e)) {
return false; return false;
}
} }
} }
if (intrinsic->Type() == sem::IntrinsicType::kTextureStore) { if (intrinsic->Type() == sem::IntrinsicType::kTextureStore) {
out << "] = "; out << "] = ";
if (!EmitExpression(pre, out, arg(Usage::kValue))) if (!EmitExpression(pre, out, arg(Usage::kValue))) {
return false; return false;
}
} else { } else {
out << ")"; out << ")";
// If the intrinsic return type does not match the number of elements of the
// HLSL intrinsic, we need to swizzle the expression to generate the correct
// number of components.
uint32_t wgsl_ret_width = 1;
if (auto* vec = intrinsic->ReturnType()->As<sem::Vector>()) {
wgsl_ret_width = vec->size();
}
if (wgsl_ret_width < hlsl_ret_width) {
out << ".";
for (uint32_t i = 0; i < wgsl_ret_width; i++) {
out << "xyz"[i];
}
}
if (wgsl_ret_width > hlsl_ret_width) {
TINT_ICE(diagnostics_) << "WGSL return width (" << wgsl_ret_width
<< ") is wider than HLSL return width ("
<< hlsl_ret_width << ") for " << intrinsic->Type();
return false;
}
} }
return true; return true;

View File

@ -44,7 +44,7 @@ ExpectedResult expected_texture_overload(
R"(int tint_tmp; R"(int tint_tmp;
tint_symbol.GetDimensions(tint_tmp); tint_symbol.GetDimensions(tint_tmp);
)", )",
"tint_tmp", "tint_tmp;",
}; };
case ValidTextureOverload::kDimensions2d: case ValidTextureOverload::kDimensions2d:
case ValidTextureOverload::kDimensionsDepth2d: case ValidTextureOverload::kDimensionsDepth2d:
@ -54,14 +54,14 @@ ExpectedResult expected_texture_overload(
R"(int2 tint_tmp; R"(int2 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y);
)", )",
"tint_tmp", "tint_tmp;",
}; };
case ValidTextureOverload::kDimensionsMultisampled2d: case ValidTextureOverload::kDimensionsMultisampled2d:
return { return {
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensions2dArray: case ValidTextureOverload::kDimensions2dArray:
@ -72,7 +72,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensions3d: case ValidTextureOverload::kDimensions3d:
case ValidTextureOverload::kDimensionsStorageRO3d: case ValidTextureOverload::kDimensionsStorageRO3d:
@ -81,7 +81,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp", "tint_tmp;",
}; };
case ValidTextureOverload::kDimensionsCube: case ValidTextureOverload::kDimensionsCube:
case ValidTextureOverload::kDimensionsDepthCube: case ValidTextureOverload::kDimensionsDepthCube:
@ -89,7 +89,7 @@ ExpectedResult expected_texture_overload(
R"(int2 tint_tmp; R"(int2 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y);
)", )",
"tint_tmp", "tint_tmp;",
}; };
case ValidTextureOverload::kDimensionsCubeArray: case ValidTextureOverload::kDimensionsCubeArray:
case ValidTextureOverload::kDimensionsDepthCubeArray: case ValidTextureOverload::kDimensionsDepthCubeArray:
@ -97,7 +97,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensions2dLevel: case ValidTextureOverload::kDimensions2dLevel:
case ValidTextureOverload::kDimensionsDepth2dLevel: case ValidTextureOverload::kDimensionsDepth2dLevel:
@ -105,7 +105,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensions2dArrayLevel: case ValidTextureOverload::kDimensions2dArrayLevel:
case ValidTextureOverload::kDimensionsDepth2dArrayLevel: case ValidTextureOverload::kDimensionsDepth2dArrayLevel:
@ -113,14 +113,14 @@ ExpectedResult expected_texture_overload(
R"(int4 tint_tmp; R"(int4 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w); tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensions3dLevel: case ValidTextureOverload::kDimensions3dLevel:
return { return {
R"(int4 tint_tmp; R"(int4 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w); tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
)", )",
"tint_tmp.xyz", "tint_tmp.xyz;",
}; };
case ValidTextureOverload::kDimensionsCubeLevel: case ValidTextureOverload::kDimensionsCubeLevel:
case ValidTextureOverload::kDimensionsDepthCubeLevel: case ValidTextureOverload::kDimensionsDepthCubeLevel:
@ -128,7 +128,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kDimensionsCubeArrayLevel: case ValidTextureOverload::kDimensionsCubeArrayLevel:
case ValidTextureOverload::kDimensionsDepthCubeArrayLevel: case ValidTextureOverload::kDimensionsDepthCubeArrayLevel:
@ -136,7 +136,7 @@ ExpectedResult expected_texture_overload(
R"(int4 tint_tmp; R"(int4 tint_tmp;
tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w); tint_symbol.GetDimensions(1, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
)", )",
"tint_tmp.xy", "tint_tmp.xy;",
}; };
case ValidTextureOverload::kNumLayers2dArray: case ValidTextureOverload::kNumLayers2dArray:
case ValidTextureOverload::kNumLayersDepth2dArray: case ValidTextureOverload::kNumLayersDepth2dArray:
@ -147,7 +147,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.z", "tint_tmp.z;",
}; };
case ValidTextureOverload::kNumLevels2d: case ValidTextureOverload::kNumLevels2d:
case ValidTextureOverload::kNumLevelsCube: case ValidTextureOverload::kNumLevelsCube:
@ -157,7 +157,7 @@ ExpectedResult expected_texture_overload(
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(0, tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(0, tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.z", "tint_tmp.z;",
}; };
case ValidTextureOverload::kNumLevels2dArray: case ValidTextureOverload::kNumLevels2dArray:
case ValidTextureOverload::kNumLevels3d: case ValidTextureOverload::kNumLevels3d:
@ -168,165 +168,165 @@ ExpectedResult expected_texture_overload(
R"(int4 tint_tmp; R"(int4 tint_tmp;
tint_symbol.GetDimensions(0, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w); tint_symbol.GetDimensions(0, tint_tmp.x, tint_tmp.y, tint_tmp.z, tint_tmp.w);
)", )",
"tint_tmp.w", "tint_tmp.w;",
}; };
case ValidTextureOverload::kNumSamplesMultisampled2d: case ValidTextureOverload::kNumSamplesMultisampled2d:
return { return {
R"(int3 tint_tmp; R"(int3 tint_tmp;
tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z); tint_symbol.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
)", )",
"tint_tmp.z", "tint_tmp.z;",
}; };
case ValidTextureOverload::kSample1dF32: case ValidTextureOverload::kSample1dF32:
return R"(tint_symbol.Sample(tint_symbol_1, 1.0f))"; return R"(tint_symbol.Sample(tint_symbol_1, 1.0f);)";
case ValidTextureOverload::kSample2dF32: case ValidTextureOverload::kSample2dF32:
return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f)))"; return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f));)";
case ValidTextureOverload::kSample2dOffsetF32: case ValidTextureOverload::kSample2dOffsetF32:
return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4)))"; return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4));)";
case ValidTextureOverload::kSample2dArrayF32: case ValidTextureOverload::kSample2dArrayF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3))))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3)));)";
case ValidTextureOverload::kSample2dArrayOffsetF32: case ValidTextureOverload::kSample2dArrayOffsetF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5));)";
case ValidTextureOverload::kSample3dF32: case ValidTextureOverload::kSample3dF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f));)";
case ValidTextureOverload::kSample3dOffsetF32: case ValidTextureOverload::kSample3dOffsetF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), int3(4, 5, 6)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), int3(4, 5, 6));)";
case ValidTextureOverload::kSampleCubeF32: case ValidTextureOverload::kSampleCubeF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f));)";
case ValidTextureOverload::kSampleCubeArrayF32: case ValidTextureOverload::kSampleCubeArrayF32:
return R"(tint_symbol.Sample(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4))))"; return R"(tint_symbol.Sample(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)));)";
case ValidTextureOverload::kSampleDepth2dF32: case ValidTextureOverload::kSampleDepth2dF32:
return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f)))"; return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f)).x;)";
case ValidTextureOverload::kSampleDepth2dOffsetF32: case ValidTextureOverload::kSampleDepth2dOffsetF32:
return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4)))"; return R"(tint_symbol.Sample(tint_symbol_1, float2(1.0f, 2.0f), int2(3, 4)).x;)";
case ValidTextureOverload::kSampleDepth2dArrayF32: case ValidTextureOverload::kSampleDepth2dArrayF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3))))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3))).x;)";
case ValidTextureOverload::kSampleDepth2dArrayOffsetF32: case ValidTextureOverload::kSampleDepth2dArrayOffsetF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, float(3)), int2(4, 5)).x;)";
case ValidTextureOverload::kSampleDepthCubeF32: case ValidTextureOverload::kSampleDepthCubeF32:
return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)))"; return R"(tint_symbol.Sample(tint_symbol_1, float3(1.0f, 2.0f, 3.0f)).x;)";
case ValidTextureOverload::kSampleDepthCubeArrayF32: case ValidTextureOverload::kSampleDepthCubeArrayF32:
return R"(tint_symbol.Sample(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4))))"; return R"(tint_symbol.Sample(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4))).x;)";
case ValidTextureOverload::kSampleBias2dF32: case ValidTextureOverload::kSampleBias2dF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float2(1.0f, 2.0f), 3.0f);)";
case ValidTextureOverload::kSampleBias2dOffsetF32: case ValidTextureOverload::kSampleBias2dOffsetF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5));)";
case ValidTextureOverload::kSampleBias2dArrayF32: case ValidTextureOverload::kSampleBias2dArrayF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f);)";
case ValidTextureOverload::kSampleBias2dArrayOffsetF32: case ValidTextureOverload::kSampleBias2dArrayOffsetF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f, int2(5, 6)))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f, int2(5, 6));)";
case ValidTextureOverload::kSampleBias3dF32: case ValidTextureOverload::kSampleBias3dF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleBias3dOffsetF32: case ValidTextureOverload::kSampleBias3dOffsetF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f, int3(5, 6, 7)))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f, int3(5, 6, 7));)";
case ValidTextureOverload::kSampleBiasCubeF32: case ValidTextureOverload::kSampleBiasCubeF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleBiasCubeArrayF32: case ValidTextureOverload::kSampleBiasCubeArrayF32:
return R"(tint_symbol.SampleBias(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(3)), 4.0f))"; return R"(tint_symbol.SampleBias(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(3)), 4.0f);)";
case ValidTextureOverload::kSampleLevel2dF32: case ValidTextureOverload::kSampleLevel2dF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3.0f);)";
case ValidTextureOverload::kSampleLevel2dOffsetF32: case ValidTextureOverload::kSampleLevel2dOffsetF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5));)";
case ValidTextureOverload::kSampleLevel2dArrayF32: case ValidTextureOverload::kSampleLevel2dArrayF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f);)";
case ValidTextureOverload::kSampleLevel2dArrayOffsetF32: case ValidTextureOverload::kSampleLevel2dArrayOffsetF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f, int2(5, 6)))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4.0f, int2(5, 6));)";
case ValidTextureOverload::kSampleLevel3dF32: case ValidTextureOverload::kSampleLevel3dF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleLevel3dOffsetF32: case ValidTextureOverload::kSampleLevel3dOffsetF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f, int3(5, 6, 7)))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f, int3(5, 6, 7));)";
case ValidTextureOverload::kSampleLevelCubeF32: case ValidTextureOverload::kSampleLevelCubeF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleLevelCubeArrayF32: case ValidTextureOverload::kSampleLevelCubeArrayF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f);)";
case ValidTextureOverload::kSampleLevelDepth2dF32: case ValidTextureOverload::kSampleLevelDepth2dF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3).x;)";
case ValidTextureOverload::kSampleLevelDepth2dOffsetF32: case ValidTextureOverload::kSampleLevelDepth2dOffsetF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3, int2(4, 5)))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float2(1.0f, 2.0f), 3, int2(4, 5)).x;)";
case ValidTextureOverload::kSampleLevelDepth2dArrayF32: case ValidTextureOverload::kSampleLevelDepth2dArrayF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4).x;)";
case ValidTextureOverload::kSampleLevelDepth2dArrayOffsetF32: case ValidTextureOverload::kSampleLevelDepth2dArrayOffsetF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4, int2(5, 6)))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, float(3)), 4, int2(5, 6)).x;)";
case ValidTextureOverload::kSampleLevelDepthCubeF32: case ValidTextureOverload::kSampleLevelDepthCubeF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4).x;)";
case ValidTextureOverload::kSampleLevelDepthCubeArrayF32: case ValidTextureOverload::kSampleLevelDepthCubeArrayF32:
return R"(tint_symbol.SampleLevel(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5))"; return R"(tint_symbol.SampleLevel(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5).x;)";
case ValidTextureOverload::kSampleGrad2dF32: case ValidTextureOverload::kSampleGrad2dF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f));)";
case ValidTextureOverload::kSampleGrad2dOffsetF32: case ValidTextureOverload::kSampleGrad2dOffsetF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f), int2(7, 8)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float2(1.0f, 2.0f), float2(3.0f, 4.0f), float2(5.0f, 6.0f), int2(7, 8));)";
case ValidTextureOverload::kSampleGrad2dArrayF32: case ValidTextureOverload::kSampleGrad2dArrayF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, float(3)), float2(4.0f, 5.0f), float2(6.0f, 7.0f)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, float(3)), float2(4.0f, 5.0f), float2(6.0f, 7.0f));)";
case ValidTextureOverload::kSampleGrad2dArrayOffsetF32: case ValidTextureOverload::kSampleGrad2dArrayOffsetF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, float(3)), float2(4.0f, 5.0f), float2(6.0f, 7.0f), int2(8, 9)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, float(3)), float2(4.0f, 5.0f), float2(6.0f, 7.0f), int2(8, 9));)";
case ValidTextureOverload::kSampleGrad3dF32: case ValidTextureOverload::kSampleGrad3dF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));)";
case ValidTextureOverload::kSampleGrad3dOffsetF32: case ValidTextureOverload::kSampleGrad3dOffsetF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f), int3(10, 11, 12)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f), int3(10, 11, 12));)";
case ValidTextureOverload::kSampleGradCubeF32: case ValidTextureOverload::kSampleGradCubeF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), float3(4.0f, 5.0f, 6.0f), float3(7.0f, 8.0f, 9.0f));)";
case ValidTextureOverload::kSampleGradCubeArrayF32: case ValidTextureOverload::kSampleGradCubeArrayF32:
return R"(tint_symbol.SampleGrad(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), float3(5.0f, 6.0f, 7.0f), float3(8.0f, 9.0f, 10.0f)))"; return R"(tint_symbol.SampleGrad(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), float3(5.0f, 6.0f, 7.0f), float3(8.0f, 9.0f, 10.0f));)";
case ValidTextureOverload::kSampleCompareDepth2dF32: case ValidTextureOverload::kSampleCompareDepth2dF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f);)";
case ValidTextureOverload::kSampleCompareDepth2dOffsetF32: case ValidTextureOverload::kSampleCompareDepth2dOffsetF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5));)";
case ValidTextureOverload::kSampleCompareDepth2dArrayF32: case ValidTextureOverload::kSampleCompareDepth2dArrayF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f);)";
case ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32: case ValidTextureOverload::kSampleCompareDepth2dArrayOffsetF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6)))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6));)";
case ValidTextureOverload::kSampleCompareDepthCubeF32: case ValidTextureOverload::kSampleCompareDepthCubeF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleCompareDepthCubeArrayF32: case ValidTextureOverload::kSampleCompareDepthCubeArrayF32:
return R"(tint_symbol.SampleCmp(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))"; return R"(tint_symbol.SampleCmp(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f);)";
case ValidTextureOverload::kSampleCompareLevelDepth2dF32: case ValidTextureOverload::kSampleCompareLevelDepth2dF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f);)";
case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32: case ValidTextureOverload::kSampleCompareLevelDepth2dOffsetF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5)))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float2(1.0f, 2.0f), 3.0f, int2(4, 5));)";
case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32: case ValidTextureOverload::kSampleCompareLevelDepth2dArrayF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f);)";
case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32: case ValidTextureOverload::kSampleCompareLevelDepth2dArrayOffsetF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6)))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, float(4)), 3.0f, int2(5, 6));)";
case ValidTextureOverload::kSampleCompareLevelDepthCubeF32: case ValidTextureOverload::kSampleCompareLevelDepthCubeF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float3(1.0f, 2.0f, 3.0f), 4.0f);)";
case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32: case ValidTextureOverload::kSampleCompareLevelDepthCubeArrayF32:
return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f))"; return R"(tint_symbol.SampleCmpLevelZero(tint_symbol_1, float4(1.0f, 2.0f, 3.0f, float(4)), 5.0f);)";
case ValidTextureOverload::kLoad1dLevelF32: case ValidTextureOverload::kLoad1dLevelF32:
return R"(tint_symbol.Load(int2(1, 0), 3))"; return R"(tint_symbol.Load(int2(1, 0), 3);)";
case ValidTextureOverload::kLoad1dLevelU32: case ValidTextureOverload::kLoad1dLevelU32:
return R"(tint_symbol.Load(int2(1, 0), 3))"; return R"(tint_symbol.Load(int2(1, 0), 3);)";
case ValidTextureOverload::kLoad1dLevelI32: case ValidTextureOverload::kLoad1dLevelI32:
return R"(tint_symbol.Load(int2(1, 0), 3))"; return R"(tint_symbol.Load(int2(1, 0), 3);)";
case ValidTextureOverload::kLoad2dLevelF32: case ValidTextureOverload::kLoad2dLevelF32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoad2dLevelU32: case ValidTextureOverload::kLoad2dLevelU32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoad2dLevelI32: case ValidTextureOverload::kLoad2dLevelI32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoad2dArrayLevelF32: case ValidTextureOverload::kLoad2dArrayLevelF32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoad2dArrayLevelU32: case ValidTextureOverload::kLoad2dArrayLevelU32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoad2dArrayLevelI32: case ValidTextureOverload::kLoad2dArrayLevelI32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoad3dLevelF32: case ValidTextureOverload::kLoad3dLevelF32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoad3dLevelU32: case ValidTextureOverload::kLoad3dLevelU32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoad3dLevelI32: case ValidTextureOverload::kLoad3dLevelI32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4);)";
case ValidTextureOverload::kLoadMultisampled2dF32: case ValidTextureOverload::kLoadMultisampled2dF32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoadMultisampled2dU32: case ValidTextureOverload::kLoadMultisampled2dU32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoadMultisampled2dI32: case ValidTextureOverload::kLoadMultisampled2dI32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3);)";
case ValidTextureOverload::kLoadDepth2dLevelF32: case ValidTextureOverload::kLoadDepth2dLevelF32:
return R"(tint_symbol.Load(int3(1, 2, 0), 3))"; return R"(tint_symbol.Load(int3(1, 2, 0), 3).x;)";
case ValidTextureOverload::kLoadDepth2dArrayLevelF32: case ValidTextureOverload::kLoadDepth2dArrayLevelF32:
return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0), 4).x;)";
case ValidTextureOverload::kLoadStorageRO1dRgba32float: case ValidTextureOverload::kLoadStorageRO1dRgba32float:
return R"(tint_symbol.Load(int2(1, 0)))"; return R"(tint_symbol.Load(int2(1, 0));)";
case ValidTextureOverload::kLoadStorageRO2dRgba8unorm: case ValidTextureOverload::kLoadStorageRO2dRgba8unorm:
case ValidTextureOverload::kLoadStorageRO2dRgba8snorm: case ValidTextureOverload::kLoadStorageRO2dRgba8snorm:
case ValidTextureOverload::kLoadStorageRO2dRgba8uint: case ValidTextureOverload::kLoadStorageRO2dRgba8uint:
@ -343,19 +343,19 @@ ExpectedResult expected_texture_overload(
case ValidTextureOverload::kLoadStorageRO2dRgba32uint: case ValidTextureOverload::kLoadStorageRO2dRgba32uint:
case ValidTextureOverload::kLoadStorageRO2dRgba32sint: case ValidTextureOverload::kLoadStorageRO2dRgba32sint:
case ValidTextureOverload::kLoadStorageRO2dRgba32float: case ValidTextureOverload::kLoadStorageRO2dRgba32float:
return R"(tint_symbol.Load(int3(1, 2, 0)))"; return R"(tint_symbol.Load(int3(1, 2, 0));)";
case ValidTextureOverload::kLoadStorageRO2dArrayRgba32float: case ValidTextureOverload::kLoadStorageRO2dArrayRgba32float:
return R"(tint_symbol.Load(int4(1, 2, 3, 0)))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0));)";
case ValidTextureOverload::kLoadStorageRO3dRgba32float: case ValidTextureOverload::kLoadStorageRO3dRgba32float:
return R"(tint_symbol.Load(int4(1, 2, 3, 0)))"; return R"(tint_symbol.Load(int4(1, 2, 3, 0));)";
case ValidTextureOverload::kStoreWO1dRgba32float: case ValidTextureOverload::kStoreWO1dRgba32float:
return R"(tint_symbol[1] = float4(2.0f, 3.0f, 4.0f, 5.0f))"; return R"(tint_symbol[1] = float4(2.0f, 3.0f, 4.0f, 5.0f);)";
case ValidTextureOverload::kStoreWO2dRgba32float: case ValidTextureOverload::kStoreWO2dRgba32float:
return R"(tint_symbol[int2(1, 2)] = float4(3.0f, 4.0f, 5.0f, 6.0f))"; return R"(tint_symbol[int2(1, 2)] = float4(3.0f, 4.0f, 5.0f, 6.0f);)";
case ValidTextureOverload::kStoreWO2dArrayRgba32float: case ValidTextureOverload::kStoreWO2dArrayRgba32float:
return R"(tint_symbol[int3(1, 2, 3)] = float4(4.0f, 5.0f, 6.0f, 7.0f))"; return R"(tint_symbol[int3(1, 2, 3)] = float4(4.0f, 5.0f, 6.0f, 7.0f);)";
case ValidTextureOverload::kStoreWO3dRgba32float: case ValidTextureOverload::kStoreWO3dRgba32float:
return R"(tint_symbol[int3(1, 2, 3)] = float4(4.0f, 5.0f, 6.0f, 7.0f))"; return R"(tint_symbol[int3(1, 2, 3)] = float4(4.0f, 5.0f, 6.0f, 7.0f);)";
} }
return "<unmatched texture overload>"; return "<unmatched texture overload>";
} // NOLINT - Ignore the length of this function } // NOLINT - Ignore the length of this function

View File

@ -9,6 +9,6 @@ struct tint_symbol_1 {
[numthreads(1, 1, 1)] [numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) { void main(tint_symbol_1 tint_symbol) {
const uint3 GlobalInvocationId = tint_symbol.GlobalInvocationId; const uint3 GlobalInvocationId = tint_symbol.GlobalInvocationId;
result.Store((4u * ((GlobalInvocationId.y * width) + GlobalInvocationId.x)), asuint(tex.Load(int3(int(GlobalInvocationId.x), int(GlobalInvocationId.y), 0), 0))); result.Store((4u * ((GlobalInvocationId.y * width) + GlobalInvocationId.x)), asuint(tex.Load(int3(int(GlobalInvocationId.x), int(GlobalInvocationId.y), 0), 0).x));
return; return;
} }

View File

@ -1,7 +1,7 @@
Texture2D arg_0 : register(t0, space1); Texture2D arg_0 : register(t0, space1);
void textureLoad_19cf87() { void textureLoad_19cf87() {
float res = arg_0.Load(int3(0, 0, 0), 1); float res = arg_0.Load(int3(0, 0, 0), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -1,7 +1,7 @@
Texture2DArray arg_0 : register(t0, space1); Texture2DArray arg_0 : register(t0, space1);
void textureLoad_9b2667() { void textureLoad_9b2667() {
float res = arg_0.Load(int4(0, 0, 1, 0), 1); float res = arg_0.Load(int4(0, 0, 1, 0), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_38bbb9() { void textureSample_38bbb9() {
float res = arg_0.Sample(arg_1, float2(0.0f, 0.0f)); float res = arg_0.Sample(arg_1, float2(0.0f, 0.0f)).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_667d76() { void textureSample_667d76() {
float res = arg_0.Sample(arg_1, float2(0.0f, 0.0f), int2(0, 0)); float res = arg_0.Sample(arg_1, float2(0.0f, 0.0f), int2(0, 0)).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_7e9ffd() { void textureSample_7e9ffd() {
float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, float(1))); float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, float(1))).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_8522e7() { void textureSample_8522e7() {
float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, float(1)), int2(0, 0)); float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, float(1)), int2(0, 0)).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ TextureCubeArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_c2f4e8() { void textureSample_c2f4e8() {
float res = arg_0.Sample(arg_1, float4(0.0f, 0.0f, 0.0f, float(1))); float res = arg_0.Sample(arg_1, float4(0.0f, 0.0f, 0.0f, float(1))).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ TextureCube arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSample_ea7030() { void textureSample_ea7030() {
float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, 0.0f)); float res = arg_0.Sample(arg_1, float3(0.0f, 0.0f, 0.0f)).x;
} }
void fragment_main() { void fragment_main() {

View File

@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_02be59() { void textureSampleLevel_02be59() {
float res = arg_0.SampleLevel(arg_1, float2(0.0f, 0.0f), 1); float res = arg_0.SampleLevel(arg_1, float2(0.0f, 0.0f), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ TextureCube arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_1b0291() { void textureSampleLevel_1b0291() {
float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, 0.0f), 1); float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, 0.0f), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_1bf73e() { void textureSampleLevel_1bf73e() {
float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, float(1)), 1); float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, float(1)), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ Texture2D arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_47daa4() { void textureSampleLevel_47daa4() {
float res = arg_0.SampleLevel(arg_1, float2(0.0f, 0.0f), 1, int2(0, 0)); float res = arg_0.SampleLevel(arg_1, float2(0.0f, 0.0f), 1, int2(0, 0)).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ TextureCubeArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_ae5e39() { void textureSampleLevel_ae5e39() {
float res = arg_0.SampleLevel(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)), 1); float res = arg_0.SampleLevel(arg_1, float4(0.0f, 0.0f, 0.0f, float(1)), 1).x;
} }
struct tint_symbol { struct tint_symbol {

View File

@ -2,7 +2,7 @@ Texture2DArray arg_0 : register(t0, space1);
SamplerState arg_1 : register(s1, space1); SamplerState arg_1 : register(s1, space1);
void textureSampleLevel_ba93b3() { void textureSampleLevel_ba93b3() {
float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, float(1)), 1, int2(0, 0)); float res = arg_0.SampleLevel(arg_1, float3(0.0f, 0.0f, float(1)), 1, int2(0, 0)).x;
} }
struct tint_symbol { struct tint_symbol {