[glsl][ir] Polyfill `textureSample`
This Cl replaces the WGSL `textureSample` call with the needed
GLSL polyfill.
Bug: 42251044
Change-Id: I98da5080ee727e5344eb78eaf648a039a41c0ba1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/209454
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/glsl/builtin_fn.cc b/src/tint/lang/glsl/builtin_fn.cc
index 78ba9e0..779e729 100644
--- a/src/tint/lang/glsl/builtin_fn.cc
+++ b/src/tint/lang/glsl/builtin_fn.cc
@@ -86,6 +86,12 @@
return "modf";
case BuiltinFn::kFrexp:
return "frexp";
+ case BuiltinFn::kTexture:
+ return "texture";
+ case BuiltinFn::kTextureOffset:
+ return "textureOffset";
+ case BuiltinFn::kTextureGradOffset:
+ return "textureGradOffset";
case BuiltinFn::kTextureGather:
return "textureGather";
case BuiltinFn::kTextureGatherOffset:
diff --git a/src/tint/lang/glsl/builtin_fn.h b/src/tint/lang/glsl/builtin_fn.h
index aa81503..00654a2 100644
--- a/src/tint/lang/glsl/builtin_fn.h
+++ b/src/tint/lang/glsl/builtin_fn.h
@@ -69,6 +69,9 @@
kMix,
kModf,
kFrexp,
+ kTexture,
+ kTextureOffset,
+ kTextureGradOffset,
kTextureGather,
kTextureGatherOffset,
kTextureSize,
diff --git a/src/tint/lang/glsl/glsl.def b/src/tint/lang/glsl/glsl.def
index c8cbaab..a93fee4 100644
--- a/src/tint/lang/glsl/glsl.def
+++ b/src/tint/lang/glsl/glsl.def
@@ -58,7 +58,6 @@
type array<T>
-type texture_1d<T>
type texture_2d<T>
type texture_2d_array<T>
type texture_3d<T>
@@ -187,6 +186,48 @@
@must_use @const implicit(N: num, T: f32_f16) fn frexp(value: vec<N, T>,
exp : ptr<function, vec<N, i32>, read_write>) -> vec<N, T>
+fn texture(texture: texture_2d<f32>, coords: vec2<f32>) -> vec4<f32>
+fn texture(texture: texture_2d_array<f32>, coords: vec3<f32>) -> vec4<f32>
+fn texture(texture: texture_3d<f32>, coords: vec3<f32>) -> vec4<f32>
+fn texture(texture: texture_cube<f32>, coords: vec3<f32>) -> vec4<f32>
+fn texture(texture: texture_cube_array<f32>, coords: vec4<f32>) -> vec4<f32>
+fn texture(texture: texture_depth_2d, coords: vec3<f32>) -> f32
+fn texture(texture: texture_depth_2d_array, coords: vec4<f32>) -> f32
+fn texture(texture: texture_depth_cube, coords: vec4<f32>) -> f32
+fn texture(texture: texture_depth_cube_array, coords: vec4<f32>, compare_value: f32) -> f32
+
+fn textureOffset(texture: texture_2d<f32>, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32>
+fn textureOffset(texture: texture_2d_array<f32>, coords: vec3<f32>, offset: vec2<i32>) -> vec4<f32>
+fn textureOffset(texture: texture_3d<f32>, coords: vec3<f32>, offset: vec3<i32>) -> vec4<f32>
+fn textureOffset(texture: texture_depth_2d, coords: vec3<f32>, offset: vec2<i32>) -> f32
+fn textureOffset(texture: texture_depth_2d_array, coords: vec4<f32>, offset: vec2<i32>) -> f32
+
+fn textureGradOffset(texture: texture_2d<f32>,
+ coords: vec2<f32>,
+ ddx: vec2<f32>,
+ ddy: vec2<f32>,
+ offset: vec2<i32>) -> vec4<f32>
+fn textureGradOffset(texture: texture_2d_array<f32>,
+ coords: vec3<f32>,
+ ddx: vec2<f32>,
+ ddy: vec2<f32>,
+ offset: vec2<i32>) -> vec4<f32>
+fn textureGradOffset(texture: texture_3d<f32>,
+ coords: vec3<f32>,
+ ddx: vec3<f32>,
+ ddy: vec3<f32>,
+ offset: vec3<i32>) -> vec4<f32>
+fn textureGradOffset(texture: texture_depth_2d,
+ coords: vec3<f32>,
+ ddx: vec2<f32>,
+ ddy: vec2<f32>,
+ offset: vec2<i32>) -> f32
+fn textureGradOffset(texture: texture_depth_2d_array,
+ coords: vec4<f32>,
+ ddx: vec2<f32>,
+ ddy: vec2<f32>,
+ offset: vec2<i32>) -> f32
+
@must_use implicit(T: fiu32) fn textureGather(
texture: texture_2d<T>,
coords: vec2<f32>,
@@ -241,8 +282,6 @@
refz: f32,
offset: vec2<i32>) -> vec4<f32>
-@must_use implicit(T: fiu32) fn textureSize(texture: texture_1d<T>,
- level: i32) -> i32
@must_use implicit(T: fiu32) fn textureSize(texture: texture_2d<T>,
level: i32) -> vec2<i32>
@must_use implicit(T: fiu32) fn textureSize(texture: texture_2d_array<T>,
@@ -274,7 +313,6 @@
@must_use implicit(F: texel_format, A: access) fn imageSize(
texture: texture_storage_3d<F, A>) -> vec3<i32>
-implicit(T: fiu32) fn texelFetch(texture: texture_1d<T>, location: i32, level: i32) -> vec4<T>
implicit(T: fiu32) fn texelFetch(texture: texture_2d<T>, location: vec2<i32>, level: i32) -> vec4<T>
implicit(T: fiu32) fn texelFetch(texture: texture_2d_array<T>, location: vec3<i32>, level: i32) -> vec4<T>
implicit(T: fiu32) fn texelFetch(texture: texture_multisampled_2d<T>,
diff --git a/src/tint/lang/glsl/intrinsic/data.cc b/src/tint/lang/glsl/intrinsic/data.cc
index 366834c..e26b3de 100644
--- a/src/tint/lang/glsl/intrinsic/data.cc
+++ b/src/tint/lang/glsl/intrinsic/data.cc
@@ -302,26 +302,6 @@
};
-/// TypeMatcher for 'type texture_1d'
-constexpr TypeMatcher kTexture1DMatcher {
-/* match */ [](MatchState& state, const Type* ty) -> const Type* {
- const Type* T = nullptr;
- if (!MatchTexture1D(state, ty, T)) {
- return nullptr;
- }
- T = state.Type(T);
- if (T == nullptr) {
- return nullptr;
- }
- return BuildTexture1D(state, ty, T);
- },
-/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
- state->PrintType(T);
- out << style::Type("texture_1d", "<", T, ">");
- }
-};
-
-
/// TypeMatcher for 'type texture_2d'
constexpr TypeMatcher kTexture2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
@@ -930,29 +910,28 @@
/* [11] */ kVec4Matcher,
/* [12] */ kVecMatcher,
/* [13] */ kArrayMatcher,
- /* [14] */ kTexture1DMatcher,
- /* [15] */ kTexture2DMatcher,
- /* [16] */ kTexture2DArrayMatcher,
- /* [17] */ kTexture3DMatcher,
- /* [18] */ kTextureCubeMatcher,
- /* [19] */ kTextureCubeArrayMatcher,
- /* [20] */ kTextureMultisampled2DMatcher,
- /* [21] */ kTextureDepth2DMatcher,
- /* [22] */ kTextureDepth2DArrayMatcher,
- /* [23] */ kTextureDepthCubeMatcher,
- /* [24] */ kTextureDepthCubeArrayMatcher,
- /* [25] */ kTextureDepthMultisampled2DMatcher,
- /* [26] */ kTextureStorage1DMatcher,
- /* [27] */ kTextureStorage2DMatcher,
- /* [28] */ kTextureStorage2DArrayMatcher,
- /* [29] */ kTextureStorage3DMatcher,
- /* [30] */ kScalarMatcher,
- /* [31] */ kIu32Matcher,
- /* [32] */ kFiu32Matcher,
- /* [33] */ kFi32F16Matcher,
- /* [34] */ kFiu32F16Matcher,
- /* [35] */ kFiu32F16BoolMatcher,
- /* [36] */ kF32F16Matcher,
+ /* [14] */ kTexture2DMatcher,
+ /* [15] */ kTexture2DArrayMatcher,
+ /* [16] */ kTexture3DMatcher,
+ /* [17] */ kTextureCubeMatcher,
+ /* [18] */ kTextureCubeArrayMatcher,
+ /* [19] */ kTextureMultisampled2DMatcher,
+ /* [20] */ kTextureDepth2DMatcher,
+ /* [21] */ kTextureDepth2DArrayMatcher,
+ /* [22] */ kTextureDepthCubeMatcher,
+ /* [23] */ kTextureDepthCubeArrayMatcher,
+ /* [24] */ kTextureDepthMultisampled2DMatcher,
+ /* [25] */ kTextureStorage1DMatcher,
+ /* [26] */ kTextureStorage2DMatcher,
+ /* [27] */ kTextureStorage2DArrayMatcher,
+ /* [28] */ kTextureStorage3DMatcher,
+ /* [29] */ kScalarMatcher,
+ /* [30] */ kIu32Matcher,
+ /* [31] */ kFiu32Matcher,
+ /* [32] */ kFi32F16Matcher,
+ /* [33] */ kFiu32F16Matcher,
+ /* [34] */ kFiu32F16BoolMatcher,
+ /* [35] */ kF32F16Matcher,
};
/// The template numbers, and number matchers
@@ -1021,52 +1000,52 @@
/* [47] */ MatcherIndex(12),
/* [48] */ MatcherIndex(0),
/* [49] */ MatcherIndex(2),
- /* [50] */ MatcherIndex(26),
+ /* [50] */ MatcherIndex(25),
/* [51] */ MatcherIndex(0),
/* [52] */ MatcherIndex(1),
- /* [53] */ MatcherIndex(27),
+ /* [53] */ MatcherIndex(26),
/* [54] */ MatcherIndex(0),
/* [55] */ MatcherIndex(1),
- /* [56] */ MatcherIndex(28),
+ /* [56] */ MatcherIndex(27),
/* [57] */ MatcherIndex(0),
/* [58] */ MatcherIndex(1),
- /* [59] */ MatcherIndex(29),
+ /* [59] */ MatcherIndex(28),
/* [60] */ MatcherIndex(0),
/* [61] */ MatcherIndex(1),
- /* [62] */ MatcherIndex(26),
+ /* [62] */ MatcherIndex(25),
/* [63] */ MatcherIndex(8),
/* [64] */ MatcherIndex(4),
- /* [65] */ MatcherIndex(26),
+ /* [65] */ MatcherIndex(25),
/* [66] */ MatcherIndex(10),
/* [67] */ MatcherIndex(4),
- /* [68] */ MatcherIndex(26),
+ /* [68] */ MatcherIndex(25),
/* [69] */ MatcherIndex(9),
/* [70] */ MatcherIndex(4),
- /* [71] */ MatcherIndex(27),
+ /* [71] */ MatcherIndex(26),
/* [72] */ MatcherIndex(8),
/* [73] */ MatcherIndex(4),
- /* [74] */ MatcherIndex(27),
+ /* [74] */ MatcherIndex(26),
/* [75] */ MatcherIndex(10),
/* [76] */ MatcherIndex(4),
- /* [77] */ MatcherIndex(27),
+ /* [77] */ MatcherIndex(26),
/* [78] */ MatcherIndex(9),
/* [79] */ MatcherIndex(4),
- /* [80] */ MatcherIndex(29),
+ /* [80] */ MatcherIndex(28),
/* [81] */ MatcherIndex(8),
/* [82] */ MatcherIndex(4),
- /* [83] */ MatcherIndex(29),
+ /* [83] */ MatcherIndex(28),
/* [84] */ MatcherIndex(10),
/* [85] */ MatcherIndex(4),
- /* [86] */ MatcherIndex(29),
+ /* [86] */ MatcherIndex(28),
/* [87] */ MatcherIndex(9),
/* [88] */ MatcherIndex(4),
- /* [89] */ MatcherIndex(28),
+ /* [89] */ MatcherIndex(27),
/* [90] */ MatcherIndex(8),
/* [91] */ MatcherIndex(4),
- /* [92] */ MatcherIndex(28),
+ /* [92] */ MatcherIndex(27),
/* [93] */ MatcherIndex(10),
/* [94] */ MatcherIndex(4),
- /* [95] */ MatcherIndex(28),
+ /* [95] */ MatcherIndex(27),
/* [96] */ MatcherIndex(9),
/* [97] */ MatcherIndex(4),
/* [98] */ MatcherIndex(12),
@@ -1075,47 +1054,55 @@
/* [101] */ MatcherIndex(9),
/* [102] */ MatcherIndex(3),
/* [103] */ MatcherIndex(11),
- /* [104] */ MatcherIndex(0),
- /* [105] */ MatcherIndex(15),
- /* [106] */ MatcherIndex(0),
- /* [107] */ MatcherIndex(16),
- /* [108] */ MatcherIndex(0),
- /* [109] */ MatcherIndex(18),
- /* [110] */ MatcherIndex(0),
- /* [111] */ MatcherIndex(19),
- /* [112] */ MatcherIndex(0),
- /* [113] */ MatcherIndex(11),
+ /* [104] */ MatcherIndex(4),
+ /* [105] */ MatcherIndex(14),
+ /* [106] */ MatcherIndex(4),
+ /* [107] */ MatcherIndex(15),
+ /* [108] */ MatcherIndex(4),
+ /* [109] */ MatcherIndex(16),
+ /* [110] */ MatcherIndex(4),
+ /* [111] */ MatcherIndex(17),
+ /* [112] */ MatcherIndex(4),
+ /* [113] */ MatcherIndex(18),
/* [114] */ MatcherIndex(4),
/* [115] */ MatcherIndex(9),
/* [116] */ MatcherIndex(5),
- /* [117] */ MatcherIndex(14),
- /* [118] */ MatcherIndex(0),
- /* [119] */ MatcherIndex(10),
- /* [120] */ MatcherIndex(5),
- /* [121] */ MatcherIndex(17),
+ /* [117] */ MatcherIndex(10),
+ /* [118] */ MatcherIndex(5),
+ /* [119] */ MatcherIndex(11),
+ /* [120] */ MatcherIndex(0),
+ /* [121] */ MatcherIndex(14),
/* [122] */ MatcherIndex(0),
- /* [123] */ MatcherIndex(20),
+ /* [123] */ MatcherIndex(15),
/* [124] */ MatcherIndex(0),
- /* [125] */ MatcherIndex(11),
- /* [126] */ MatcherIndex(5),
- /* [127] */ MatcherIndex(11),
- /* [128] */ MatcherIndex(6),
- /* [129] */ MatcherIndex(9),
+ /* [125] */ MatcherIndex(17),
+ /* [126] */ MatcherIndex(0),
+ /* [127] */ MatcherIndex(18),
+ /* [128] */ MatcherIndex(0),
+ /* [129] */ MatcherIndex(16),
/* [130] */ MatcherIndex(0),
- /* [131] */ MatcherIndex(10),
+ /* [131] */ MatcherIndex(19),
/* [132] */ MatcherIndex(0),
- /* [133] */ MatcherIndex(31),
- /* [134] */ MatcherIndex(33),
- /* [135] */ MatcherIndex(36),
- /* [136] */ MatcherIndex(30),
- /* [137] */ MatcherIndex(32),
- /* [138] */ MatcherIndex(21),
- /* [139] */ MatcherIndex(22),
- /* [140] */ MatcherIndex(23),
- /* [141] */ MatcherIndex(24),
- /* [142] */ MatcherIndex(25),
- /* [143] */ MatcherIndex(34),
- /* [144] */ MatcherIndex(35),
+ /* [133] */ MatcherIndex(11),
+ /* [134] */ MatcherIndex(5),
+ /* [135] */ MatcherIndex(11),
+ /* [136] */ MatcherIndex(6),
+ /* [137] */ MatcherIndex(9),
+ /* [138] */ MatcherIndex(0),
+ /* [139] */ MatcherIndex(10),
+ /* [140] */ MatcherIndex(0),
+ /* [141] */ MatcherIndex(30),
+ /* [142] */ MatcherIndex(32),
+ /* [143] */ MatcherIndex(35),
+ /* [144] */ MatcherIndex(29),
+ /* [145] */ MatcherIndex(20),
+ /* [146] */ MatcherIndex(21),
+ /* [147] */ MatcherIndex(22),
+ /* [148] */ MatcherIndex(23),
+ /* [149] */ MatcherIndex(31),
+ /* [150] */ MatcherIndex(24),
+ /* [151] */ MatcherIndex(33),
+ /* [152] */ MatcherIndex(34),
};
static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
@@ -1124,98 +1111,98 @@
constexpr ParameterInfo kParameters[] = {
{
/* [0] */
- /* usage */ core::ParameterUsage::kBase,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [1] */
- /* usage */ core::ParameterUsage::kInsert,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [2] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [3] */
- /* usage */ core::ParameterUsage::kBits,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [4] */
- /* usage */ core::ParameterUsage::kBase,
- /* matcher_indices */ MatcherIndicesIndex(44),
- },
- {
- /* [5] */
- /* usage */ core::ParameterUsage::kInsert,
- /* matcher_indices */ MatcherIndicesIndex(44),
- },
- {
- /* [6] */
- /* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [7] */
- /* usage */ core::ParameterUsage::kBits,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [8] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(105),
},
{
- /* [9] */
+ /* [1] */
/* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(69),
},
{
- /* [10] */
+ /* [2] */
+ /* usage */ core::ParameterUsage::kDdx,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [3] */
+ /* usage */ core::ParameterUsage::kDdy,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [4] */
/* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(115),
},
{
- /* [11] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [12] */
+ /* [5] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(107),
},
{
- /* [13] */
+ /* [6] */
/* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(66),
},
{
+ /* [7] */
+ /* usage */ core::ParameterUsage::kDdx,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [8] */
+ /* usage */ core::ParameterUsage::kDdy,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [9] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [10] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [11] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [12] */
+ /* usage */ core::ParameterUsage::kDdx,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [13] */
+ /* usage */ core::ParameterUsage::kDdy,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
/* [14] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(115),
+ /* matcher_indices */ MatcherIndicesIndex(117),
},
{
/* [15] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(145),
},
{
/* [16] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(138),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [17] */
- /* usage */ core::ParameterUsage::kCoords,
+ /* usage */ core::ParameterUsage::kDdx,
/* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [18] */
- /* usage */ core::ParameterUsage::kRefz,
- /* matcher_indices */ MatcherIndicesIndex(37),
+ /* usage */ core::ParameterUsage::kDdy,
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [19] */
@@ -1225,36 +1212,36 @@
{
/* [20] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(139),
+ /* matcher_indices */ MatcherIndicesIndex(146),
},
{
/* [21] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(66),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [22] */
- /* usage */ core::ParameterUsage::kRefz,
- /* matcher_indices */ MatcherIndicesIndex(37),
+ /* usage */ core::ParameterUsage::kDdx,
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [23] */
+ /* usage */ core::ParameterUsage::kDdy,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [24] */
/* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(115),
},
{
- /* [24] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(17),
- },
- {
/* [25] */
- /* usage */ core::ParameterUsage::kCompareValue,
+ /* usage */ core::ParameterUsage::kBase,
/* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [26] */
- /* usage */ core::ParameterUsage::kValue,
+ /* usage */ core::ParameterUsage::kInsert,
/* matcher_indices */ MatcherIndicesIndex(3),
},
{
@@ -1269,58 +1256,58 @@
},
{
/* [29] */
- /* usage */ core::ParameterUsage::kValue,
+ /* usage */ core::ParameterUsage::kBase,
/* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [30] */
+ /* usage */ core::ParameterUsage::kInsert,
+ /* matcher_indices */ MatcherIndicesIndex(44),
+ },
+ {
+ /* [31] */
/* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [31] */
+ /* [32] */
/* usage */ core::ParameterUsage::kBits,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [32] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
/* [33] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(121),
},
{
/* [34] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [35] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(2),
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [36] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(2),
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [37] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(47),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(123),
},
{
/* [38] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(105),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [39] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(69),
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [40] */
@@ -1330,577 +1317,797 @@
{
/* [41] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(107),
+ /* matcher_indices */ MatcherIndicesIndex(145),
},
{
/* [42] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(66),
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [43] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
},
{
/* [44] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(109),
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [45] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(66),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(146),
},
{
/* [46] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [47] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(111),
- },
- {
- /* [48] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [49] */
- /* usage */ core::ParameterUsage::kComponent,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [50] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(140),
- },
- {
- /* [51] */
/* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(66),
},
{
- /* [52] */
+ /* [47] */
/* usage */ core::ParameterUsage::kRefz,
/* matcher_indices */ MatcherIndicesIndex(37),
},
{
+ /* [48] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [49] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [50] */
+ /* usage */ core::ParameterUsage::kCompareValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [51] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [52] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
/* [53] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(141),
+ /* usage */ core::ParameterUsage::kBits,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [54] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(113),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [55] */
- /* usage */ core::ParameterUsage::kRefz,
- /* matcher_indices */ MatcherIndicesIndex(37),
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [56] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(117),
+ /* usage */ core::ParameterUsage::kBits,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [57] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [58] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [59] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [60] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(2),
+ },
+ {
+ /* [61] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(2),
+ },
+ {
+ /* [62] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(47),
+ },
+ {
+ /* [63] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(148),
+ },
+ {
+ /* [64] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [65] */
+ /* usage */ core::ParameterUsage::kCompareValue,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [66] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(105),
},
{
- /* [60] */
- /* usage */ core::ParameterUsage::kLocation,
+ /* [67] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [68] */
+ /* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(115),
},
{
- /* [61] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [62] */
+ /* [69] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(107),
},
{
- /* [63] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(119),
+ /* [70] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
- /* [64] */
- /* usage */ core::ParameterUsage::kLevel,
+ /* [71] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [72] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [73] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [74] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [75] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(145),
+ },
+ {
+ /* [76] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [77] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [78] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(146),
+ },
+ {
+ /* [79] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [80] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [81] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(121),
+ },
+ {
+ /* [82] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [83] */
+ /* usage */ core::ParameterUsage::kComponent,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [65] */
+ /* [84] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(123),
},
{
- /* [66] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(115),
+ /* [85] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
- /* [67] */
- /* usage */ core::ParameterUsage::kSampleIndex,
+ /* [86] */
+ /* usage */ core::ParameterUsage::kComponent,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [68] */
+ /* [87] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(125),
+ },
+ {
+ /* [88] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [89] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [90] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(127),
+ },
+ {
+ /* [91] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [92] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [93] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(147),
+ },
+ {
+ /* [94] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [95] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [96] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(148),
+ },
+ {
+ /* [97] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [98] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [99] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(121),
},
{
- /* [69] */
+ /* [100] */
/* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(119),
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
- /* [70] */
+ /* [101] */
/* usage */ core::ParameterUsage::kLevel,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [71] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(62),
- },
- {
- /* [72] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [73] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [74] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(65),
- },
- {
- /* [75] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [76] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [77] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(68),
- },
- {
- /* [78] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [79] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [80] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(71),
- },
- {
- /* [81] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [82] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [83] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(74),
- },
- {
- /* [84] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [85] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [86] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(77),
- },
- {
- /* [87] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [88] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [89] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(80),
- },
- {
- /* [90] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [91] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [92] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(83),
- },
- {
- /* [93] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [94] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [95] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(86),
- },
- {
- /* [96] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [97] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [98] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(89),
- },
- {
- /* [99] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [100] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [101] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(92),
- },
- {
/* [102] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(123),
},
{
/* [103] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(117),
},
{
/* [104] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(95),
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [105] */
- /* usage */ core::ParameterUsage::kCoords,
+ /* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(131),
},
{
/* [106] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [107] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(22),
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [108] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(129),
},
{
/* [109] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(44),
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(117),
},
{
/* [110] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(44),
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [111] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(62),
},
{
/* [112] */
- /* usage */ core::ParameterUsage::kResult,
- /* matcher_indices */ MatcherIndicesIndex(27),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [113] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(2),
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [114] */
- /* usage */ core::ParameterUsage::kResult,
- /* matcher_indices */ MatcherIndicesIndex(0),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(65),
},
{
/* [115] */
- /* usage */ core::ParameterUsage::kValue,
+ /* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [116] */
- /* usage */ core::ParameterUsage::kExp,
- /* matcher_indices */ MatcherIndicesIndex(31),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(133),
},
{
/* [117] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(2),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(68),
},
{
/* [118] */
- /* usage */ core::ParameterUsage::kExp,
- /* matcher_indices */ MatcherIndicesIndex(6),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [119] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(117),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(135),
},
{
/* [120] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(71),
},
{
/* [121] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(105),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(137),
},
{
/* [122] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [123] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(107),
+ /* matcher_indices */ MatcherIndicesIndex(74),
},
{
/* [124] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(137),
},
{
/* [125] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(121),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(133),
},
{
/* [126] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(77),
},
{
/* [127] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(109),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(137),
},
{
/* [128] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(135),
},
{
/* [129] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(111),
+ /* matcher_indices */ MatcherIndicesIndex(80),
},
{
/* [130] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [131] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(138),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [132] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(83),
},
{
/* [133] */
- /* usage */ core::ParameterUsage::kTexture,
+ /* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [134] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(133),
},
{
/* [135] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(140),
+ /* matcher_indices */ MatcherIndicesIndex(86),
},
{
/* [136] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [137] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(141),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(135),
},
{
/* [138] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(89),
},
{
/* [139] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(50),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [140] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(103),
},
{
/* [141] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(53),
+ /* matcher_indices */ MatcherIndicesIndex(92),
},
{
/* [142] */
/* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(115),
+ /* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [143] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(56),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(133),
},
{
/* [144] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(119),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(95),
},
{
/* [145] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(139),
},
{
/* [146] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(119),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(135),
},
{
/* [147] */
/* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
+ /* matcher_indices */ MatcherIndicesIndex(22),
},
{
/* [148] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(37),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [149] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [150] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [151] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(8),
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [152] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(1),
+ /* usage */ core::ParameterUsage::kResult,
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [153] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(38),
+ /* matcher_indices */ MatcherIndicesIndex(2),
},
{
/* [154] */
+ /* usage */ core::ParameterUsage::kResult,
+ /* matcher_indices */ MatcherIndicesIndex(0),
+ },
+ {
+ /* [155] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [156] */
+ /* usage */ core::ParameterUsage::kExp,
+ /* matcher_indices */ MatcherIndicesIndex(31),
+ },
+ {
+ /* [157] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(2),
+ },
+ {
+ /* [158] */
+ /* usage */ core::ParameterUsage::kExp,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [159] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(111),
+ },
+ {
+ /* [160] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [161] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(113),
+ },
+ {
+ /* [162] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [163] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(147),
+ },
+ {
+ /* [164] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(103),
+ },
+ {
+ /* [165] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(121),
+ },
+ {
+ /* [166] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [167] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(123),
+ },
+ {
+ /* [168] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [169] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(129),
+ },
+ {
+ /* [170] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [171] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(125),
+ },
+ {
+ /* [172] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [173] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(127),
+ },
+ {
+ /* [174] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [175] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(145),
+ },
+ {
+ /* [176] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [177] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(146),
+ },
+ {
+ /* [178] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [179] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(147),
+ },
+ {
+ /* [180] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [181] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(148),
+ },
+ {
+ /* [182] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [183] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(50),
+ },
+ {
+ /* [184] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [185] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(53),
+ },
+ {
+ /* [186] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [187] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(56),
+ },
+ {
+ /* [188] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [189] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(59),
+ },
+ {
+ /* [190] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [191] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(12),
+ },
+ {
+ /* [192] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [193] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(35),
+ },
+ {
+ /* [194] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [195] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(8),
+ },
+ {
+ /* [196] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(1),
+ },
+ {
+ /* [197] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(38),
+ },
+ {
+ /* [198] */
/* usage */ core::ParameterUsage::kValue,
/* matcher_indices */ MatcherIndicesIndex(101),
},
{
- /* [155] */
+ /* [199] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(142),
+ /* matcher_indices */ MatcherIndicesIndex(150),
},
};
@@ -1923,7 +2130,7 @@
{
/* [2] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(133),
+ /* matcher_indices */ MatcherIndicesIndex(141),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -1935,7 +2142,7 @@
{
/* [4] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(133),
+ /* matcher_indices */ MatcherIndicesIndex(141),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -1947,13 +2154,13 @@
{
/* [6] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(136),
+ /* matcher_indices */ MatcherIndicesIndex(144),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [7] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(134),
+ /* matcher_indices */ MatcherIndicesIndex(142),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -1965,7 +2172,7 @@
{
/* [9] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(135),
+ /* matcher_indices */ MatcherIndicesIndex(143),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -2025,7 +2232,7 @@
{
/* [19] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(143),
+ /* matcher_indices */ MatcherIndicesIndex(151),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -2037,7 +2244,7 @@
{
/* [21] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(144),
+ /* matcher_indices */ MatcherIndicesIndex(152),
/* kind */ TemplateInfo::Kind::kType,
},
{
@@ -2049,13 +2256,13 @@
{
/* [23] */
/* name */ "T",
- /* matcher_indices */ MatcherIndicesIndex(137),
+ /* matcher_indices */ MatcherIndicesIndex(149),
/* kind */ TemplateInfo::Kind::kType,
},
{
/* [24] */
/* name */ "C",
- /* matcher_indices */ MatcherIndicesIndex(133),
+ /* matcher_indices */ MatcherIndicesIndex(141),
/* kind */ TemplateInfo::Kind::kType,
},
};
@@ -2074,886 +2281,1073 @@
constexpr OverloadInfo kOverloads[] = {
{
/* [0] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(119),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [1] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(121),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(185),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [2] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(123),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [3] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(125),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(13),
+ /* parameters */ ParameterIndex(189),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [4] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(127),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(15),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(133),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [5] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(129),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(15),
+ /* parameters */ ParameterIndex(185),
+ /* return_matcher_indices */ MatcherIndicesIndex(133),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [6] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(131),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(15),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(133),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [7] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(133),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(15),
+ /* parameters */ ParameterIndex(189),
+ /* return_matcher_indices */ MatcherIndicesIndex(133),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [8] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(135),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(17),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [9] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(137),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(17),
+ /* parameters */ ParameterIndex(185),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [10] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(65),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(17),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [11] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(155),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(17),
+ /* parameters */ ParameterIndex(189),
+ /* return_matcher_indices */ MatcherIndicesIndex(135),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [12] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(111),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [13] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(141),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(114),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [14] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(143),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(117),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [15] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(145),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(120),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [16] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(125),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(123),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [17] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(141),
- /* return_matcher_indices */ MatcherIndicesIndex(125),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(126),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [18] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(143),
- /* return_matcher_indices */ MatcherIndicesIndex(125),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(129),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [19] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(145),
- /* return_matcher_indices */ MatcherIndicesIndex(125),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(132),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [20] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(135),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [21] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(141),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(138),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [22] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(143),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(141),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [23] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 2,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(145),
- /* return_matcher_indices */ MatcherIndicesIndex(127),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(24),
+ /* parameters */ ParameterIndex(144),
+ /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [24] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(71),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(165),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [25] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(74),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(167),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [26] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(77),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(169),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [27] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(80),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(171),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [28] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(83),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(173),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [29] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(86),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(175),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [30] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(177),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [31] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(92),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(179),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [32] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(95),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(181),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [33] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(98),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [34] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(101),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(199),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [35] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(104),
- /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(0),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [36] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(38),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(5),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [37] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(41),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(10),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [38] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(44),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(159),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [39] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(47),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(161),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [40] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* parameters */ ParameterIndex(15),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [41] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
/* parameters */ ParameterIndex(20),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [42] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(50),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* parameters */ ParameterIndex(163),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [43] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(63),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [44] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(81),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [45] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(84),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [46] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(87),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [47] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(90),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [48] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(53),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [44] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(56),
- /* return_matcher_indices */ MatcherIndicesIndex(103),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [45] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(59),
- /* return_matcher_indices */ MatcherIndicesIndex(103),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [46] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(62),
- /* return_matcher_indices */ MatcherIndicesIndex(103),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [47] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(65),
- /* return_matcher_indices */ MatcherIndicesIndex(103),
- /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
- },
- {
- /* [48] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
- /* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(68),
+ /* parameters */ ParameterIndex(41),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [49] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(8),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(45),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [50] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(12),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(93),
/* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [51] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(16),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* parameters */ ParameterIndex(96),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [52] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 4,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(20),
- /* return_matcher_indices */ MatcherIndicesIndex(113),
+ /* parameters */ ParameterIndex(66),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [53] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(139),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(69),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [54] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(141),
- /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(72),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [55] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(143),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(75),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [56] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(145),
- /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(78),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [57] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(148),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* parameters */ ParameterIndex(0),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [58] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 5,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(8),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(5),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [59] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(148),
- /* return_matcher_indices */ MatcherIndicesIndex(1),
+ /* parameters */ ParameterIndex(10),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [60] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 5,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(149),
- /* return_matcher_indices */ MatcherIndicesIndex(38),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(15),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [61] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 5,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(150),
+ /* parameters */ ParameterIndex(20),
/* return_matcher_indices */ MatcherIndicesIndex(37),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [62] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(151),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(33),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [63] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
- /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(37),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [64] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(153),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(41),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [65] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 4,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(45),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [66] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(29),
- /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(183),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [67] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(26),
- /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(185),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [68] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 3,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
- /* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(29),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(187),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [69] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
/* num_explicit_templates */ 0,
- /* num_templates */ 1,
- /* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(0),
- /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(189),
+ /* return_matcher_indices */ MatcherIndicesIndex(117),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [70] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 4,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(4),
- /* parameters */ ParameterIndex(4),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(99),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [71] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(7),
- /* parameters */ ParameterIndex(32),
- /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(102),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [72] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(7),
- /* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(105),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [73] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(108),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [74] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [75] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(5),
+ /* parameters */ ParameterIndex(193),
+ /* return_matcher_indices */ MatcherIndicesIndex(8),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [76] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(192),
+ /* return_matcher_indices */ MatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [77] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(5),
+ /* parameters */ ParameterIndex(193),
+ /* return_matcher_indices */ MatcherIndicesIndex(38),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [78] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(194),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [79] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(5),
+ /* parameters */ ParameterIndex(195),
+ /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [80] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(196),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [81] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(5),
+ /* parameters */ ParameterIndex(197),
+ /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [82] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(2),
+ /* parameters */ ParameterIndex(51),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [83] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(4),
+ /* parameters */ ParameterIndex(54),
+ /* return_matcher_indices */ MatcherIndicesIndex(41),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [84] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(2),
+ /* parameters */ ParameterIndex(51),
+ /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [85] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 3,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(4),
+ /* parameters */ ParameterIndex(54),
+ /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [86] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(2),
+ /* parameters */ ParameterIndex(25),
+ /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [87] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 4,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(4),
+ /* parameters */ ParameterIndex(29),
+ /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [88] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(57),
+ /* return_matcher_indices */ MatcherIndicesIndex(3),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [89] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(7),
+ /* parameters */ ParameterIndex(149),
+ /* return_matcher_indices */ MatcherIndicesIndex(44),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [90] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(6),
- /* parameters */ ParameterIndex(32),
+ /* parameters */ ParameterIndex(57),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [74] */
+ /* [91] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(35),
+ /* parameters */ ParameterIndex(60),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [75] */
+ /* [92] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(111),
+ /* parameters */ ParameterIndex(151),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
- /* [76] */
+ /* [93] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(8),
- /* parameters */ ParameterIndex(113),
+ /* parameters */ ParameterIndex(153),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
- /* [77] */
+ /* [94] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(115),
+ /* parameters */ ParameterIndex(155),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
- /* [78] */
+ /* [95] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(8),
- /* parameters */ ParameterIndex(117),
+ /* parameters */ ParameterIndex(157),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
- /* [79] */
+ /* [96] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse, OverloadFlag::kMemberFunction),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(0),
- /* parameters */ ParameterIndex(147),
+ /* parameters */ ParameterIndex(191),
/* return_matcher_indices */ MatcherIndicesIndex(10),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [80] */
+ /* [97] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 0,
/* num_explicit_templates */ 0,
@@ -2964,90 +3358,90 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [81] */
+ /* [98] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(24),
+ /* parameters */ ParameterIndex(49),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [82] */
+ /* [99] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(107),
+ /* parameters */ ParameterIndex(147),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [83] */
+ /* [100] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(154),
+ /* parameters */ ParameterIndex(198),
/* return_matcher_indices */ MatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [84] */
+ /* [101] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(152),
+ /* parameters */ ParameterIndex(196),
/* return_matcher_indices */ MatcherIndicesIndex(101),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [85] */
+ /* [102] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 1,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(37),
+ /* parameters */ ParameterIndex(62),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [86] */
+ /* [103] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(9),
- /* parameters */ ParameterIndex(109),
+ /* parameters */ ParameterIndex(149),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [87] */
+ /* [104] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(19),
- /* parameters */ ParameterIndex(109),
+ /* parameters */ ParameterIndex(149),
/* return_matcher_indices */ MatcherIndicesIndex(98),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [88] */
+ /* [105] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(21),
- /* parameters */ ParameterIndex(109),
+ /* parameters */ ParameterIndex(149),
/* return_matcher_indices */ MatcherIndicesIndex(98),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -3061,147 +3455,181 @@
/* [0] */
/* fn length[T, A : access](ptr<storage, array<T>, A>) -> i32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(79),
+ /* overloads */ OverloadIndex(96),
},
{
/* [1] */
/* fn barrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(80),
+ /* overloads */ OverloadIndex(97),
},
{
/* [2] */
/* fn memoryBarrierBuffer() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(80),
+ /* overloads */ OverloadIndex(97),
},
{
/* [3] */
/* fn memoryBarrierImage() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(80),
+ /* overloads */ OverloadIndex(97),
},
{
/* [4] */
/* fn atomicCompSwap[T : iu32](ptr<workgroup_or_storage, atomic<T>, read_write>, compare_value: T, value: T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(81),
+ /* overloads */ OverloadIndex(98),
},
{
/* [5] */
/* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(82),
+ /* overloads */ OverloadIndex(99),
},
{
/* [6] */
/* fn floatBitsToInt(value: f32) -> i32 */
/* fn floatBitsToInt[N : num](value: vec<N, f32>) -> vec<N, i32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(57),
+ /* overloads */ OverloadIndex(74),
},
{
/* [7] */
/* fn floatBitsToUint(value: f32) -> u32 */
/* fn floatBitsToUint[N : num](value: vec<N, f32>) -> vec<N, u32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(59),
+ /* overloads */ OverloadIndex(76),
},
{
/* [8] */
/* fn intBitsToFloat(value: i32) -> f32 */
/* fn intBitsToFloat[N : num](value: vec<N, i32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(61),
+ /* overloads */ OverloadIndex(78),
},
{
/* [9] */
/* fn uintBitsToFloat(value: u32) -> f32 */
/* fn uintBitsToFloat[N : num](value: vec<N, u32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(63),
+ /* overloads */ OverloadIndex(80),
},
{
/* [10] */
/* fn bitCount[T : iu32](value: T) -> i32 */
/* fn bitCount[T : iu32, N : num](value: vec<N, T>) -> vec<N, i32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(65),
+ /* overloads */ OverloadIndex(82),
},
{
/* [11] */
/* fn bitfieldExtract[T : iu32](value: T, offset: i32, bits: i32) -> T */
/* fn bitfieldExtract[T : iu32, N : num](value: vec<N, T>, offset: i32, bits: i32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(67),
+ /* overloads */ OverloadIndex(84),
},
{
/* [12] */
/* fn bitfieldInsert[T : iu32](base: T, insert: T, offset: i32, bits: i32) -> T */
/* fn bitfieldInsert[T : iu32, N : num](base: vec<N, T>, insert: vec<N, T>, offset: i32, bits: i32) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(69),
+ /* overloads */ OverloadIndex(86),
},
{
/* [13] */
/* fn packFloat2x16(value: vec2<f16>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(83),
+ /* overloads */ OverloadIndex(100),
},
{
/* [14] */
/* fn unpackFloat2x16(value: u32) -> vec2<f16> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(84),
+ /* overloads */ OverloadIndex(101),
},
{
/* [15] */
/* fn abs[T : fi32_f16](T) -> T */
/* fn abs[T : fi32_f16, N : num](vec<N, T>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(71),
+ /* overloads */ OverloadIndex(88),
},
{
/* [16] */
/* fn any[N : num](vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(85),
+ /* overloads */ OverloadIndex(102),
},
{
/* [17] */
/* fn all[N : num](vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(85),
+ /* overloads */ OverloadIndex(102),
},
{
/* [18] */
/* fn dot[T : f32_f16, N : num](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(86),
+ /* overloads */ OverloadIndex(103),
},
{
/* [19] */
/* fn mix[T : scalar](T, T, bool) -> T */
/* fn mix[N : num, T : scalar](vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(73),
+ /* overloads */ OverloadIndex(90),
},
{
/* [20] */
/* fn modf[T : f32_f16](value: T, result: ptr<function, T, read_write>) -> T */
/* fn modf[N : num, T : f32_f16](value: vec<N, T>, result: ptr<function, vec<N, T>, read_write>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(75),
+ /* overloads */ OverloadIndex(92),
},
{
/* [21] */
/* fn frexp[T : f32_f16](value: T, exp: ptr<function, i32, read_write>) -> T */
/* fn frexp[N : num, T : f32_f16](value: vec<N, T>, exp: ptr<function, vec<N, i32>, read_write>) -> vec<N, T> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(77),
+ /* overloads */ OverloadIndex(94),
},
{
/* [22] */
+ /* fn texture(texture: texture_2d<f32>, coords: vec2<f32>) -> vec4<f32> */
+ /* fn texture(texture: texture_2d_array<f32>, coords: vec3<f32>) -> vec4<f32> */
+ /* fn texture(texture: texture_3d<f32>, coords: vec3<f32>) -> vec4<f32> */
+ /* fn texture(texture: texture_cube<f32>, coords: vec3<f32>) -> vec4<f32> */
+ /* fn texture(texture: texture_cube_array<f32>, coords: vec4<f32>) -> vec4<f32> */
+ /* fn texture(texture: texture_depth_2d, coords: vec3<f32>) -> f32 */
+ /* fn texture(texture: texture_depth_2d_array, coords: vec4<f32>) -> f32 */
+ /* fn texture(texture: texture_depth_cube, coords: vec4<f32>) -> f32 */
+ /* fn texture(texture: texture_depth_cube_array, coords: vec4<f32>, compare_value: f32) -> f32 */
+ /* num overloads */ 9,
+ /* overloads */ OverloadIndex(35),
+ },
+ {
+ /* [23] */
+ /* fn textureOffset(texture: texture_2d<f32>, coords: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureOffset(texture: texture_2d_array<f32>, coords: vec3<f32>, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureOffset(texture: texture_3d<f32>, coords: vec3<f32>, offset: vec3<i32>) -> vec4<f32> */
+ /* fn textureOffset(texture: texture_depth_2d, coords: vec3<f32>, offset: vec2<i32>) -> f32 */
+ /* fn textureOffset(texture: texture_depth_2d_array, coords: vec4<f32>, offset: vec2<i32>) -> f32 */
+ /* num overloads */ 5,
+ /* overloads */ OverloadIndex(52),
+ },
+ {
+ /* [24] */
+ /* fn textureGradOffset(texture: texture_2d<f32>, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureGradOffset(texture: texture_2d_array<f32>, coords: vec3<f32>, ddx: vec2<f32>, ddy: vec2<f32>, offset: vec2<i32>) -> vec4<f32> */
+ /* fn textureGradOffset(texture: texture_3d<f32>, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>, offset: vec3<i32>) -> vec4<f32> */
+ /* fn textureGradOffset(texture: texture_depth_2d, coords: vec3<f32>, ddx: vec2<f32>, ddy: vec2<f32>, offset: vec2<i32>) -> f32 */
+ /* fn textureGradOffset(texture: texture_depth_2d_array, coords: vec4<f32>, ddx: vec2<f32>, ddy: vec2<f32>, offset: vec2<i32>) -> f32 */
+ /* num overloads */ 5,
+ /* overloads */ OverloadIndex(57),
+ },
+ {
+ /* [25] */
/* fn textureGather[T : fiu32](texture: texture_2d<T>, coords: vec2<f32>, component: i32) -> vec4<T> */
/* fn textureGather[T : fiu32](texture: texture_2d_array<T>, coords: vec3<f32>, component: i32) -> vec4<T> */
/* fn textureGather[T : fiu32](texture: texture_cube<T>, coords: vec3<f32>, component: i32) -> vec4<T> */
@@ -3211,20 +3639,19 @@
/* fn textureGather(texture: texture_depth_cube, coords: vec3<f32>, refz: f32) -> vec4<f32> */
/* fn textureGather(texture: texture_depth_cube_array, coords: vec4<f32>, refz: f32) -> vec4<f32> */
/* num overloads */ 8,
- /* overloads */ OverloadIndex(36),
+ /* overloads */ OverloadIndex(44),
},
{
- /* [23] */
+ /* [26] */
/* fn textureGatherOffset[T : fiu32](texture: texture_2d<T>, coords: vec2<f32>, offset: vec2<i32>, component: i32) -> vec4<T> */
/* fn textureGatherOffset[T : fiu32](texture: texture_2d_array<T>, coords: vec3<f32>, offset: vec2<i32>, component: i32) -> vec4<T> */
/* fn textureGatherOffset(texture: texture_depth_2d, coords: vec2<f32>, refz: f32, offset: vec2<i32>) -> vec4<f32> */
/* fn textureGatherOffset(texture: texture_depth_2d_array, coords: vec3<f32>, refz: f32, offset: vec2<i32>) -> vec4<f32> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(49),
+ /* overloads */ OverloadIndex(62),
},
{
- /* [24] */
- /* fn textureSize[T : fiu32](texture: texture_1d<T>, level: i32) -> i32 */
+ /* [27] */
/* fn textureSize[T : fiu32](texture: texture_2d<T>, level: i32) -> vec2<i32> */
/* fn textureSize[T : fiu32](texture: texture_2d_array<T>, level: i32) -> vec3<i32> */
/* fn textureSize[T : fiu32](texture: texture_3d<T>, level: i32) -> vec3<i32> */
@@ -3236,30 +3663,29 @@
/* fn textureSize(texture: texture_depth_cube_array, level: i32) -> vec3<i32> */
/* fn textureSize[T : fiu32](texture: texture_multisampled_2d<T>) -> vec2<i32> */
/* fn textureSize(texture: texture_depth_multisampled_2d) -> vec2<i32> */
- /* num overloads */ 12,
- /* overloads */ OverloadIndex(0),
+ /* num overloads */ 11,
+ /* overloads */ OverloadIndex(24),
},
{
- /* [25] */
+ /* [28] */
/* fn imageSize[F : texel_format, A : access](texture: texture_storage_1d<F, A>) -> i32 */
/* fn imageSize[F : texel_format, A : access](texture: texture_storage_2d<F, A>) -> vec2<i32> */
/* fn imageSize[F : texel_format, A : access](texture: texture_storage_2d_array<F, A>) -> vec3<i32> */
/* fn imageSize[F : texel_format, A : access](texture: texture_storage_3d<F, A>) -> vec3<i32> */
/* num overloads */ 4,
- /* overloads */ OverloadIndex(53),
+ /* overloads */ OverloadIndex(66),
},
{
- /* [26] */
- /* fn texelFetch[T : fiu32](texture: texture_1d<T>, location: i32, level: i32) -> vec4<T> */
+ /* [29] */
/* fn texelFetch[T : fiu32](texture: texture_2d<T>, location: vec2<i32>, level: i32) -> vec4<T> */
/* fn texelFetch[T : fiu32](texture: texture_2d_array<T>, location: vec3<i32>, level: i32) -> vec4<T> */
/* fn texelFetch[T : fiu32](texture: texture_multisampled_2d<T>, location: vec2<i32>, sample_index: i32) -> vec4<T> */
/* fn texelFetch[T : fiu32](texture: texture_3d<T>, location: vec3<i32>, level: i32) -> vec4<T> */
- /* num overloads */ 5,
- /* overloads */ OverloadIndex(44),
+ /* num overloads */ 4,
+ /* overloads */ OverloadIndex(70),
},
{
- /* [27] */
+ /* [30] */
/* fn imageLoad[F : f32_texel_format, A : readable](texture: texture_storage_1d<F, A>, coords: i32) -> vec4<f32> */
/* fn imageLoad[F : f32_texel_format, A : readable](texture: texture_storage_2d<F, A>, coords: vec2<i32>) -> vec4<f32> */
/* fn imageLoad[F : f32_texel_format, A : readable](texture: texture_storage_2d_array<F, A>, coords: vec3<i32>) -> vec4<f32> */
@@ -3273,10 +3699,10 @@
/* fn imageLoad[F : u32_texel_format, A : readable](texture: texture_storage_2d_array<F, A>, coords: vec3<i32>) -> vec4<u32> */
/* fn imageLoad[F : u32_texel_format, A : readable](texture: texture_storage_3d<F, A>, coords: vec3<i32>) -> vec4<u32> */
/* num overloads */ 12,
- /* overloads */ OverloadIndex(12),
+ /* overloads */ OverloadIndex(0),
},
{
- /* [28] */
+ /* [31] */
/* fn imageStore[C : iu32](texture: texture_storage_1d<f32_texel_format, writable>, coords: C, value: vec4<f32>) */
/* fn imageStore[C : iu32](texture: texture_storage_1d<i32_texel_format, writable>, coords: C, value: vec4<i32>) */
/* fn imageStore[C : iu32](texture: texture_storage_1d<u32_texel_format, writable>, coords: C, value: vec4<u32>) */
@@ -3290,43 +3716,43 @@
/* fn imageStore[C : iu32](texture: texture_storage_2d_array<i32_texel_format, writable>, coords: vec3<C>, value: vec4<i32>) */
/* fn imageStore[C : iu32](texture: texture_storage_2d_array<u32_texel_format, writable>, coords: vec3<C>, value: vec4<u32>) */
/* num overloads */ 12,
- /* overloads */ OverloadIndex(24),
- },
- {
- /* [29] */
- /* fn lessThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(87),
- },
- {
- /* [30] */
- /* fn lessThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(87),
- },
- {
- /* [31] */
- /* fn greaterThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(87),
+ /* overloads */ OverloadIndex(12),
},
{
/* [32] */
- /* fn greaterThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* fn lessThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(87),
+ /* overloads */ OverloadIndex(104),
},
{
/* [33] */
- /* fn equal[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* fn lessThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(88),
+ /* overloads */ OverloadIndex(104),
},
{
/* [34] */
+ /* fn greaterThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(104),
+ },
+ {
+ /* [35] */
+ /* fn greaterThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(104),
+ },
+ {
+ /* [36] */
+ /* fn equal[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(105),
+ },
+ {
+ /* [37] */
/* fn notEqual[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(88),
+ /* overloads */ OverloadIndex(105),
},
};
diff --git a/src/tint/lang/glsl/writer/builtin_test.cc b/src/tint/lang/glsl/writer/builtin_test.cc
index c1ef114..67c48ed 100644
--- a/src/tint/lang/glsl/writer/builtin_test.cc
+++ b/src/tint/lang/glsl/writer/builtin_test.cc
@@ -2206,5 +2206,507 @@
)");
}
+TEST_F(GlslWriterTest, BuiltinTextureSample_1d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k1d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Value(1_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2D t_s;
+void main() {
+ vec4 x = texture(t_s, vec2(1.0f, 0.5f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_2d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2D t_s;
+void main() {
+ vec4 x = texture(t_s, vec2(1.0f, 2.0f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_2d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2D t_s;
+void main() {
+ vec4 x = textureOffset(t_s, vec2(1.0f, 2.0f), ivec2(4, 5));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_2d_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2dArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DArray t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ vec4 x = texture(t_s, vec3(v, float(4u)));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_2d_Array_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2dArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx, offset));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DArray t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ vec4 x = textureOffset(t_s, vec3(v, float(4u)), ivec2(4, 5));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_3d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k3d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler3D t_s;
+void main() {
+ vec4 x = texture(t_s, vec3(1.0f, 2.0f, 3.0f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_3d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k3d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* offset = b.Composite<vec3<i32>>(4_i, 5_i, 6_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler3D t_s;
+void main() {
+ vec4 x = textureOffset(t_s, vec3(1.0f, 2.0f, 3.0f), ivec3(4, 5, 6));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Cube) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::kCube, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp samplerCube t_s;
+void main() {
+ vec4 x = texture(t_s, vec3(1.0f, 2.0f, 3.0f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Cube_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::kCubeArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ Options opts{};
+ opts.version = Version(Version::Standard::kDesktop, 4, 6);
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, R"(#version 460
+precision highp float;
+precision highp int;
+
+uniform highp samplerCubeArray t_s;
+void main() {
+ vec3 v = vec3(1.0f, 2.0f, 3.0f);
+ vec4 x = texture(t_s, vec4(v, float(4u)));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Depth2d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(
+ ty.ptr(handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2d)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DShadow t_s;
+void main() {
+ float x = texture(t_s, vec3(vec2(1.0f, 2.0f), 0.0f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Depth2d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(
+ ty.ptr(handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2d)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DShadow t_s;
+void main() {
+ float x = textureOffset(t_s, vec3(vec2(1.0f, 2.0f), 0.0f), ivec2(4, 5));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Depth2d_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2dArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DArrayShadow t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ float x = texture(t_s, vec4(v, float(4u), 0.0f));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_Depth2d_Array_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2dArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), 1_f, 2_f);
+ auto* array_idx = b.Value(4_u);
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx, offset));
+ b.Return(func);
+ });
+
+ ASSERT_TRUE(Generate({}, tint::ast::PipelineStage::kFragment)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DArrayShadow t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ vec4 v_1 = vec4(v, float(4u), 0.0f);
+ vec2 v_2 = dFdx(v);
+ float x = textureGradOffset(t_s, v_1, v_2, dFdy(v), ivec2(4, 5));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureSample_DepthCube_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::kCubeArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ Options opts{};
+ opts.version = Version(Version::Standard::kDesktop, 4, 6);
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, R"(#version 460
+precision highp float;
+precision highp int;
+
+uniform highp samplerCubeArrayShadow t_s;
+void main() {
+ vec3 v = vec3(1.0f, 2.0f, 3.0f);
+ float x = texture(t_s, vec4(v, float(4u)), 0.0f);
+}
+)");
+}
+
} // namespace
} // namespace tint::glsl::writer
diff --git a/src/tint/lang/glsl/writer/raise/texture_polyfill.cc b/src/tint/lang/glsl/writer/raise/texture_polyfill.cc
index f8b37e0..397a35b 100644
--- a/src/tint/lang/glsl/writer/raise/texture_polyfill.cc
+++ b/src/tint/lang/glsl/writer/raise/texture_polyfill.cc
@@ -124,10 +124,12 @@
case core::BuiltinFn::kTextureNumLayers:
TextureNumLayers(call);
break;
+ case core::BuiltinFn::kTextureSample:
+ TextureSample(call);
+ break;
case core::BuiltinFn::kTextureStore:
TextureStore(call);
break;
- case core::BuiltinFn::kTextureSample:
case core::BuiltinFn::kTextureSampleBias:
case core::BuiltinFn::kTextureSampleCompare:
case core::BuiltinFn::kTextureSampleCompareLevel:
@@ -345,9 +347,9 @@
}
case core::BuiltinFn::kTextureSample: {
// Add a new coord item so it's a vec2.
- auto arg = call->Args()[1];
+ auto arg = call->Args()[2];
b.InsertBefore(call, [&] {
- call->SetArg(1,
+ call->SetArg(2,
b.Construct(ty.vec2(arg->Type()), arg, 0.5_f)->Result(0));
});
break;
@@ -715,6 +717,93 @@
});
call->Destroy();
}
+
+ void TextureSample(core::ir::BuiltinCall* call) {
+ auto args = call->Args();
+ b.InsertBefore(call, [&] {
+ Vector<core::ir::Value*, 4> params;
+
+ uint32_t idx = 0;
+ uint32_t tex_arg = idx++;
+ uint32_t sampler_arg = idx++;
+
+ auto* tex = GetNewTexture(args[tex_arg], args[sampler_arg]);
+ auto* tex_type = tex->Type()->As<core::type::Texture>();
+ TINT_ASSERT(tex_type);
+
+ params.Push(tex);
+
+ bool is_depth = tex_type->Is<core::type::DepthTexture>();
+ bool is_array = false;
+
+ auto depth_ref = 0_f;
+
+ core::ir::Value* coords = args[idx++];
+ switch (tex_type->Dim()) {
+ case core::type::TextureDimension::k1d:
+ case core::type::TextureDimension::k2d:
+ if (is_depth) {
+ coords = b.Construct(ty.vec3<f32>(), coords, depth_ref)->Result(0);
+ }
+ params.Push(coords);
+
+ break;
+ case core::type::TextureDimension::k2dArray: {
+ is_array = true;
+
+ Vector<core::ir::Value*, 3> new_coords;
+ new_coords.Push(coords);
+ new_coords.Push(b.Convert<f32>(args[idx++])->Result(0));
+
+ uint32_t vec_width = 3;
+ if (is_depth) {
+ new_coords.Push(b.Value(depth_ref));
+ ++vec_width;
+ }
+ params.Push(b.Construct(ty.vec(ty.f32(), vec_width), new_coords)->Result(0));
+ break;
+ }
+ case core::type::TextureDimension::k3d:
+ case core::type::TextureDimension::kCube:
+ if (is_depth) {
+ coords = b.Construct(ty.vec4<f32>(), coords, depth_ref)->Result(0);
+ }
+ params.Push(coords);
+ break;
+ case core::type::TextureDimension::kCubeArray:
+ is_array = true;
+ params.Push(b.Construct(ty.vec4<f32>(), coords, b.Convert<f32>(args[idx++]))
+ ->Result(0));
+
+ if (is_depth) {
+ params.Push(b.Value(depth_ref));
+ }
+ break;
+ default:
+ TINT_UNREACHABLE();
+ }
+
+ auto fn = glsl::BuiltinFn::kTexture;
+ if (idx < args.Length()) {
+ if (is_depth && is_array) {
+ fn = glsl::BuiltinFn::kTextureGradOffset;
+
+ auto* dpdx = b.Call(coords->Type(), core::BuiltinFn::kDpdx, coords);
+ auto* dpdy = b.Call(coords->Type(), core::BuiltinFn::kDpdy, coords);
+
+ params.Push(dpdx->Result(0));
+ params.Push(dpdy->Result(0));
+ } else {
+ fn = glsl::BuiltinFn::kTextureOffset;
+ }
+
+ params.Push(args[idx++]);
+ }
+
+ b.CallWithResult<glsl::ir::BuiltinCall>(call->DetachResult(), fn, params);
+ });
+ call->Destroy();
+ }
};
} // namespace
diff --git a/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc b/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc
index 052294a..bcfce36 100644
--- a/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc
+++ b/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc
@@ -2025,5 +2025,1040 @@
EXPECT_EQ(expect, str());
}
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_1d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k1d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Value(1_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_1d<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:texture_1d<f32> = load %1
+ %5:sampler = load %2
+ %6:vec4<f32> = textureSample %4, %5, 1.0f
+ %x:vec4<f32> = let %6
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_2d<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 0.5f
+ %4:texture_2d<f32> = load %my_tex
+ %5:vec4<f32> = glsl.texture %4, %3
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_2d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_2d<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_2d<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d<f32> = load %my_tex
+ %5:vec4<f32> = glsl.texture %4, %3
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_2d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_2d<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4, vec2<i32>(4i, 5i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_2d<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d<f32> = load %my_tex
+ %5:vec4<f32> = glsl.textureOffset %4, %3, vec2<i32>(4i, 5i)
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_2d_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2dArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_2d_array<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4, 4u
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_2d_array<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d_array<f32> = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec3<f32> = construct %3, %5
+ %7:vec4<f32> = glsl.texture %4, %6
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_2d_Array_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k2dArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d_array<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_2d_array<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4, 4u, vec2<i32>(4i, 5i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_2d_array<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d_array<f32> = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec3<f32> = construct %3, %5
+ %7:vec4<f32> = glsl.textureOffset %4, %6, vec2<i32>(4i, 5i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_3d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k3d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_3d<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %5:texture_3d<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_3d<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %4:texture_3d<f32> = load %my_tex
+ %5:vec4<f32> = glsl.texture %4, %3
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_3d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::k3d, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* offset = b.Composite<vec3<i32>>(4_i, 5_i, 6_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_3d<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %5:texture_3d<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4, vec3<i32>(4i, 5i, 6i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_3d<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %4:texture_3d<f32> = load %my_tex
+ %5:vec4<f32> = glsl.textureOffset %4, %3, vec3<i32>(4i, 5i, 6i)
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Cube) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::kCube, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_cube<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %5:texture_cube<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_cube<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %4:texture_cube<f32> = load %my_tex
+ %5:vec4<f32> = glsl.texture %4, %3
+ %x:vec4<f32> = let %5
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Cube_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(handle, ty.Get<core::type::SampledTexture>(
+ core::type::TextureDimension::kCubeArray, ty.f32())));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_cube_array<f32>, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %5:texture_cube_array<f32> = load %1
+ %6:sampler = load %2
+ %7:vec4<f32> = textureSample %5, %6, %4, 4u
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_cube_array<f32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %4:texture_cube_array<f32> = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec4<f32> = construct %3, %5
+ %7:vec4<f32> = glsl.texture %4, %6
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Depth2d) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(
+ ty.ptr(handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2d)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_depth_2d = load %1
+ %6:sampler = load %2
+ %7:f32 = textureSample %5, %6, %4
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_depth_2d, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_depth_2d = load %my_tex
+ %5:vec3<f32> = construct %3, 0.0f
+ %6:f32 = glsl.texture %4, %5
+ %x:f32 = let %6
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Depth2d_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(
+ ty.ptr(handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2d)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_depth_2d = load %1
+ %6:sampler = load %2
+ %7:f32 = textureSample %5, %6, %4, vec2<i32>(4i, 5i)
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_depth_2d, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_depth_2d = load %my_tex
+ %5:vec3<f32> = construct %3, 0.0f
+ %6:f32 = glsl.textureOffset %4, %5, vec2<i32>(4i, 5i)
+ %x:f32 = let %6
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Depth2d_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2dArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d_array, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_depth_2d_array = load %1
+ %6:sampler = load %2
+ %7:f32 = textureSample %5, %6, %4, 4u
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_depth_2d_array, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_depth_2d_array = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec4<f32> = construct %3, %5, 0.0f
+ %7:f32 = glsl.texture %4, %6
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_Depth2d_Array_Offset) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::k2dArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec2<f32>(), b.Value(1_f), b.Value(2_f));
+ auto* array_idx = b.Value(4_u);
+ auto* offset = b.Composite<vec2<i32>>(4_i, 5_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d_array, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:texture_depth_2d_array = load %1
+ %6:sampler = load %2
+ %7:f32 = textureSample %5, %6, %4, 4u, vec2<i32>(4i, 5i)
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_depth_2d_array, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_depth_2d_array = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec4<f32> = construct %3, %5, 0.0f
+ %7:vec2<f32> = dpdx %3
+ %8:vec2<f32> = dpdy %3
+ %9:f32 = glsl.textureGradOffset %4, %6, %7, %8, vec2<i32>(4i, 5i)
+ %x:f32 = let %9
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureSample_DepthCube_Array) {
+ core::ir::Var* tex = nullptr;
+ core::ir::Var* sampler = nullptr;
+ b.Append(b.ir.root_block, [&] {
+ tex = b.Var(ty.ptr(
+ handle, ty.Get<core::type::DepthTexture>(core::type::TextureDimension::kCubeArray)));
+ tex->SetBindingPoint(0, 0);
+
+ sampler =
+ b.Var(ty.ptr(handle, ty.Get<core::type::Sampler>(core::type::SamplerKind::kSampler)));
+ sampler->SetBindingPoint(0, 1);
+ });
+
+ auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+ b.Append(func->Block(), [&] {
+ auto* coords = b.Construct(ty.vec3<f32>(), b.Value(1_f), b.Value(2_f), b.Value(3_f));
+ auto* array_idx = b.Value(4_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<f32>(core::BuiltinFn::kTextureSample, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_cube_array, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %5:texture_depth_cube_array = load %1
+ %6:sampler = load %2
+ %7:f32 = textureSample %5, %6, %4, 4u
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %my_tex:ptr<handle, texture_depth_cube_array, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec3<f32> = construct 1.0f, 2.0f, 3.0f
+ %4:texture_depth_cube_array = load %my_tex
+ %5:f32 = convert 4u
+ %6:vec4<f32> = construct %3, %5
+ %7:f32 = glsl.texture %4, %6, 0.0f
+ %x:f32 = let %7
+ ret
+ }
+}
+)";
+
+ capabilities = core::ir::Capabilities{core::ir::Capability::kAllowHandleVarsWithoutBindings};
+
+ TexturePolyfillConfig cfg;
+ cfg.placeholder_sampler_bind_point = {2, 2};
+
+ binding::CombinedTextureSamplerPair pair;
+ pair.texture = {0, 0};
+ pair.sampler = {0, 1};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
} // namespace
} // namespace tint::glsl::writer::raise
diff --git a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.glsl b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.glsl
index 0f5dc88..a9d6dc9 100644
--- a/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.glsl
+++ b/test/tint/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.ir.glsl
@@ -1,11 +1,53 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D randomTexture_Sampler;
+layout(location = 0) in vec2 tint_symbol_loc0_Input;
+layout(location = 0) out vec4 tint_symbol_loc0_Output;
+vec4 tint_symbol_inner(vec2 vUV) {
+ vec3 random = texture(randomTexture_Sampler, vUV).xyz;
+ int i = 0;
+ {
+ while(true) {
+ if ((i < 1)) {
+ } else {
+ break;
+ }
+ vec3 offset = vec3(random[0u]);
+ bool v = false;
+ if ((offset[0u] < 0.0f)) {
+ v = true;
+ } else {
+ v = (offset[1u] < 0.0f);
+ }
+ bool v_1 = false;
+ if (v) {
+ v_1 = true;
+ } else {
+ v_1 = (offset[0u] > 1.0f);
+ }
+ bool v_2 = false;
+ if (v_1) {
+ v_2 = true;
+ } else {
+ v_2 = (offset[1u] > 1.0f);
+ }
+ if (v_2) {
+ i = (i + 1);
+ {
+ }
+ continue;
+ }
+ float sampleDepth = 0.0f;
+ i = (i + 1);
+ {
+ }
+ continue;
+ }
+ }
+ return vec4(1.0f);
+}
+void main() {
+ tint_symbol_loc0_Output = tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/bug/tint/1183.wgsl.expected.ir.glsl b/test/tint/bug/tint/1183.wgsl.expected.ir.glsl
index 0f5dc88..a768443 100644
--- a/test/tint/bug/tint/1183.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1183.wgsl.expected.ir.glsl
@@ -1,11 +1,12 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) out vec4 f_loc0_Output;
+vec4 f_inner() {
+ return textureOffset(t_s, vec2(0.0f), ivec2(4, 6));
+}
+void main() {
+ f_loc0_Output = f_inner();
+}
diff --git a/test/tint/bug/tint/949.wgsl.expected.ir.glsl b/test/tint/bug/tint/949.wgsl.expected.ir.glsl
index 0f5dc88..2125fdd 100644
--- a/test/tint/bug/tint/949.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/949.wgsl.expected.ir.glsl
@@ -1,11 +1,446 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-tint executable returned error: signal: trace/BPT trap
+struct LeftOver {
+ mat4 u_World;
+ mat4 u_ViewProjection;
+ float u_bumpStrength;
+ uint padding;
+ vec3 u_cameraPosition;
+ float u_parallaxScale;
+ float textureInfoName;
+ uint padding_1;
+ vec2 tangentSpaceParameter0;
+};
+
+struct Light0 {
+ vec4 vLightData;
+ vec4 vLightDiffuse;
+ vec4 vLightSpecular;
+ vec3 vLightGround;
+ uint padding_2;
+ vec4 shadowsInfo;
+ vec2 depthValues;
+};
+
+struct lightingInfo {
+ vec3 diffuse;
+ vec3 specular;
+};
+
+struct main_out {
+ vec4 glFragColor_1;
+};
+
+float u_Float = 0.0f;
+vec3 u_Color = vec3(0.0f);
+vec2 vMainuv = vec2(0.0f);
+layout(binding = 6, std140)
+uniform tint_symbol_4_1_ubo {
+ LeftOver tint_symbol_3;
+} v;
+vec4 v_output1 = vec4(0.0f);
+bool tint_symbol = false;
+vec2 v_uv = vec2(0.0f);
+vec4 v_output2 = vec4(0.0f);
+layout(binding = 5, std140)
+uniform tint_symbol_6_1_ubo {
+ Light0 tint_symbol_5;
+} v_1;
+vec4 glFragColor = vec4(0.0f);
+uniform highp sampler2D TextureSamplerTexture_TextureSamplerSampler;
+uniform highp sampler2D TextureSampler1Texture_TextureSampler1Sampler;
+layout(location = 1) in vec2 tint_symbol_1_loc1_Input;
+layout(location = 0) in vec4 tint_symbol_1_loc0_Input;
+layout(location = 3) in vec2 tint_symbol_1_loc3_Input;
+layout(location = 2) in vec4 tint_symbol_1_loc2_Input;
+layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
+mat3 cotangent_frame_vf3_vf3_vf2_vf2_(inout vec3 normal_1, inout vec3 p, inout vec2 uv, inout vec2 tangentSpaceParams) {
+ vec3 dp1 = vec3(0.0f);
+ vec3 dp2 = vec3(0.0f);
+ vec2 duv1 = vec2(0.0f);
+ vec2 duv2 = vec2(0.0f);
+ vec3 dp2perp = vec3(0.0f);
+ vec3 dp1perp = vec3(0.0f);
+ vec3 tangent = vec3(0.0f);
+ vec3 bitangent = vec3(0.0f);
+ float invmax = 0.0f;
+ vec3 x_133 = p;
+ dp1 = dFdx(x_133);
+ vec3 x_136 = p;
+ dp2 = dFdy(x_136);
+ vec2 x_139 = uv;
+ duv1 = dFdx(x_139);
+ vec2 x_142 = uv;
+ duv2 = dFdy(x_142);
+ vec3 x_145 = dp2;
+ vec3 x_146 = normal_1;
+ dp2perp = cross(x_145, x_146);
+ vec3 x_149 = normal_1;
+ vec3 x_150 = dp1;
+ dp1perp = cross(x_149, x_150);
+ vec3 x_153 = dp2perp;
+ float x_155 = duv1.x;
+ vec3 x_157 = dp1perp;
+ float x_159 = duv2.x;
+ tangent = ((x_153 * x_155) + (x_157 * x_159));
+ vec3 x_163 = dp2perp;
+ float x_165 = duv1.y;
+ vec3 x_167 = dp1perp;
+ float x_169 = duv2.y;
+ bitangent = ((x_163 * x_165) + (x_167 * x_169));
+ float x_173 = tangentSpaceParams.x;
+ vec3 x_174 = tangent;
+ tangent = (x_174 * x_173);
+ float x_177 = tangentSpaceParams.y;
+ vec3 x_178 = bitangent;
+ bitangent = (x_178 * x_177);
+ vec3 x_181 = tangent;
+ vec3 x_182 = tangent;
+ vec3 x_184 = bitangent;
+ vec3 x_185 = bitangent;
+ float v_2 = dot(x_181, x_182);
+ invmax = inversesqrt(max(v_2, dot(x_184, x_185)));
+ vec3 x_189 = tangent;
+ float x_190 = invmax;
+ vec3 x_191 = (x_189 * x_190);
+ vec3 x_192 = bitangent;
+ float x_193 = invmax;
+ vec3 x_194 = (x_192 * x_193);
+ vec3 x_195 = normal_1;
+ vec3 v_3 = vec3(x_191[0u], x_191[1u], x_191[2u]);
+ vec3 v_4 = vec3(x_194[0u], x_194[1u], x_194[2u]);
+ return mat3(v_3, v_4, vec3(x_195[0u], x_195[1u], x_195[2u]));
+}
+mat3 transposeMat3_mf33_(inout mat3 inMatrix) {
+ vec3 i0 = vec3(0.0f);
+ vec3 i1 = vec3(0.0f);
+ vec3 i2 = vec3(0.0f);
+ mat3 outMatrix = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ vec3 x_60 = inMatrix[0];
+ i0 = x_60;
+ vec3 x_64 = inMatrix[1];
+ i1 = x_64;
+ vec3 x_68 = inMatrix[2];
+ i2 = x_68;
+ float x_73 = i0.x;
+ float x_75 = i1.x;
+ float x_77 = i2.x;
+ vec3 x_78 = vec3(x_73, x_75, x_77);
+ float x_81 = i0.y;
+ float x_83 = i1.y;
+ float x_85 = i2.y;
+ vec3 x_86 = vec3(x_81, x_83, x_85);
+ float x_89 = i0.z;
+ float x_91 = i1.z;
+ float x_93 = i2.z;
+ vec3 x_94 = vec3(x_89, x_91, x_93);
+ vec3 v_5 = vec3(x_78[0u], x_78[1u], x_78[2u]);
+ vec3 v_6 = vec3(x_86[0u], x_86[1u], x_86[2u]);
+ outMatrix = mat3(v_5, v_6, vec3(x_94[0u], x_94[1u], x_94[2u]));
+ mat3 x_110 = outMatrix;
+ return x_110;
+}
+vec3 perturbNormalBase_mf33_vf3_f1_(inout mat3 cotangentFrame, inout vec3 normal, inout float scale) {
+ mat3 x_113 = cotangentFrame;
+ vec3 x_114 = normal;
+ return normalize((x_113 * x_114));
+}
+vec3 perturbNormal_mf33_vf3_f1_(inout mat3 cotangentFrame_1, inout vec3 textureSample, inout float scale_1) {
+ mat3 param = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ vec3 param_1 = vec3(0.0f);
+ float param_2 = 0.0f;
+ vec3 x_119 = textureSample;
+ mat3 x_125 = cotangentFrame_1;
+ param = x_125;
+ param_1 = ((x_119 * 2.0f) - vec3(1.0f));
+ float x_128 = scale_1;
+ param_2 = x_128;
+ vec3 x_129 = perturbNormalBase_mf33_vf3_f1_(param, param_1, param_2);
+ return x_129;
+}
+lightingInfo computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(inout vec3 viewDirectionW, inout vec3 vNormal, inout vec4 lightData, inout vec3 diffuseColor, inout vec3 specularColor, inout vec3 groundColor, inout float glossiness) {
+ float ndl = 0.0f;
+ lightingInfo result = lightingInfo(vec3(0.0f), vec3(0.0f));
+ vec3 angleW = vec3(0.0f);
+ float specComp = 0.0f;
+ vec3 x_212 = vNormal;
+ vec4 x_213 = lightData;
+ ndl = ((dot(x_212, vec3(x_213[0u], x_213[1u], x_213[2u])) * 0.5f) + 0.5f);
+ vec3 x_220 = groundColor;
+ vec3 x_221 = diffuseColor;
+ float x_222 = ndl;
+ result.diffuse = mix(x_220, x_221, vec3(x_222, x_222, x_222));
+ vec3 x_227 = viewDirectionW;
+ vec4 x_228 = lightData;
+ angleW = normalize((x_227 + vec3(x_228[0u], x_228[1u], x_228[2u])));
+ vec3 x_233 = vNormal;
+ vec3 x_234 = angleW;
+ specComp = max(0.0f, dot(x_233, x_234));
+ float x_237 = specComp;
+ float x_238 = glossiness;
+ specComp = pow(x_237, max(1.0f, x_238));
+ float x_241 = specComp;
+ vec3 x_242 = specularColor;
+ result.specular = (x_242 * x_241);
+ lightingInfo x_245 = result;
+ return x_245;
+}
+void main_1() {
+ vec4 tempTextureRead = vec4(0.0f);
+ vec3 rgb = vec3(0.0f);
+ vec3 output5 = vec3(0.0f);
+ vec4 output4 = vec4(0.0f);
+ vec2 uvOffset = vec2(0.0f);
+ float normalScale = 0.0f;
+ vec2 TBNUV = vec2(0.0f);
+ vec2 x_299 = vec2(0.0f);
+ mat3 TBN = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ vec3 param_3 = vec3(0.0f);
+ vec3 param_4 = vec3(0.0f);
+ vec2 param_5 = vec2(0.0f);
+ vec2 param_6 = vec2(0.0f);
+ mat3 invTBN = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ mat3 param_7 = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ float parallaxLimit = 0.0f;
+ vec2 vOffsetDir = vec2(0.0f);
+ vec2 vMaxOffset = vec2(0.0f);
+ float numSamples = 0.0f;
+ float stepSize = 0.0f;
+ float currRayHeight = 0.0f;
+ vec2 vCurrOffset = vec2(0.0f);
+ vec2 vLastOffset = vec2(0.0f);
+ float lastSampledHeight = 0.0f;
+ float currSampledHeight = 0.0f;
+ int i = 0;
+ float delta1 = 0.0f;
+ float delta2 = 0.0f;
+ float ratio = 0.0f;
+ vec2 parallaxOcclusion_0 = vec2(0.0f);
+ mat3 param_8 = mat3(vec3(0.0f), vec3(0.0f), vec3(0.0f));
+ vec3 param_9 = vec3(0.0f);
+ float param_10 = 0.0f;
+ vec2 output6 = vec2(0.0f);
+ vec4 tempTextureRead1 = vec4(0.0f);
+ vec3 rgb1 = vec3(0.0f);
+ vec3 viewDirectionW_1 = vec3(0.0f);
+ float shadow = 0.0f;
+ float glossiness_1 = 0.0f;
+ vec3 diffuseBase = vec3(0.0f);
+ vec3 specularBase = vec3(0.0f);
+ vec3 normalW = vec3(0.0f);
+ lightingInfo info = lightingInfo(vec3(0.0f), vec3(0.0f));
+ vec3 param_11 = vec3(0.0f);
+ vec3 param_12 = vec3(0.0f);
+ vec4 param_13 = vec4(0.0f);
+ vec3 param_14 = vec3(0.0f);
+ vec3 param_15 = vec3(0.0f);
+ vec3 param_16 = vec3(0.0f);
+ float param_17 = 0.0f;
+ vec3 diffuseOutput = vec3(0.0f);
+ vec3 specularOutput = vec3(0.0f);
+ vec3 output3 = vec3(0.0f);
+ u_Float = 100.0f;
+ u_Color = vec3(0.5f);
+ vec2 x_261 = vMainuv;
+ vec4 x_262 = texture(TextureSamplerTexture_TextureSamplerSampler, x_261);
+ tempTextureRead = x_262;
+ vec4 x_264 = tempTextureRead;
+ float x_273 = v.tint_symbol_3.textureInfoName;
+ rgb = (vec3(x_264[0u], x_264[1u], x_264[2u]) * x_273);
+ vec3 x_279 = v.tint_symbol_3.u_cameraPosition;
+ vec4 x_282 = v_output1;
+ output5 = normalize((x_279 - vec3(x_282[0u], x_282[1u], x_282[2u])));
+ output4 = vec4(0.0f);
+ uvOffset = vec2(0.0f);
+ float x_292 = v.tint_symbol_3.u_bumpStrength;
+ normalScale = (1.0f / x_292);
+ bool x_298 = tint_symbol;
+ if (x_298) {
+ vec2 x_303 = v_uv;
+ x_299 = x_303;
+ } else {
+ vec2 x_305 = v_uv;
+ x_299 = -(x_305);
+ }
+ vec2 x_307 = x_299;
+ TBNUV = x_307;
+ vec4 x_310 = v_output2;
+ float x_312 = normalScale;
+ param_3 = (vec3(x_310[0u], x_310[1u], x_310[2u]) * x_312);
+ vec4 x_317 = v_output1;
+ param_4 = vec3(x_317[0u], x_317[1u], x_317[2u]);
+ vec2 x_320 = TBNUV;
+ param_5 = x_320;
+ vec2 x_324 = v.tint_symbol_3.tangentSpaceParameter0;
+ param_6 = x_324;
+ mat3 x_325 = cotangent_frame_vf3_vf3_vf2_vf2_(param_3, param_4, param_5, param_6);
+ TBN = x_325;
+ mat3 x_328 = TBN;
+ param_7 = x_328;
+ mat3 x_329 = transposeMat3_mf33_(param_7);
+ invTBN = x_329;
+ mat3 x_331 = invTBN;
+ vec3 x_332 = output5;
+ vec3 x_334 = (x_331 * -(x_332));
+ mat3 x_337 = invTBN;
+ vec3 x_338 = output5;
+ parallaxLimit = (length(vec2(x_334[0u], x_334[1u])) / (x_337 * -(x_338))[2u]);
+ float x_345 = v.tint_symbol_3.u_parallaxScale;
+ float x_346 = parallaxLimit;
+ parallaxLimit = (x_346 * x_345);
+ mat3 x_349 = invTBN;
+ vec3 x_350 = output5;
+ vec3 x_352 = (x_349 * -(x_350));
+ vOffsetDir = normalize(vec2(x_352[0u], x_352[1u]));
+ vec2 x_356 = vOffsetDir;
+ float x_357 = parallaxLimit;
+ vMaxOffset = (x_356 * x_357);
+ mat3 x_361 = invTBN;
+ vec3 x_362 = output5;
+ mat3 x_365 = invTBN;
+ vec4 x_366 = v_output2;
+ numSamples = (15.0f + (dot((x_361 * -(x_362)), (x_365 * vec3(x_366[0u], x_366[1u], x_366[2u]))) * -11.0f));
+ float x_374 = numSamples;
+ stepSize = (1.0f / x_374);
+ currRayHeight = 1.0f;
+ vCurrOffset = vec2(0.0f);
+ vLastOffset = vec2(0.0f);
+ lastSampledHeight = 1.0f;
+ currSampledHeight = 1.0f;
+ i = 0;
+ {
+ while(true) {
+ int x_388 = i;
+ if ((x_388 < 15)) {
+ } else {
+ break;
+ }
+ vec2 x_394 = v_uv;
+ vec2 x_395 = vCurrOffset;
+ vec4 x_397 = vec4(0.0f);
+ currSampledHeight = x_397[3u];
+ float x_400 = currSampledHeight;
+ float x_401 = currRayHeight;
+ if ((x_400 > x_401)) {
+ float x_406 = currSampledHeight;
+ float x_407 = currRayHeight;
+ delta1 = (x_406 - x_407);
+ float x_410 = currRayHeight;
+ float x_411 = stepSize;
+ float x_413 = lastSampledHeight;
+ delta2 = ((x_410 + x_411) - x_413);
+ float x_416 = delta1;
+ float x_417 = delta1;
+ float x_418 = delta2;
+ ratio = (x_416 / (x_417 + x_418));
+ float x_421 = ratio;
+ vec2 x_422 = vLastOffset;
+ float x_424 = ratio;
+ vec2 x_426 = vCurrOffset;
+ vCurrOffset = ((x_422 * x_421) + (x_426 * (1.0f - x_424)));
+ break;
+ } else {
+ float x_431 = stepSize;
+ float x_432 = currRayHeight;
+ currRayHeight = (x_432 - x_431);
+ vec2 x_434 = vCurrOffset;
+ vLastOffset = x_434;
+ float x_435 = stepSize;
+ vec2 x_436 = vMaxOffset;
+ vec2 x_438 = vCurrOffset;
+ vCurrOffset = (x_438 + (x_436 * x_435));
+ float x_440 = currSampledHeight;
+ lastSampledHeight = x_440;
+ }
+ {
+ int x_441 = i;
+ i = (x_441 + 1);
+ }
+ continue;
+ }
+ }
+ vec2 x_444 = vCurrOffset;
+ parallaxOcclusion_0 = x_444;
+ vec2 x_445 = parallaxOcclusion_0;
+ uvOffset = x_445;
+ vec2 x_449 = v_uv;
+ vec2 x_450 = uvOffset;
+ vec4 x_452 = texture(TextureSamplerTexture_TextureSamplerSampler, (x_449 + x_450));
+ float x_454 = v.tint_symbol_3.u_bumpStrength;
+ mat3 x_457 = TBN;
+ param_8 = x_457;
+ param_9 = vec3(x_452[0u], x_452[1u], x_452[2u]);
+ param_10 = (1.0f / x_454);
+ vec3 x_461 = perturbNormal_mf33_vf3_f1_(param_8, param_9, param_10);
+ vec4 x_462 = output4;
+ output4 = vec4(x_461[0u], x_461[1u], x_461[2u], x_462[3u]);
+ vec2 x_465 = v_uv;
+ vec2 x_466 = uvOffset;
+ output6 = (x_465 + x_466);
+ vec2 x_474 = output6;
+ vec4 x_475 = texture(TextureSampler1Texture_TextureSampler1Sampler, x_474);
+ tempTextureRead1 = x_475;
+ vec4 x_477 = tempTextureRead1;
+ rgb1 = vec3(x_477[0u], x_477[1u], x_477[2u]);
+ vec3 x_481 = v.tint_symbol_3.u_cameraPosition;
+ vec4 x_482 = v_output1;
+ viewDirectionW_1 = normalize((x_481 - vec3(x_482[0u], x_482[1u], x_482[2u])));
+ shadow = 1.0f;
+ float x_488 = u_Float;
+ glossiness_1 = (1.0f * x_488);
+ diffuseBase = vec3(0.0f);
+ specularBase = vec3(0.0f);
+ vec4 x_494 = output4;
+ normalW = vec3(x_494[0u], x_494[1u], x_494[2u]);
+ vec3 x_501 = viewDirectionW_1;
+ param_11 = x_501;
+ vec3 x_503 = normalW;
+ param_12 = x_503;
+ vec4 x_507 = v_1.tint_symbol_5.vLightData;
+ param_13 = x_507;
+ vec4 x_510 = v_1.tint_symbol_5.vLightDiffuse;
+ param_14 = vec3(x_510[0u], x_510[1u], x_510[2u]);
+ vec4 x_514 = v_1.tint_symbol_5.vLightSpecular;
+ param_15 = vec3(x_514[0u], x_514[1u], x_514[2u]);
+ vec3 x_518 = v_1.tint_symbol_5.vLightGround;
+ param_16 = x_518;
+ float x_520 = glossiness_1;
+ param_17 = x_520;
+ lightingInfo x_521 = computeHemisphericLighting_vf3_vf3_vf4_vf3_vf3_vf3_f1_(param_11, param_12, param_13, param_14, param_15, param_16, param_17);
+ info = x_521;
+ shadow = 1.0f;
+ vec3 x_523 = info.diffuse;
+ float x_524 = shadow;
+ vec3 x_526 = diffuseBase;
+ diffuseBase = (x_526 + (x_523 * x_524));
+ vec3 x_529 = info.specular;
+ float x_530 = shadow;
+ vec3 x_532 = specularBase;
+ specularBase = (x_532 + (x_529 * x_530));
+ vec3 x_535 = diffuseBase;
+ vec3 x_536 = rgb1;
+ diffuseOutput = (x_535 * x_536);
+ vec3 x_539 = specularBase;
+ vec3 x_540 = u_Color;
+ specularOutput = (x_539 * x_540);
+ vec3 x_543 = diffuseOutput;
+ vec3 x_544 = specularOutput;
+ output3 = (x_543 + x_544);
+ vec3 x_548 = output3;
+ glFragColor = vec4(x_548[0u], x_548[1u], x_548[2u], 1.0f);
+}
+main_out tint_symbol_1_inner(vec2 vMainuv_param, vec4 v_output1_param, bool tint_symbol_2, vec2 v_uv_param, vec4 v_output2_param) {
+ vMainuv = vMainuv_param;
+ v_output1 = v_output1_param;
+ tint_symbol = tint_symbol_2;
+ v_uv = v_uv_param;
+ v_output2 = v_output2_param;
+ main_1();
+ return main_out(glFragColor);
+}
+void main() {
+ tint_symbol_1_loc0_Output = tint_symbol_1_inner(tint_symbol_1_loc1_Input, tint_symbol_1_loc0_Input, gl_FrontFacing, tint_symbol_1_loc3_Input, tint_symbol_1_loc2_Input).glFragColor_1;
+}
diff --git a/test/tint/bug/tint/978.wgsl.expected.ir.glsl b/test/tint/bug/tint/978.wgsl.expected.ir.glsl
index 0f5dc88..010304f 100644
--- a/test/tint/bug/tint/978.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/978.wgsl.expected.ir.glsl
@@ -1,11 +1,26 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-tint executable returned error: signal: trace/BPT trap
+struct FragmentOutput {
+ vec4 color;
+};
+
+struct FragmentInput {
+ vec2 vUv;
+};
+
+uniform highp sampler2DShadow depthMap_texSampler;
+layout(location = 2) in vec2 tint_symbol_loc2_Input;
+layout(location = 0) out vec4 tint_symbol_loc0_Output;
+FragmentOutput tint_symbol_inner(FragmentInput fIn) {
+ float tint_symbol_1 = texture(depthMap_texSampler, vec3(fIn.vUv, 0.0f));
+ vec3 color = vec3(tint_symbol_1, tint_symbol_1, tint_symbol_1);
+ FragmentOutput fOut = FragmentOutput(vec4(0.0f));
+ fOut.color = vec4(color, 1.0f);
+ return fOut;
+}
+void main() {
+ tint_symbol_loc0_Output = tint_symbol_inner(FragmentInput(tint_symbol_loc2_Input)).color;
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.glsl
index 0f5dc88..5f64e21 100644
--- a/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/0dff6c.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+float textureSample_0dff6c() {
+ float res = textureOffset(arg_0_arg_1, vec3(vec2(1.0f), 0.0f), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_0dff6c();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.glsl
index 0f5dc88..4ca02d7 100644
--- a/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/17e988.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_17e988() {
+ vec4 res = textureOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_17e988();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.glsl
index 0f5dc88..21944f3 100644
--- a/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/193203.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_193203() {
+ vec4 res = textureOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_193203();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.glsl
index 0f5dc88..b9858c3 100644
--- a/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/1a4e1b.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_1a4e1b() {
+ float res = texture(arg_0_arg_1, vec4(vec2(1.0f), float(1u), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_1a4e1b();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.glsl
index 0f5dc88..1420455 100644
--- a/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/2149ec.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler3D arg_0_arg_1;
+vec4 textureSample_2149ec() {
+ vec4 res = textureOffset(arg_0_arg_1, vec3(1.0f), ivec3(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_2149ec();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.glsl
index 0f5dc88..9b17cdd 100644
--- a/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/38bbb9.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+float textureSample_38bbb9() {
+ float res = texture(arg_0_arg_1, vec3(vec2(1.0f), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_38bbb9();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.glsl
index 0f5dc88..de4b7e9 100644
--- a/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/3b50bd.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler3D arg_0_arg_1;
+vec4 textureSample_3b50bd() {
+ vec4 res = texture(arg_0_arg_1, vec3(1.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_3b50bd();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.glsl
index 0f5dc88..7e4b4a0 100644
--- a/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/4703d0.wgsl.expected.ir.glsl
@@ -1,11 +1,18 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_4703d0() {
+ vec4 v_1 = vec4(vec2(1.0f), float(1u), 0.0f);
+ vec2 v_2 = dFdx(vec2(1.0f));
+ float res = textureGradOffset(arg_0_arg_1, v_1, v_2, dFdy(vec2(1.0f)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_4703d0();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.glsl
index 0f5dc88..b053dd3 100644
--- a/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/4dd1bf.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_0_arg_1;
+vec4 textureSample_4dd1bf() {
+ vec4 res = texture(arg_0_arg_1, vec4(vec3(1.0f), float(1)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_4dd1bf();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.glsl
index 0f5dc88..4b15e19 100644
--- a/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/51b514.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_51b514() {
+ vec4 res = texture(arg_0_arg_1, vec2(1.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_51b514();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.glsl
index 0f5dc88..dc8e765 100644
--- a/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/60bf45.wgsl.expected.ir.glsl
@@ -1,11 +1,18 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_60bf45() {
+ vec4 v_1 = vec4(vec2(1.0f), float(1), 0.0f);
+ vec2 v_2 = dFdx(vec2(1.0f));
+ float res = textureGradOffset(arg_0_arg_1, v_1, v_2, dFdy(vec2(1.0f)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_60bf45();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.glsl
index 0f5dc88..df6c21a 100644
--- a/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/6717ca.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_6717ca() {
+ vec4 res = texture(arg_0_arg_1, vec3(vec2(1.0f), float(1)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_6717ca();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.glsl
index 0f5dc88..97444bd 100644
--- a/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/6e64fb.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_6e64fb() {
+ vec4 res = texture(arg_0_arg_1, vec2(1.0f, 0.5f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_6e64fb();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.glsl
index 0f5dc88..1ba164b 100644
--- a/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/7e9ffd.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_7e9ffd() {
+ float res = texture(arg_0_arg_1, vec4(vec2(1.0f), float(1), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_7e9ffd();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.glsl
index 0f5dc88..ce998ba 100644
--- a/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/7fd8cb.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+float textureSample_7fd8cb() {
+ float res = texture(arg_0_arg_1, vec4(vec3(1.0f), float(1u)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_7fd8cb();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.glsl
index 0f5dc88..ecebe52 100644
--- a/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/85c4ba.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_85c4ba() {
+ vec4 res = textureOffset(arg_0_arg_1, vec2(1.0f), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_85c4ba();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.glsl
index 0f5dc88..29abc9c 100644
--- a/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/bc7477.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_0_arg_1;
+vec4 textureSample_bc7477() {
+ vec4 res = texture(arg_0_arg_1, vec4(vec3(1.0f), float(1u)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_bc7477();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.glsl
index 0f5dc88..59a2c17 100644
--- a/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/c2f4e8.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+float textureSample_c2f4e8() {
+ float res = texture(arg_0_arg_1, vec4(vec3(1.0f), float(1)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_c2f4e8();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.glsl
index 0f5dc88..a871181 100644
--- a/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/d6b281.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_d6b281() {
+ vec4 res = texture(arg_0_arg_1, vec3(vec2(1.0f), float(1u)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_d6b281();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.glsl
index 0f5dc88..1da1ac3 100644
--- a/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/e53267.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_0_arg_1;
+vec4 textureSample_e53267() {
+ vec4 res = texture(arg_0_arg_1, vec3(1.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_e53267();
+}
diff --git a/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.glsl
index 0f5dc88..abcbe97 100644
--- a/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureSample/ea7030.wgsl.expected.ir.glsl
@@ -1,11 +1,16 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+float textureSample_ea7030() {
+ float res = texture(arg_0_arg_1, vec4(vec3(1.0f), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_ea7030();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.ir.glsl
index 0f5dc88..dffa0a7 100644
--- a/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/0dff6c.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+float textureSample_0dff6c() {
+ vec2 arg_2 = vec2(1.0f);
+ float res = textureOffset(arg_0_arg_1, vec3(arg_2, 0.0f), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_0dff6c();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.glsl
index 0f5dc88..91266b5 100644
--- a/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/17e988.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_17e988() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = textureOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_17e988();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.glsl
index 0f5dc88..0d53d0f 100644
--- a/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/193203.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_193203() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = textureOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_193203();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.glsl
index 0f5dc88..46242e8 100644
--- a/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/1a4e1b.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_1a4e1b() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ float res = texture(arg_0_arg_1, vec4(v_1, float(arg_3), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_1a4e1b();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.ir.glsl
index 0f5dc88..949651d 100644
--- a/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/2149ec.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler3D arg_0_arg_1;
+vec4 textureSample_2149ec() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = textureOffset(arg_0_arg_1, arg_2, ivec3(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_2149ec();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.ir.glsl
index 0f5dc88..3861b4b 100644
--- a/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/38bbb9.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+float textureSample_38bbb9() {
+ vec2 arg_2 = vec2(1.0f);
+ float res = texture(arg_0_arg_1, vec3(arg_2, 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_38bbb9();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.ir.glsl
index 0f5dc88..8327338 100644
--- a/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/3b50bd.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler3D arg_0_arg_1;
+vec4 textureSample_3b50bd() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = texture(arg_0_arg_1, arg_2);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_3b50bd();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.glsl
index 0f5dc88..2856dd6 100644
--- a/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/4703d0.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_4703d0() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 v_2 = vec4(v_1, float(arg_3), 0.0f);
+ vec2 v_3 = dFdx(v_1);
+ float res = textureGradOffset(arg_0_arg_1, v_2, v_3, dFdy(v_1), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_4703d0();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.glsl
index 0f5dc88..88082ce 100644
--- a/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/4dd1bf.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_0_arg_1;
+vec4 textureSample_4dd1bf() {
+ vec3 arg_2 = vec3(1.0f);
+ int arg_3 = 1;
+ vec3 v_1 = arg_2;
+ vec4 res = texture(arg_0_arg_1, vec4(v_1, float(arg_3)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_4dd1bf();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.ir.glsl
index 0f5dc88..ee9cb79 100644
--- a/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/51b514.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_51b514() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = texture(arg_0_arg_1, arg_2);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_51b514();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.glsl
index 0f5dc88..fa95fd2 100644
--- a/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/60bf45.wgsl.expected.ir.glsl
@@ -1,11 +1,21 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_60bf45() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 v_2 = vec4(v_1, float(arg_3), 0.0f);
+ vec2 v_3 = dFdx(v_1);
+ float res = textureGradOffset(arg_0_arg_1, v_2, v_3, dFdy(v_1), ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_60bf45();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.glsl
index 0f5dc88..dc2ea9b 100644
--- a/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/6717ca.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_6717ca() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = texture(arg_0_arg_1, vec3(v_1, float(arg_3)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_6717ca();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.ir.glsl
index 0f5dc88..9fdd754 100644
--- a/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/6e64fb.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_6e64fb() {
+ float arg_2 = 1.0f;
+ vec4 res = texture(arg_0_arg_1, vec2(arg_2, 0.5f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_6e64fb();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.glsl
index 0f5dc88..4ebee3e 100644
--- a/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/7e9ffd.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+float textureSample_7e9ffd() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ float res = texture(arg_0_arg_1, vec4(v_1, float(arg_3), 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_7e9ffd();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.glsl
index 0f5dc88..6480795 100644
--- a/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/7fd8cb.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+float textureSample_7fd8cb() {
+ vec3 arg_2 = vec3(1.0f);
+ uint arg_3 = 1u;
+ vec3 v_1 = arg_2;
+ float res = texture(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_7fd8cb();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.ir.glsl
index 0f5dc88..1cf72bd 100644
--- a/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/85c4ba.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_0_arg_1;
+vec4 textureSample_85c4ba() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureOffset(arg_0_arg_1, arg_2, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_85c4ba();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.glsl
index 0f5dc88..ac80310 100644
--- a/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/bc7477.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_0_arg_1;
+vec4 textureSample_bc7477() {
+ vec3 arg_2 = vec3(1.0f);
+ uint arg_3 = 1u;
+ vec3 v_1 = arg_2;
+ vec4 res = texture(arg_0_arg_1, vec4(v_1, float(arg_3)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_bc7477();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.glsl
index 0f5dc88..abf4518 100644
--- a/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/c2f4e8.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 460
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+float textureSample_c2f4e8() {
+ vec3 arg_2 = vec3(1.0f);
+ int arg_3 = 1;
+ vec3 v_1 = arg_2;
+ float res = texture(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_c2f4e8();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.glsl
index 0f5dc88..80449dc 100644
--- a/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/d6b281.wgsl.expected.ir.glsl
@@ -1,11 +1,19 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_0_arg_1;
+vec4 textureSample_d6b281() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = texture(arg_0_arg_1, vec3(v_1, float(arg_3)));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_d6b281();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.ir.glsl
index 0f5dc88..7b3d32d 100644
--- a/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/e53267.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_0_arg_1;
+vec4 textureSample_e53267() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = texture(arg_0_arg_1, arg_2);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_e53267();
+}
diff --git a/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.ir.glsl
index 0f5dc88..3e04848 100644
--- a/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureSample/ea7030.wgsl.expected.ir.glsl
@@ -1,11 +1,17 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ float tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+float textureSample_ea7030() {
+ vec3 arg_2 = vec3(1.0f);
+ float res = texture(arg_0_arg_1, vec4(arg_2, 0.0f));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureSample_ea7030();
+}
diff --git a/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.ir.glsl
index 2042302..d07f353 100644
--- a/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/case_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/case_body_attribute.wgsl:8:11 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,28 @@
switch (i32(x)) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+int tint_f32_to_i32(float value) {
+ return mix(2147483647, mix((-2147483647 - 1), int(value), (value >= -2147483648.0f)), (value <= 2147483520.0f));
+}
+void tint_symbol_inner(float x) {
+ switch(tint_f32_to_i32(x)) {
+ case 0:
+ {
+ texture(t_s, vec2(0.0f));
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.ir.glsl
index 55ec1b4..11fedc3 100644
--- a/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/compound_statement_attribute.wgsl:8:11 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,17 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.ir.glsl
index 69bbc26..c31b4fc 100644
--- a/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/default_case_body_attribute.wgsl:8:11 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,24 @@
switch (i32(x)) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+int tint_f32_to_i32(float value) {
+ return mix(2147483647, mix((-2147483647 - 1), int(value), (value >= -2147483648.0f)), (value <= 2147483520.0f));
+}
+void tint_symbol_inner(float x) {
+ switch(tint_f32_to_i32(x)) {
+ default:
+ {
+ texture(t_s, vec2(0.0f));
+ break;
+ }
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/directive.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/directive.wgsl.expected.ir.glsl
index 69208b0..61d0cd2 100644
--- a/test/tint/diagnostic_filtering/directive.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/directive.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/directive.wgsl:9:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,17 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.ir.glsl
index 1049a07..9653d9e 100644
--- a/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/else_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/else_body_attribute.wgsl:8:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,18 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ } else {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.ir.glsl
index 09e30c1..5608660 100644
--- a/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/else_if_body_attribute.wgsl:8:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,20 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ } else {
+ if ((x < 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.glsl
index 01d46e8..ae76ce3 100644
--- a/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/for_loop_body_attribute.wgsl:8:9 warning: 'textureSample' must only be called from uniform control flow
v = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,27 @@
v = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ vec4 v = vec4(0.0f);
+ {
+ while(true) {
+ if ((x > v.x)) {
+ } else {
+ break;
+ }
+ v = texture(t_s, vec2(0.0f));
+ {
+ }
+ continue;
+ }
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.ir.glsl
index ef534fe..1fa2672 100644
--- a/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/function_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/function_attribute.wgsl:7:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,17 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.ir.glsl
index a5c7e92..71b1261 100644
--- a/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/function_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/function_body_attribute.wgsl:7:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,17 @@
if (x > 0) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.ir.glsl
index 78aa5e9..b3b2597 100644
--- a/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/if_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/if_body_attribute.wgsl:7:9 warning: 'textureSample' must only be called from uniform control flow
_ = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,17 @@
if (x > 0) @diagnostic(warning, derivative_uniformity) {
^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ if ((x > 0.0f)) {
+ texture(t_s, vec2(0.0f));
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.glsl b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.glsl
index 9a9b3f3..b355635 100644
--- a/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.glsl
+++ b/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
<dawn>/test/tint/diagnostic_filtering/while_loop_body_attribute.wgsl:8:9 warning: 'textureSample' must only be called from uniform control flow
v = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -12,12 +10,27 @@
v = textureSample(t, s, vec2(0, 0));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
+#version 310 es
+precision highp float;
+precision highp int;
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+layout(location = 0) in float tint_symbol_loc0_Input;
+void tint_symbol_inner(float x) {
+ vec4 v = vec4(0.0f);
+ {
+ while(true) {
+ if ((x > v.x)) {
+ } else {
+ break;
+ }
+ v = texture(t_s, vec2(0.0f));
+ {
+ }
+ continue;
+ }
+ }
+}
+void main() {
+ tint_symbol_inner(tint_symbol_loc0_Input);
+}
diff --git a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.glsl b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.glsl
index 0f5dc88..00b2ca7 100644
--- a/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.glsl
+++ b/test/tint/statements/discard/atomic_in_for_loop_continuing.wgsl.expected.ir.glsl
@@ -1,11 +1,47 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 2, std430)
+buffer tint_symbol_2_1_ssbo {
+ int tint_symbol_1;
+} v;
+bool continue_execution = true;
+uniform highp sampler2D t_s;
+layout(location = 0) in float foo_loc0_Input;
+layout(location = 1) in vec2 foo_loc1_Input;
+layout(location = 0) out int foo_loc0_Output;
+int tint_f32_to_i32(float value) {
+ return mix(2147483647, mix((-2147483647 - 1), int(value), (value >= -2147483648.0f)), (value <= 2147483520.0f));
+}
+int foo_inner(float tint_symbol, vec2 coord) {
+ if ((tint_symbol == 0.0f)) {
+ continue_execution = false;
+ }
+ int result = tint_f32_to_i32(texture(t_s, coord)[0u]);
+ {
+ int i = 0;
+ while(true) {
+ if ((i < 10)) {
+ } else {
+ break;
+ }
+ result = (result + i);
+ {
+ int v_1 = 0;
+ if (continue_execution) {
+ v_1 = atomicAdd(v.tint_symbol_1, 1);
+ }
+ i = v_1;
+ }
+ continue;
+ }
+ }
+ if (!(continue_execution)) {
+ discard;
+ }
+ return result;
+}
+void main() {
+ foo_loc0_Output = foo_inner(foo_loc0_Input, foo_loc1_Input);
+}
diff --git a/test/tint/types/sampler.wgsl.expected.ir.glsl b/test/tint/types/sampler.wgsl.expected.ir.glsl
index 0f5dc88..fb6190d 100644
--- a/test/tint/types/sampler.wgsl.expected.ir.glsl
+++ b/test/tint/types/sampler.wgsl.expected.ir.glsl
@@ -1,11 +1,10 @@
-SKIP: FAILED
+#version 310 es
+precision highp float;
+precision highp int;
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
+uniform highp sampler2D t_s;
+uniform highp sampler2DShadow d_sc;
+void main() {
+ vec4 a = texture(t_s, vec2(1.0f));
+ vec4 b = textureGather(d_sc, vec2(1.0f), 1.0f);
+}
diff --git a/test/tint/unittest/reader/spirv/ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ConvertResultSignedness_SpvParserHandleTest_SampledImageAccessTest_Variable_6.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_1D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_3.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_2DArray_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_2D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_3D_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Good_Cube_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_DepthTexture_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/ImageSampleProjImplicitLod_SpvParserHandleTest_SampledImageAccessTest_Variable_3.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/PreserveFloatCoords_Arrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/PreserveFloatCoords_NonArrayed_SpvParserHandleTest_ImageCoordsTest_MakeCoordinateOperandsForImageAccess_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_2.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_6.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_6.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/Samples_SpvParserHandleTest_RegisterHandleUsage_SampledImage_Variable_6.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap
diff --git a/test/tint/unittest/reader/spirv/SpvParserHandleTest_NeverGenerateConstDeclForHandle_UseVariableDirectly.spvasm.expected.ir.glsl b/test/tint/unittest/reader/spirv/SpvParserHandleTest_NeverGenerateConstDeclForHandle_UseVariableDirectly.spvasm.expected.ir.glsl
deleted file mode 100644
index 0f5dc88..0000000
--- a/test/tint/unittest/reader/spirv/SpvParserHandleTest_NeverGenerateConstDeclForHandle_UseVariableDirectly.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-SKIP: FAILED
-
-<dawn>/src/tint/lang/glsl/writer/printer/printer.cc:1468 internal compiler error: TINT_UNREACHABLE unhandled core builtin: textureSample
-********************************************************************
-* The tint shader compiler has encountered an unexpected error. *
-* *
-* Please help us fix this issue by submitting a bug report at *
-* crbug.com/tint with the source program that triggered the bug. *
-********************************************************************
-
-tint executable returned error: signal: trace/BPT trap