[glsl][ir] Polyfill `textureGather`
This Cl replaces the WGSL `textureGather` call with the needed GLSL
polyfill.
Bug: 42251044
Change-Id: I86571731b80a603dcb5f420aaa9a583c6ecf7e47
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/209054
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/cmd/fuzz/wgsl/dictionary.txt b/src/tint/cmd/fuzz/wgsl/dictionary.txt
index 770f889..9d185d9 100644
--- a/src/tint/cmd/fuzz/wgsl/dictionary.txt
+++ b/src/tint/cmd/fuzz/wgsl/dictionary.txt
@@ -343,6 +343,7 @@
"ref"
"reflect"
"refract"
+"refz"
"requires"
"result"
"return"
diff --git a/src/tint/lang/core/core.def b/src/tint/lang/core/core.def
index 078da7f..af75950 100644
--- a/src/tint/lang/core/core.def
+++ b/src/tint/lang/core/core.def
@@ -242,6 +242,7 @@
location
num_levels
original_value
+ refz
samples
result
width
diff --git a/src/tint/lang/core/parameter_usage.cc b/src/tint/lang/core/parameter_usage.cc
index a1ade91..230c624 100644
--- a/src/tint/lang/core/parameter_usage.cc
+++ b/src/tint/lang/core/parameter_usage.cc
@@ -92,6 +92,8 @@
return "offset";
case ParameterUsage::kOriginalValue:
return "original_value";
+ case ParameterUsage::kRefz:
+ return "refz";
case ParameterUsage::kResult:
return "result";
case ParameterUsage::kSampleIndex:
diff --git a/src/tint/lang/core/parameter_usage.h b/src/tint/lang/core/parameter_usage.h
index cdc8d0b..bde9e83 100644
--- a/src/tint/lang/core/parameter_usage.h
+++ b/src/tint/lang/core/parameter_usage.h
@@ -72,6 +72,7 @@
kNumLevels,
kOffset,
kOriginalValue,
+ kRefz,
kResult,
kSampleIndex,
kSampler,
diff --git a/src/tint/lang/glsl/builtin_fn.cc b/src/tint/lang/glsl/builtin_fn.cc
index 5f2f55f..78ba9e0 100644
--- a/src/tint/lang/glsl/builtin_fn.cc
+++ b/src/tint/lang/glsl/builtin_fn.cc
@@ -86,6 +86,10 @@
return "modf";
case BuiltinFn::kFrexp:
return "frexp";
+ case BuiltinFn::kTextureGather:
+ return "textureGather";
+ case BuiltinFn::kTextureGatherOffset:
+ return "textureGatherOffset";
case BuiltinFn::kTextureSize:
return "textureSize";
case BuiltinFn::kImageSize:
diff --git a/src/tint/lang/glsl/builtin_fn.h b/src/tint/lang/glsl/builtin_fn.h
index 83216f5..aa81503 100644
--- a/src/tint/lang/glsl/builtin_fn.h
+++ b/src/tint/lang/glsl/builtin_fn.h
@@ -69,6 +69,8 @@
kMix,
kModf,
kFrexp,
+ kTextureGather,
+ kTextureGatherOffset,
kTextureSize,
kImageSize,
kTexelFetch,
diff --git a/src/tint/lang/glsl/glsl.def b/src/tint/lang/glsl/glsl.def
index c3c1e28..c8cbaab 100644
--- a/src/tint/lang/glsl/glsl.def
+++ b/src/tint/lang/glsl/glsl.def
@@ -187,6 +187,60 @@
@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>
+@must_use implicit(T: fiu32) fn textureGather(
+ texture: texture_2d<T>,
+ coords: vec2<f32>,
+ component: i32) -> vec4<T>
+@must_use implicit(T: fiu32) fn textureGather(
+ texture: texture_2d_array<T>,
+ coords: vec3<f32>,
+ component: i32) -> vec4<T>
+@must_use implicit(T: fiu32) fn textureGather(
+ texture: texture_cube<T>,
+ coords: vec3<f32>,
+ component: i32) -> vec4<T>
+@must_use implicit(T: fiu32) fn textureGather(
+ texture: texture_cube_array<T>,
+ coords: vec4<f32>,
+ component: i32) -> vec4<T>
+@must_use fn textureGather(
+ texture: texture_depth_2d,
+ coords: vec2<f32>,
+ refz: f32) -> vec4<f32>
+@must_use fn textureGather(
+ texture: texture_depth_2d_array,
+ coords: vec3<f32>,
+ refz: f32) -> vec4<f32>
+@must_use fn textureGather(
+ texture: texture_depth_cube,
+ coords: vec3<f32>,
+ refz: f32) -> vec4<f32>
+@must_use fn textureGather(
+ texture: texture_depth_cube_array,
+ coords: vec4<f32>,
+ refz: f32) -> vec4<f32>
+
+@must_use implicit(T: fiu32) fn textureGatherOffset(
+ texture: texture_2d<T>,
+ coords: vec2<f32>,
+ offset: vec2<i32>,
+ component: i32) -> vec4<T>
+@must_use implicit(T: fiu32) fn textureGatherOffset(
+ texture: texture_2d_array<T>,
+ coords: vec3<f32>,
+ offset: vec2<i32>,
+ component: i32) -> vec4<T>
+@must_use fn textureGatherOffset(
+ texture: texture_depth_2d,
+ coords: vec2<f32>,
+ refz: f32,
+ offset: vec2<i32>) -> vec4<f32>
+@must_use fn textureGatherOffset(
+ texture: texture_depth_2d_array,
+ coords: vec3<f32>,
+ 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>,
diff --git a/src/tint/lang/glsl/intrinsic/data.cc b/src/tint/lang/glsl/intrinsic/data.cc
index 7d2dcac..366834c 100644
--- a/src/tint/lang/glsl/intrinsic/data.cc
+++ b/src/tint/lang/glsl/intrinsic/data.cc
@@ -1074,28 +1074,28 @@
/* [100] */ MatcherIndex(2),
/* [101] */ MatcherIndex(9),
/* [102] */ MatcherIndex(3),
- /* [103] */ MatcherIndex(14),
+ /* [103] */ MatcherIndex(11),
/* [104] */ MatcherIndex(0),
- /* [105] */ MatcherIndex(9),
- /* [106] */ MatcherIndex(5),
- /* [107] */ MatcherIndex(15),
+ /* [105] */ MatcherIndex(15),
+ /* [106] */ MatcherIndex(0),
+ /* [107] */ MatcherIndex(16),
/* [108] */ MatcherIndex(0),
- /* [109] */ MatcherIndex(10),
- /* [110] */ MatcherIndex(5),
- /* [111] */ MatcherIndex(16),
+ /* [109] */ MatcherIndex(18),
+ /* [110] */ MatcherIndex(0),
+ /* [111] */ MatcherIndex(19),
/* [112] */ MatcherIndex(0),
- /* [113] */ MatcherIndex(17),
- /* [114] */ MatcherIndex(0),
- /* [115] */ MatcherIndex(18),
- /* [116] */ MatcherIndex(0),
- /* [117] */ MatcherIndex(19),
+ /* [113] */ MatcherIndex(11),
+ /* [114] */ MatcherIndex(4),
+ /* [115] */ MatcherIndex(9),
+ /* [116] */ MatcherIndex(5),
+ /* [117] */ MatcherIndex(14),
/* [118] */ MatcherIndex(0),
- /* [119] */ MatcherIndex(20),
- /* [120] */ MatcherIndex(0),
- /* [121] */ MatcherIndex(11),
+ /* [119] */ MatcherIndex(10),
+ /* [120] */ MatcherIndex(5),
+ /* [121] */ MatcherIndex(17),
/* [122] */ MatcherIndex(0),
- /* [123] */ MatcherIndex(11),
- /* [124] */ MatcherIndex(4),
+ /* [123] */ MatcherIndex(20),
+ /* [124] */ MatcherIndex(0),
/* [125] */ MatcherIndex(11),
/* [126] */ MatcherIndex(5),
/* [127] */ MatcherIndex(11),
@@ -1164,571 +1164,741 @@
},
{
/* [8] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(17),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(105),
},
{
/* [9] */
- /* usage */ core::ParameterUsage::kCompareValue,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
/* [10] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(3),
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [11] */
- /* usage */ core::ParameterUsage::kOffset,
+ /* usage */ core::ParameterUsage::kComponent,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [12] */
- /* usage */ core::ParameterUsage::kBits,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(107),
},
{
/* [13] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(44),
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
/* [14] */
/* usage */ core::ParameterUsage::kOffset,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* matcher_indices */ MatcherIndicesIndex(115),
},
{
/* [15] */
- /* usage */ core::ParameterUsage::kBits,
+ /* usage */ core::ParameterUsage::kComponent,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
/* [16] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [17] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [18] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(5),
- },
- {
- /* [19] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(2),
- },
- {
- /* [20] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(2),
- },
- {
- /* [21] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(47),
- },
- {
- /* [22] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(103),
- },
- {
- /* [23] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [24] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [25] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(107),
- },
- {
- /* [26] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [27] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [28] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(111),
- },
- {
- /* [29] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(109),
- },
- {
- /* [30] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [31] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(119),
- },
- {
- /* [32] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(105),
- },
- {
- /* [33] */
- /* usage */ core::ParameterUsage::kSampleIndex,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [34] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [35] */
- /* usage */ core::ParameterUsage::kLocation,
- /* matcher_indices */ MatcherIndicesIndex(109),
- },
- {
- /* [36] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [37] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(62),
- },
- {
- /* [38] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [39] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [40] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(65),
- },
- {
- /* [41] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [42] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [43] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(68),
- },
- {
- /* [44] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [45] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [46] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(71),
- },
- {
- /* [47] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [48] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [49] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(74),
- },
- {
- /* [50] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [51] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [52] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(77),
- },
- {
- /* [53] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(129),
- },
- {
- /* [54] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [55] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(80),
- },
- {
- /* [56] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [57] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [58] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(83),
- },
- {
- /* [59] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [60] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [61] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(86),
- },
- {
- /* [62] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [63] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [64] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(89),
- },
- {
- /* [65] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [66] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(123),
- },
- {
- /* [67] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(92),
- },
- {
- /* [68] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [69] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(125),
- },
- {
- /* [70] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(95),
- },
- {
- /* [71] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(131),
- },
- {
- /* [72] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(127),
- },
- {
- /* [73] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(22),
- },
- {
- /* [74] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [75] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(44),
- },
- {
- /* [76] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(44),
- },
- {
- /* [77] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [78] */
- /* usage */ core::ParameterUsage::kResult,
- /* matcher_indices */ MatcherIndicesIndex(27),
- },
- {
- /* [79] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(2),
- },
- {
- /* [80] */
- /* usage */ core::ParameterUsage::kResult,
- /* matcher_indices */ MatcherIndicesIndex(0),
- },
- {
- /* [81] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(3),
- },
- {
- /* [82] */
- /* usage */ core::ParameterUsage::kExp,
- /* matcher_indices */ MatcherIndicesIndex(31),
- },
- {
- /* [83] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(2),
- },
- {
- /* [84] */
- /* usage */ core::ParameterUsage::kExp,
- /* matcher_indices */ MatcherIndicesIndex(6),
- },
- {
- /* [85] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(103),
- },
- {
- /* [86] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [87] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(107),
- },
- {
- /* [88] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [89] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(111),
- },
- {
- /* [90] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [91] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(113),
- },
- {
- /* [92] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [93] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(115),
- },
- {
- /* [94] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [95] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(117),
- },
- {
- /* [96] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [97] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(138),
},
{
- /* [98] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* [17] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
},
{
- /* [99] */
+ /* [18] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [19] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [20] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(139),
},
{
- /* [100] */
- /* usage */ core::ParameterUsage::kLevel,
+ /* [21] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [22] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [23] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [24] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(17),
+ },
+ {
+ /* [25] */
+ /* usage */ core::ParameterUsage::kCompareValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [26] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [27] */
+ /* usage */ core::ParameterUsage::kOffset,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [101] */
+ /* [28] */
+ /* usage */ core::ParameterUsage::kBits,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [29] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(44),
+ },
+ {
+ /* [30] */
+ /* usage */ core::ParameterUsage::kOffset,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [31] */
+ /* 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),
+ },
+ {
+ /* [34] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(5),
+ },
+ {
+ /* [35] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(2),
+ },
+ {
+ /* [36] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(2),
+ },
+ {
+ /* [37] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(47),
+ },
+ {
+ /* [38] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(105),
+ },
+ {
+ /* [39] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(69),
+ },
+ {
+ /* [40] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [41] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(107),
+ },
+ {
+ /* [42] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [43] */
+ /* usage */ core::ParameterUsage::kComponent,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [44] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [45] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
+ },
+ {
+ /* [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),
},
{
- /* [102] */
- /* usage */ core::ParameterUsage::kLevel,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* [51] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(66),
},
{
- /* [103] */
+ /* [52] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [53] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(141),
},
{
- /* [104] */
+ /* [54] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(113),
+ },
+ {
+ /* [55] */
+ /* usage */ core::ParameterUsage::kRefz,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [56] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [57] */
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [58] */
/* usage */ core::ParameterUsage::kLevel,
/* matcher_indices */ MatcherIndicesIndex(10),
},
{
- /* [105] */
+ /* [59] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(50),
- },
- {
- /* [106] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(10),
- },
- {
- /* [107] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(53),
- },
- {
- /* [108] */
- /* usage */ core::ParameterUsage::kCoords,
/* matcher_indices */ MatcherIndicesIndex(105),
},
{
- /* [109] */
+ /* [60] */
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [61] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [62] */
/* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(56),
+ /* matcher_indices */ MatcherIndicesIndex(107),
+ },
+ {
+ /* [63] */
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(119),
+ },
+ {
+ /* [64] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [65] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(123),
+ },
+ {
+ /* [66] */
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [67] */
+ /* usage */ core::ParameterUsage::kSampleIndex,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [68] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(121),
+ },
+ {
+ /* [69] */
+ /* usage */ core::ParameterUsage::kLocation,
+ /* matcher_indices */ MatcherIndicesIndex(119),
+ },
+ {
+ /* [70] */
+ /* 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),
+ },
+ {
+ /* [103] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(125),
+ },
+ {
+ /* [104] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(95),
+ },
+ {
+ /* [105] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(131),
+ },
+ {
+ /* [106] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(127),
+ },
+ {
+ /* [107] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(22),
+ },
+ {
+ /* [108] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(3),
+ },
+ {
+ /* [109] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [110] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(109),
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(44),
},
{
/* [111] */
- /* usage */ core::ParameterUsage::kTexture,
- /* matcher_indices */ MatcherIndicesIndex(59),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [112] */
- /* usage */ core::ParameterUsage::kCoords,
- /* matcher_indices */ MatcherIndicesIndex(109),
+ /* usage */ core::ParameterUsage::kResult,
+ /* matcher_indices */ MatcherIndicesIndex(27),
},
{
/* [113] */
- /* usage */ core::ParameterUsage::kNone,
- /* matcher_indices */ MatcherIndicesIndex(12),
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(2),
},
{
/* [114] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(37),
+ /* usage */ core::ParameterUsage::kResult,
+ /* matcher_indices */ MatcherIndicesIndex(0),
},
{
/* [115] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(35),
+ /* matcher_indices */ MatcherIndicesIndex(3),
},
{
/* [116] */
- /* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(10),
+ /* usage */ core::ParameterUsage::kExp,
+ /* matcher_indices */ MatcherIndicesIndex(31),
},
{
/* [117] */
/* usage */ core::ParameterUsage::kValue,
- /* matcher_indices */ MatcherIndicesIndex(8),
+ /* matcher_indices */ MatcherIndicesIndex(2),
},
{
/* [118] */
+ /* usage */ core::ParameterUsage::kExp,
+ /* matcher_indices */ MatcherIndicesIndex(6),
+ },
+ {
+ /* [119] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(117),
+ },
+ {
+ /* [120] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [121] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(105),
+ },
+ {
+ /* [122] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [123] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(107),
+ },
+ {
+ /* [124] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [125] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(121),
+ },
+ {
+ /* [126] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [127] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(109),
+ },
+ {
+ /* [128] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [129] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(111),
+ },
+ {
+ /* [130] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [131] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(138),
+ },
+ {
+ /* [132] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [133] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(139),
+ },
+ {
+ /* [134] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [135] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(140),
+ },
+ {
+ /* [136] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [137] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(141),
+ },
+ {
+ /* [138] */
+ /* usage */ core::ParameterUsage::kLevel,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [139] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(50),
+ },
+ {
+ /* [140] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [141] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(53),
+ },
+ {
+ /* [142] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(115),
+ },
+ {
+ /* [143] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(56),
+ },
+ {
+ /* [144] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(119),
+ },
+ {
+ /* [145] */
+ /* usage */ core::ParameterUsage::kTexture,
+ /* matcher_indices */ MatcherIndicesIndex(59),
+ },
+ {
+ /* [146] */
+ /* usage */ core::ParameterUsage::kCoords,
+ /* matcher_indices */ MatcherIndicesIndex(119),
+ },
+ {
+ /* [147] */
+ /* usage */ core::ParameterUsage::kNone,
+ /* matcher_indices */ MatcherIndicesIndex(12),
+ },
+ {
+ /* [148] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(37),
+ },
+ {
+ /* [149] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(35),
+ },
+ {
+ /* [150] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(10),
+ },
+ {
+ /* [151] */
+ /* usage */ core::ParameterUsage::kValue,
+ /* matcher_indices */ MatcherIndicesIndex(8),
+ },
+ {
+ /* [152] */
/* usage */ core::ParameterUsage::kValue,
/* matcher_indices */ MatcherIndicesIndex(1),
},
{
- /* [119] */
+ /* [153] */
/* usage */ core::ParameterUsage::kValue,
/* matcher_indices */ MatcherIndicesIndex(38),
},
{
- /* [120] */
+ /* [154] */
/* usage */ core::ParameterUsage::kValue,
/* matcher_indices */ MatcherIndicesIndex(101),
},
{
- /* [121] */
+ /* [155] */
/* usage */ core::ParameterUsage::kTexture,
/* matcher_indices */ MatcherIndicesIndex(142),
},
@@ -1909,7 +2079,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(85),
+ /* parameters */ ParameterIndex(119),
/* return_matcher_indices */ MatcherIndicesIndex(10),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -1920,8 +2090,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(87),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(121),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1931,8 +2101,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(89),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* parameters */ ParameterIndex(123),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1942,8 +2112,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(91),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* parameters */ ParameterIndex(125),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1953,8 +2123,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(93),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(127),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1964,8 +2134,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(95),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* parameters */ ParameterIndex(129),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1975,8 +2145,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(97),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(131),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1986,8 +2156,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(99),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* parameters */ ParameterIndex(133),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -1997,8 +2167,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(101),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(135),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2008,8 +2178,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(103),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* parameters */ ParameterIndex(137),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2019,8 +2189,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(23),
- /* parameters */ ParameterIndex(31),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(65),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2030,8 +2200,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 0,
/* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(121),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* parameters */ ParameterIndex(155),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2041,8 +2211,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(105),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
+ /* parameters */ ParameterIndex(139),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2052,8 +2222,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(107),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
+ /* parameters */ ParameterIndex(141),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2063,8 +2233,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
+ /* parameters */ ParameterIndex(143),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2074,8 +2244,8 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(13),
- /* parameters */ ParameterIndex(111),
- /* return_matcher_indices */ MatcherIndicesIndex(123),
+ /* parameters */ ParameterIndex(145),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
@@ -2085,7 +2255,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(105),
+ /* parameters */ ParameterIndex(139),
/* return_matcher_indices */ MatcherIndicesIndex(125),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2096,7 +2266,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(107),
+ /* parameters */ ParameterIndex(141),
/* return_matcher_indices */ MatcherIndicesIndex(125),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2107,7 +2277,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(109),
+ /* parameters */ ParameterIndex(143),
/* return_matcher_indices */ MatcherIndicesIndex(125),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2118,7 +2288,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(15),
- /* parameters */ ParameterIndex(111),
+ /* parameters */ ParameterIndex(145),
/* return_matcher_indices */ MatcherIndicesIndex(125),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2129,7 +2299,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(105),
+ /* parameters */ ParameterIndex(139),
/* return_matcher_indices */ MatcherIndicesIndex(127),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2140,7 +2310,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(107),
+ /* parameters */ ParameterIndex(141),
/* return_matcher_indices */ MatcherIndicesIndex(127),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2151,7 +2321,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(109),
+ /* parameters */ ParameterIndex(143),
/* return_matcher_indices */ MatcherIndicesIndex(127),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2162,7 +2332,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(17),
- /* parameters */ ParameterIndex(111),
+ /* parameters */ ParameterIndex(145),
/* return_matcher_indices */ MatcherIndicesIndex(127),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2173,7 +2343,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(37),
+ /* parameters */ ParameterIndex(71),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2184,7 +2354,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(40),
+ /* parameters */ ParameterIndex(74),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2195,7 +2365,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(43),
+ /* parameters */ ParameterIndex(77),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2206,7 +2376,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(46),
+ /* parameters */ ParameterIndex(80),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2217,7 +2387,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(49),
+ /* parameters */ ParameterIndex(83),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2228,7 +2398,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(52),
+ /* parameters */ ParameterIndex(86),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2239,7 +2409,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(55),
+ /* parameters */ ParameterIndex(89),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2250,7 +2420,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(58),
+ /* parameters */ ParameterIndex(92),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2261,7 +2431,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(61),
+ /* parameters */ ParameterIndex(95),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2272,7 +2442,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(64),
+ /* parameters */ ParameterIndex(98),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2283,7 +2453,7 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(67),
+ /* parameters */ ParameterIndex(101),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2294,243 +2464,375 @@
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(24),
- /* parameters */ ParameterIndex(70),
+ /* parameters */ ParameterIndex(104),
/* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [36] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* 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(22),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
+ /* parameters */ ParameterIndex(38),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [37] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* 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(25),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
+ /* parameters */ ParameterIndex(41),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [38] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* 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(28),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
+ /* parameters */ ParameterIndex(44),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [39] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* 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(31),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
+ /* parameters */ ParameterIndex(47),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [40] */
- /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
+ /* 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(34),
- /* return_matcher_indices */ MatcherIndicesIndex(121),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [41] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(105),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(20),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [42] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(107),
- /* return_matcher_indices */ MatcherIndicesIndex(105),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(50),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [43] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
- /* num_parameters */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 2,
- /* templates */ TemplateIndex(11),
- /* parameters */ ParameterIndex(109),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* 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, 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(111),
- /* return_matcher_indices */ MatcherIndicesIndex(109),
+ /* 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 */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(114),
- /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* 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 */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(115),
- /* return_matcher_indices */ MatcherIndicesIndex(8),
+ /* 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 */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
- /* num_templates */ 0,
- /* templates */ TemplateIndex(/* invalid */),
- /* parameters */ ParameterIndex(114),
- /* return_matcher_indices */ MatcherIndicesIndex(1),
+ /* 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 */ 1,
+ /* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
- /* templates */ TemplateIndex(5),
- /* parameters */ ParameterIndex(115),
- /* return_matcher_indices */ MatcherIndicesIndex(38),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(68),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [49] */
- /* 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(116),
- /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* num_templates */ 1,
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(8),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [50] */
- /* 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(117),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* templates */ TemplateIndex(23),
+ /* parameters */ ParameterIndex(12),
+ /* return_matcher_indices */ MatcherIndicesIndex(103),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [51] */
- /* 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(118),
- /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* parameters */ ParameterIndex(16),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [52] */
- /* 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(119),
- /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* num_templates */ 0,
+ /* templates */ TemplateIndex(/* invalid */),
+ /* parameters */ ParameterIndex(20),
+ /* return_matcher_indices */ MatcherIndicesIndex(113),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [53] */
- /* 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 */ 1,
- /* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(10),
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(139),
/* return_matcher_indices */ MatcherIndicesIndex(10),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
/* [54] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(141),
+ /* return_matcher_indices */ MatcherIndicesIndex(115),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [55] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(143),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [56] */
+ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
+ /* num_parameters */ 1,
+ /* num_explicit_templates */ 0,
+ /* num_templates */ 2,
+ /* templates */ TemplateIndex(11),
+ /* parameters */ ParameterIndex(145),
+ /* return_matcher_indices */ MatcherIndicesIndex(119),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [57] */
+ /* 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(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [58] */
+ /* 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(149),
+ /* return_matcher_indices */ MatcherIndicesIndex(8),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [59] */
+ /* 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(148),
+ /* return_matcher_indices */ MatcherIndicesIndex(1),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [60] */
+ /* 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(149),
+ /* return_matcher_indices */ MatcherIndicesIndex(38),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [61] */
+ /* 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(150),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [62] */
+ /* 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(151),
+ /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [63] */
+ /* 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),
+ /* return_matcher_indices */ MatcherIndicesIndex(37),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [64] */
+ /* 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(153),
+ /* return_matcher_indices */ MatcherIndicesIndex(35),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [65] */
+ /* 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(26),
+ /* return_matcher_indices */ MatcherIndicesIndex(10),
+ /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
+ },
+ {
+ /* [66] */
/* 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(13),
+ /* parameters */ ParameterIndex(29),
/* return_matcher_indices */ MatcherIndicesIndex(41),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [55] */
+ /* [67] */
/* 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(10),
+ /* parameters */ ParameterIndex(26),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [56] */
+ /* [68] */
/* 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(13),
+ /* parameters */ ParameterIndex(29),
/* return_matcher_indices */ MatcherIndicesIndex(44),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [57] */
+ /* [69] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
@@ -2541,7 +2843,7 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [58] */
+ /* [70] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 4,
/* num_explicit_templates */ 0,
@@ -2552,106 +2854,106 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [59] */
+ /* [71] */
/* 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(16),
+ /* parameters */ ParameterIndex(32),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [60] */
+ /* [72] */
/* 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(75),
+ /* parameters */ ParameterIndex(109),
/* return_matcher_indices */ MatcherIndicesIndex(44),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [61] */
+ /* [73] */
/* 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(16),
+ /* parameters */ ParameterIndex(32),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [62] */
+ /* [74] */
/* 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(19),
+ /* parameters */ ParameterIndex(35),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [63] */
+ /* [75] */
/* 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(77),
+ /* parameters */ ParameterIndex(111),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
- /* [64] */
+ /* [76] */
/* 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(79),
+ /* parameters */ ParameterIndex(113),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(0),
},
{
- /* [65] */
+ /* [77] */
/* 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(81),
+ /* parameters */ ParameterIndex(115),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
- /* [66] */
+ /* [78] */
/* 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(83),
+ /* parameters */ ParameterIndex(117),
/* return_matcher_indices */ MatcherIndicesIndex(2),
/* const_eval_fn */ ConstEvalFunctionIndex(1),
},
{
- /* [67] */
+ /* [79] */
/* 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(113),
+ /* parameters */ ParameterIndex(147),
/* return_matcher_indices */ MatcherIndicesIndex(10),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [68] */
+ /* [80] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 0,
/* num_explicit_templates */ 0,
@@ -2662,90 +2964,90 @@
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [69] */
+ /* [81] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 3,
/* num_explicit_templates */ 0,
/* num_templates */ 1,
/* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(8),
+ /* parameters */ ParameterIndex(24),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [70] */
+ /* [82] */
/* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
/* num_parameters */ 2,
/* num_explicit_templates */ 0,
/* num_templates */ 2,
/* templates */ TemplateIndex(2),
- /* parameters */ ParameterIndex(73),
+ /* parameters */ ParameterIndex(107),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [71] */
+ /* [83] */
/* 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(120),
+ /* parameters */ ParameterIndex(154),
/* return_matcher_indices */ MatcherIndicesIndex(1),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [72] */
+ /* [84] */
/* 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(118),
+ /* parameters */ ParameterIndex(152),
/* return_matcher_indices */ MatcherIndicesIndex(101),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [73] */
+ /* [85] */
/* 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(21),
+ /* parameters */ ParameterIndex(37),
/* return_matcher_indices */ MatcherIndicesIndex(5),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [74] */
+ /* [86] */
/* 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(75),
+ /* parameters */ ParameterIndex(109),
/* return_matcher_indices */ MatcherIndicesIndex(3),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [75] */
+ /* [87] */
/* 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(75),
+ /* parameters */ ParameterIndex(109),
/* return_matcher_indices */ MatcherIndicesIndex(98),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
{
- /* [76] */
+ /* [88] */
/* 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(75),
+ /* parameters */ ParameterIndex(109),
/* return_matcher_indices */ MatcherIndicesIndex(98),
/* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
},
@@ -2759,147 +3061,169 @@
/* [0] */
/* fn length[T, A : access](ptr<storage, array<T>, A>) -> i32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(67),
+ /* overloads */ OverloadIndex(79),
},
{
/* [1] */
/* fn barrier() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(68),
+ /* overloads */ OverloadIndex(80),
},
{
/* [2] */
/* fn memoryBarrierBuffer() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(68),
+ /* overloads */ OverloadIndex(80),
},
{
/* [3] */
/* fn memoryBarrierImage() */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(68),
+ /* overloads */ OverloadIndex(80),
},
{
/* [4] */
/* fn atomicCompSwap[T : iu32](ptr<workgroup_or_storage, atomic<T>, read_write>, compare_value: T, value: T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(69),
+ /* overloads */ OverloadIndex(81),
},
{
/* [5] */
/* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(70),
+ /* overloads */ OverloadIndex(82),
},
{
/* [6] */
/* fn floatBitsToInt(value: f32) -> i32 */
/* fn floatBitsToInt[N : num](value: vec<N, f32>) -> vec<N, i32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(45),
+ /* overloads */ OverloadIndex(57),
},
{
/* [7] */
/* fn floatBitsToUint(value: f32) -> u32 */
/* fn floatBitsToUint[N : num](value: vec<N, f32>) -> vec<N, u32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(47),
+ /* overloads */ OverloadIndex(59),
},
{
/* [8] */
/* fn intBitsToFloat(value: i32) -> f32 */
/* fn intBitsToFloat[N : num](value: vec<N, i32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(49),
+ /* overloads */ OverloadIndex(61),
},
{
/* [9] */
/* fn uintBitsToFloat(value: u32) -> f32 */
/* fn uintBitsToFloat[N : num](value: vec<N, u32>) -> vec<N, f32> */
/* num overloads */ 2,
- /* overloads */ OverloadIndex(51),
+ /* overloads */ OverloadIndex(63),
},
{
/* [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(53),
+ /* overloads */ OverloadIndex(65),
},
{
/* [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(55),
+ /* overloads */ OverloadIndex(67),
},
{
/* [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(57),
+ /* overloads */ OverloadIndex(69),
},
{
/* [13] */
/* fn packFloat2x16(value: vec2<f16>) -> u32 */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(71),
+ /* overloads */ OverloadIndex(83),
},
{
/* [14] */
/* fn unpackFloat2x16(value: u32) -> vec2<f16> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(72),
+ /* overloads */ OverloadIndex(84),
},
{
/* [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(59),
+ /* overloads */ OverloadIndex(71),
},
{
/* [16] */
/* fn any[N : num](vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(73),
+ /* overloads */ OverloadIndex(85),
},
{
/* [17] */
/* fn all[N : num](vec<N, bool>) -> bool */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(73),
+ /* overloads */ OverloadIndex(85),
},
{
/* [18] */
/* fn dot[T : f32_f16, N : num](vec<N, T>, vec<N, T>) -> T */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(74),
+ /* overloads */ OverloadIndex(86),
},
{
/* [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(61),
+ /* overloads */ OverloadIndex(73),
},
{
/* [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(63),
+ /* overloads */ OverloadIndex(75),
},
{
/* [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(65),
+ /* overloads */ OverloadIndex(77),
},
{
/* [22] */
+ /* 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> */
+ /* fn textureGather[T : fiu32](texture: texture_cube_array<T>, coords: vec4<f32>, component: i32) -> vec4<T> */
+ /* fn textureGather(texture: texture_depth_2d, coords: vec2<f32>, refz: f32) -> vec4<f32> */
+ /* fn textureGather(texture: texture_depth_2d_array, coords: vec3<f32>, refz: f32) -> vec4<f32> */
+ /* 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),
+ },
+ {
+ /* [23] */
+ /* 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),
+ },
+ {
+ /* [24] */
/* fn textureSize[T : fiu32](texture: texture_1d<T>, level: i32) -> i32 */
/* 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> */
@@ -2916,26 +3240,26 @@
/* overloads */ OverloadIndex(0),
},
{
- /* [23] */
+ /* [25] */
/* 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(41),
+ /* overloads */ OverloadIndex(53),
},
{
- /* [24] */
+ /* [26] */
/* fn texelFetch[T : fiu32](texture: texture_1d<T>, location: i32, level: i32) -> vec4<T> */
/* 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(36),
+ /* overloads */ OverloadIndex(44),
},
{
- /* [25] */
+ /* [27] */
/* 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> */
@@ -2952,7 +3276,7 @@
/* overloads */ OverloadIndex(12),
},
{
- /* [26] */
+ /* [28] */
/* 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>) */
@@ -2969,40 +3293,40 @@
/* overloads */ OverloadIndex(24),
},
{
- /* [27] */
+ /* [29] */
/* fn lessThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(75),
- },
- {
- /* [28] */
- /* fn lessThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(75),
- },
- {
- /* [29] */
- /* fn greaterThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
- /* num overloads */ 1,
- /* overloads */ OverloadIndex(75),
+ /* overloads */ OverloadIndex(87),
},
{
/* [30] */
- /* fn greaterThanEqual[T : fiu32_f16, 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(75),
+ /* overloads */ OverloadIndex(87),
},
{
/* [31] */
- /* fn equal[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* fn greaterThan[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(76),
+ /* overloads */ OverloadIndex(87),
},
{
/* [32] */
+ /* fn greaterThanEqual[T : fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(87),
+ },
+ {
+ /* [33] */
+ /* fn equal[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
+ /* num overloads */ 1,
+ /* overloads */ OverloadIndex(88),
+ },
+ {
+ /* [34] */
/* fn notEqual[T : fiu32_f16_bool, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
/* num overloads */ 1,
- /* overloads */ OverloadIndex(76),
+ /* overloads */ OverloadIndex(88),
},
};
diff --git a/src/tint/lang/glsl/writer/builtin_test.cc b/src/tint/lang/glsl/writer/builtin_test.cc
index 4e39161..4d6ca69 100644
--- a/src/tint/lang/glsl/writer/builtin_test.cc
+++ b/src/tint/lang/glsl/writer/builtin_test.cc
@@ -1177,10 +1177,10 @@
precision highp float;
precision highp int;
-uniform highp sampler2D v;
+uniform highp sampler2D t;
void main() {
- ivec2 v_1 = ivec2(uvec2(1u, 0u));
- vec4 x = texelFetch(v, v_1, int(3u));
+ ivec2 v = ivec2(uvec2(1u, 0u));
+ vec4 x = texelFetch(t, v, int(3u));
}
)");
}
@@ -1205,10 +1205,10 @@
EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
precision highp int;
-uniform highp isampler2D v;
+uniform highp isampler2D t;
void main() {
- ivec2 v_1 = ivec2(uvec2(1u, 2u));
- ivec4 x = texelFetch(v, v_1, int(3u));
+ ivec2 v = ivec2(uvec2(1u, 2u));
+ ivec4 x = texelFetch(t, v, int(3u));
}
)");
}
@@ -1233,10 +1233,10 @@
EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
precision highp int;
-uniform highp sampler3D v;
+uniform highp sampler3D t;
void main() {
- ivec3 v_1 = ivec3(ivec3(1, 2, 3));
- vec4 x = texelFetch(v, v_1, int(4u));
+ ivec3 v = ivec3(ivec3(1, 2, 3));
+ vec4 x = texelFetch(t, v, int(4u));
}
)");
}
@@ -1261,10 +1261,10 @@
EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
precision highp int;
-uniform highp isampler2DMS v;
+uniform highp isampler2DMS t;
void main() {
- ivec2 v_1 = ivec2(ivec2(1, 2));
- ivec4 x = texelFetch(v, v_1, int(3));
+ ivec2 v = ivec2(ivec2(1, 2));
+ ivec4 x = texelFetch(t, v, int(3));
}
)");
}
@@ -1726,5 +1726,471 @@
)");
}
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriterTest, DISABLED_BuiltinTextureGatherCompare_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::kComparisonSampler)));
+ 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* depth_ref = b.Value(3_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords, depth_ref));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+Texture2D v : register(t0);
+SamplerComparisonState v_1 : register(s1);
+void foo() {
+ float4 x = v.GatherCmp(v_1, float2(1.0f, 2.0f), 3.0f);
+}
+
+)");
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriterTest, DISABLED_BuiltinTextureGatherCompare_Depth2dOffset) {
+ 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::kComparisonSampler)));
+ 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* depth_ref = b.Value(3_f);
+ auto* offset = b.Construct(ty.vec2<i32>(), b.Value(4_i), b.Value(5_i));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ depth_ref, offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+Texture2D v : register(t0);
+SamplerComparisonState v_1 : register(s1);
+void foo() {
+ float2 v_2 = float2(1.0f, 2.0f);
+ float4 x = v.GatherCmp(v_1, v_2, 3.0f, int2(int(4), int(5)));
+}
+
+)");
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriterTest, DISABLED_BuiltinTextureGatherCompare_DepthCubeArray) {
+ 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::kComparisonSampler)));
+ 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(2.5_f));
+ auto* array_idx = b.Value(6_u);
+ auto* depth_ref = b.Value(3_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ array_idx, depth_ref));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+TextureCubeArray v : register(t0);
+SamplerComparisonState v_1 : register(s1);
+void foo() {
+ float3 v_2 = float3(1.0f, 2.0f, 2.5f);
+ float4 x = v.GatherCmp(v_1, float4(v_2, float(6u)), 3.0f);
+}
+
+)");
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriterTest, DISABLED_BuiltinTextureGatherCompare_Depth2dArrayOffset) {
+ 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::kComparisonSampler)));
+ 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(6_i);
+ auto* depth_ref = b.Value(3_f);
+ auto* offset = b.Construct(ty.vec2<i32>(), b.Value(4_i), b.Value(5_i));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ array_idx, depth_ref, offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+Texture2DArray v : register(t0);
+SamplerComparisonState v_1 : register(s1);
+void foo() {
+ float2 v_2 = float2(1.0f, 2.0f);
+ int2 v_3 = int2(int(4), int(5));
+ float4 x = v.GatherCmp(v_1, float3(v_2, float(int(6))), 3.0f, v_3);
+}
+
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureGather_Alpha) {
+ 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.i32())));
+ 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<i32>>(core::BuiltinFn::kTextureGather, 3_u, t, s, coords));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp isampler2D t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ ivec4 x = textureGather(t_s, v, int(3u));
+}
+)");
+}
+TEST_F(GlslWriterTest, BuiltinTextureGather_RedOffset) {
+ 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.i32())));
+ 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>>(1_i, 3_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 0_u, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp isampler2D t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ ivec4 x = textureGatherOffset(t_s, v, ivec2(1, 3), int(0u));
+}
+)");
+}
+TEST_F(GlslWriterTest, BuiltinTextureGather_GreenArray) {
+ 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.i32())));
+ 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(1_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 1_u, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp isampler2DArray t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ vec3 v_1 = vec3(v, float(1u));
+ ivec4 x = textureGather(t_s, v_1, int(1u));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureGather_BlueArrayOffset) {
+ 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.i32())));
+ 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(1_i);
+ auto* offset = b.Composite<vec2<i32>>(1_i, 2_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 2_u, t, s, coords, array_idx,
+ offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp isampler2DArray t_s;
+void main() {
+ vec2 v = vec2(1.0f, 2.0f);
+ vec3 v_1 = vec3(v, float(1));
+ ivec4 x = textureGatherOffset(t_s, v_1, ivec2(1, 2), int(2u));
+}
+)");
+}
+
+TEST_F(GlslWriterTest, BuiltinTextureGather_Depth) {
+ 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<vec4<f32>>(core::BuiltinFn::kTextureGather, t, s, coords));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DShadow t_s;
+void main() {
+ vec4 x = textureGather(t_s, vec2(1.0f, 2.0f), 0.0f);
+}
+)");
+}
+TEST_F(GlslWriterTest, BuiltinTextureGather_DepthOffset) {
+ 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>>(3_i, 4_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGather, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << err_ << output_.glsl;
+ EXPECT_EQ(output_.glsl, GlslHeader() + R"(precision highp float;
+precision highp int;
+
+uniform highp sampler2DShadow t_s;
+void main() {
+ vec4 x = textureGatherOffset(t_s, vec2(1.0f, 2.0f), 0.0f, ivec2(3, 4));
+}
+)");
+}
+TEST_F(GlslWriterTest, BuiltinTextureGather_DepthArray) {
+ 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_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGather, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << 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 x = textureGather(t_s, vec3(v, float(4)), 0.0f);
+}
+)");
+}
+TEST_F(GlslWriterTest, BuiltinTextureGather_DepthArrayOffset) {
+ 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<vec4<f32>>(core::BuiltinFn::kTextureGather, t, s, coords, array_idx, offset));
+ b.Return(func);
+ });
+
+ Options opts;
+ opts.disable_robustness = true;
+ ASSERT_TRUE(Generate(opts)) << 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 x = textureGatherOffset(t_s, vec3(v, float(4u)), 0.0f, ivec2(4, 5));
+}
+)");
+}
+
} // 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 953c657..1a67467 100644
--- a/src/tint/lang/glsl/writer/raise/texture_polyfill.cc
+++ b/src/tint/lang/glsl/writer/raise/texture_polyfill.cc
@@ -86,8 +86,17 @@
if (auto* call = inst->As<core::ir::CoreBuiltinCall>()) {
switch (call->Func()) {
case core::BuiltinFn::kTextureDimensions:
+ case core::BuiltinFn::kTextureGather:
+ case core::BuiltinFn::kTextureGatherCompare:
case core::BuiltinFn::kTextureLoad:
case core::BuiltinFn::kTextureNumLayers:
+ case core::BuiltinFn::kTextureNumLevels:
+ case core::BuiltinFn::kTextureSample:
+ case core::BuiltinFn::kTextureSampleBias:
+ case core::BuiltinFn::kTextureSampleCompare:
+ case core::BuiltinFn::kTextureSampleCompareLevel:
+ case core::BuiltinFn::kTextureSampleGrad:
+ case core::BuiltinFn::kTextureSampleLevel:
case core::BuiltinFn::kTextureStore:
call_worklist.Push(call);
break;
@@ -104,6 +113,9 @@
case core::BuiltinFn::kTextureDimensions:
TextureDimensions(call);
break;
+ case core::BuiltinFn::kTextureGather:
+ TextureGather(call);
+ break;
case core::BuiltinFn::kTextureLoad:
TextureLoad(call);
break;
@@ -113,8 +125,16 @@
case core::BuiltinFn::kTextureStore:
TextureStore(call);
break;
+ case core::BuiltinFn::kTextureGatherCompare:
+ case core::BuiltinFn::kTextureNumLevels:
+ case core::BuiltinFn::kTextureSample:
+ case core::BuiltinFn::kTextureSampleBias:
+ case core::BuiltinFn::kTextureSampleCompare:
+ case core::BuiltinFn::kTextureSampleCompareLevel:
+ case core::BuiltinFn::kTextureSampleGrad:
+ case core::BuiltinFn::kTextureSampleLevel:
default:
- TINT_UNREACHABLE();
+ TINT_UNREACHABLE() << "TODO(dsinclair): " << call->Func();
}
}
@@ -219,8 +239,16 @@
name = it->second;
} else {
name = ir.NameOf(tex).Name();
+ if (name.empty()) {
+ name = "t";
+ }
+
if (sampler) {
- name += "_" + ir.NameOf(sampler).Name();
+ auto sampler_name = ir.NameOf(sampler).Name();
+ if (sampler_name.empty()) {
+ sampler_name = "s";
+ }
+ name += "_" + sampler_name;
}
if (name.empty()) {
name = "v";
@@ -580,6 +608,70 @@
});
call->Destroy();
}
+
+ void TextureGather(core::ir::BuiltinCall* call) {
+ auto args = call->Args();
+ b.InsertBefore(call, [&] {
+ core::ir::Value* coords = nullptr;
+ Vector<core::ir::Value*, 4> params;
+
+ uint32_t idx = 0;
+ core::ir::Value* component = nullptr;
+ if (!args[idx]->Type()->Is<core::type::Texture>()) {
+ component = args[idx++];
+ TINT_ASSERT(component);
+ }
+
+ 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);
+
+ bool is_depth = tex_type->Is<core::type::DepthTexture>();
+ params.Push(tex);
+
+ coords = args[idx++];
+
+ switch (tex_type->Dim()) {
+ case core::type::TextureDimension::k2d:
+ params.Push(coords);
+ break;
+ case core::type::TextureDimension::k2dArray:
+ params.Push(b.Construct(ty.vec3<f32>(), coords, b.Convert<f32>(args[idx++]))
+ ->Result(0));
+ break;
+ case core::type::TextureDimension::kCube:
+ params.Push(coords);
+ break;
+ case core::type::TextureDimension::kCubeArray:
+ params.Push(b.Construct(ty.vec4<f32>(), coords, b.Convert<f32>(args[idx++]))
+ ->Result(0));
+ break;
+ default:
+ TINT_UNREACHABLE();
+ }
+ // Depth gather requires a `refz` param in GLSL.
+ if (is_depth) {
+ params.Push(b.Constant(0.0_f));
+ }
+
+ auto fn = glsl::BuiltinFn::kTextureGather;
+ if (idx < args.Length()) {
+ fn = glsl::BuiltinFn::kTextureGatherOffset;
+ params.Push(args[idx++]);
+ }
+
+ // Push the component onto the end of the list if needed.
+ if (component != nullptr) {
+ params.Push(b.Convert(ty.i32(), component)->Result(0));
+ }
+
+ 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 1953a0a..7e4bb9d 100644
--- a/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc
+++ b/src/tint/lang/glsl/writer/raise/texture_polyfill_test.cc
@@ -1121,5 +1121,921 @@
EXPECT_EQ(expect, str());
}
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriter_TexturePolyfillTest, DISABLED_TextureGatherCompare_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::kComparisonSampler)));
+ 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* depth_ref = b.Value(3_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords, depth_ref));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler_comparison, 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_comparison = load %2
+ %7:vec4<f32> = textureGatherCompare %5, %6, %4, 3.0f
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler_comparison, 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_comparison = load %2
+ %7:vec4<f32> = %5.GatherCmp %6, %4, 3.0f
+ %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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriter_TexturePolyfillTest, DISABLED_TextureGatherCompare_Depth2dOffset) {
+ 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::kComparisonSampler)));
+ 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* depth_ref = b.Value(3_f);
+ auto* offset = b.Construct(ty.vec2<i32>(), b.Value(4_i), b.Value(5_i));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ depth_ref, 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_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:vec2<i32> = construct 4i, 5i
+ %6:texture_depth_2d = load %1
+ %7:sampler_comparison = load %2
+ %8:vec4<f32> = textureGatherCompare %6, %7, %4, 3.0f, %5
+ %x:vec4<f32> = let %8
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:vec2<i32> = construct 4i, 5i
+ %6:texture_depth_2d = load %1
+ %7:sampler_comparison = load %2
+ %8:vec4<f32> = %6.GatherCmp %7, %4, 3.0f, %5
+ %x:vec4<f32> = let %8
+ 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriter_TexturePolyfillTest, DISABLED_TextureGatherCompare_DepthCubeArray) {
+ 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::kComparisonSampler)));
+ 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(2.5_f));
+ auto* array_idx = b.Value(6_u);
+ auto* depth_ref = b.Value(3_f);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ array_idx, depth_ref));
+ 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_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 2.5f
+ %5:texture_depth_cube_array = load %1
+ %6:sampler_comparison = load %2
+ %7:vec4<f32> = textureGatherCompare %5, %6, %4, 6u, 3.0f
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_cube_array, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec3<f32> = construct 1.0f, 2.0f, 2.5f
+ %5:texture_depth_cube_array = load %1
+ %6:sampler_comparison = load %2
+ %7:f32 = convert 6u
+ %8:vec4<f32> = construct %4, %7
+ %9:vec4<f32> = %5.GatherCmp %6, %8, 3.0f
+ %x:vec4<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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+// TODO(dsinclair): Add compare
+TEST_F(GlslWriter_TexturePolyfillTest, DISABLED_TextureGatherCompare_Depth2dArrayOffset) {
+ 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::kComparisonSampler)));
+ 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(6_i);
+ auto* depth_ref = b.Value(3_f);
+ auto* offset = b.Construct(ty.vec2<i32>(), b.Value(4_i), b.Value(5_i));
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGatherCompare, t, s, coords,
+ array_idx, depth_ref, 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_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:vec2<i32> = construct 4i, 5i
+ %6:texture_depth_2d_array = load %1
+ %7:sampler_comparison = load %2
+ %8:vec4<f32> = textureGatherCompare %6, %7, %4, 6i, 3.0f, %5
+ %x:vec4<f32> = let %8
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %1:ptr<handle, texture_depth_2d_array, read> = var @binding_point(0, 0)
+ %2:ptr<handle, sampler_comparison, read> = var @binding_point(0, 1)
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %4:vec2<f32> = construct 1.0f, 2.0f
+ %5:vec2<i32> = construct 4i, 5i
+ %6:texture_depth_2d_array = load %1
+ %7:sampler_comparison = load %2
+ %8:f32 = convert 6i
+ %9:vec3<f32> = construct %4, %8
+ %10:vec4<f32> = %6.GatherCmp %7, %9, 3.0f, %5
+ %x:vec4<f32> = let %10
+ 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_Alpha) {
+ 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.i32())));
+ 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<i32>>(core::BuiltinFn::kTextureGather, 3_u, t, s, coords));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d<i32>, 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<i32> = load %1
+ %6:sampler = load %2
+ %7:vec4<i32> = textureGather 3u, %5, %6, %4
+ %x:vec4<i32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s:ptr<handle, texture_2d<i32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d<i32> = load %t_s
+ %5:i32 = convert 3u
+ %6:vec4<i32> = glsl.textureGather %4, %3, %5
+ %x:vec4<i32> = 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_RedOffset) {
+ 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.i32())));
+ 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>>(1_i, 3_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 0_u, t, s, coords, offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d<i32>, 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<i32> = load %1
+ %6:sampler = load %2
+ %7:vec4<i32> = textureGather 0u, %5, %6, %4, vec2<i32>(1i, 3i)
+ %x:vec4<i32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s:ptr<handle, texture_2d<i32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d<i32> = load %t_s
+ %5:i32 = convert 0u
+ %6:vec4<i32> = glsl.textureGatherOffset %4, %3, vec2<i32>(1i, 3i), %5
+ %x:vec4<i32> = 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_GreenArray) {
+ 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.i32())));
+ 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(1_u);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x",
+ b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 1_u, t, s, coords, array_idx));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d_array<i32>, 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<i32> = load %1
+ %6:sampler = load %2
+ %7:vec4<i32> = textureGather 1u, %5, %6, %4, 1u
+ %x:vec4<i32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s:ptr<handle, texture_2d_array<i32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d_array<i32> = load %t_s
+ %5:f32 = convert 1u
+ %6:vec3<f32> = construct %3, %5
+ %7:i32 = convert 1u
+ %8:vec4<i32> = glsl.textureGather %4, %6, %7
+ %x:vec4<i32> = let %8
+ 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_BlueArrayOffset) {
+ 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.i32())));
+ 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(1_i);
+ auto* offset = b.Composite<vec2<i32>>(1_i, 2_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<i32>>(core::BuiltinFn::kTextureGather, 2_u, t, s, coords, array_idx,
+ offset));
+ b.Return(func);
+ });
+
+ auto* src = R"(
+$B1: { # root
+ %1:ptr<handle, texture_2d_array<i32>, 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<i32> = load %1
+ %6:sampler = load %2
+ %7:vec4<i32> = textureGather 2u, %5, %6, %4, 1i, vec2<i32>(1i, 2i)
+ %x:vec4<i32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s:ptr<handle, texture_2d_array<i32>, read> = var
+}
+
+%foo = @fragment func():void {
+ $B2: {
+ %3:vec2<f32> = construct 1.0f, 2.0f
+ %4:texture_2d_array<i32> = load %t_s
+ %5:f32 = convert 1i
+ %6:vec3<f32> = construct %3, %5
+ %7:i32 = convert 2u
+ %8:vec4<i32> = glsl.textureGatherOffset %4, %6, vec2<i32>(1i, 2i), %7
+ %x:vec4<i32> = let %8
+ 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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_Depth) {
+ 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<vec4<f32>>(core::BuiltinFn::kTextureGather, 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:vec4<f32> = textureGather %5, %6, %4
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s: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 %t_s
+ %5:vec4<f32> = glsl.textureGather %4, %3, 0.0f
+ %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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_DepthOffset) {
+ 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>>(3_i, 4_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGather, 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:vec4<f32> = textureGather %5, %6, %4, vec2<i32>(3i, 4i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s: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 %t_s
+ %5:vec4<f32> = glsl.textureGatherOffset %4, %3, 0.0f, vec2<i32>(3i, 4i)
+ %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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_DepthArray) {
+ 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_i);
+
+ auto* t = b.Load(tex);
+ auto* s = b.Load(sampler);
+ b.Let("x", b.Call<vec4<f32>>(core::BuiltinFn::kTextureGather, 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:vec4<f32> = textureGather %5, %6, %4, 4i
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s: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 %t_s
+ %5:f32 = convert 4i
+ %6:vec3<f32> = construct %3, %5
+ %7:vec4<f32> = glsl.textureGather %4, %6, 0.0f
+ %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 = {2, 2};
+ cfg.sampler_texture_to_name[pair] = "my_tex";
+
+ Run(TexturePolyfill, cfg);
+ EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_TexturePolyfillTest, TextureGather_DepthArrayOffset) {
+ 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<vec4<f32>>(core::BuiltinFn::kTextureGather, 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:vec4<f32> = textureGather %5, %6, %4, 4u, vec2<i32>(4i, 5i)
+ %x:vec4<f32> = let %7
+ ret
+ }
+}
+)";
+ ASSERT_EQ(src, str());
+
+ auto* expect = R"(
+$B1: { # root
+ %t_s: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 %t_s
+ %5:f32 = convert 4u
+ %6:vec3<f32> = construct %3, %5
+ %7:vec4<f32> = glsl.textureGatherOffset %4, %6, 0.0f, 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 = {2, 2};
+ 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/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.glsl
index 0bd3a3d..ba13438 100644
--- a/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/0166ec.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_0166ec() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_0166ec();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_0166ec() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_0166ec();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCube arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_0166ec() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_0166ec();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.glsl
index 0bd3a3d..f2d7eab 100644
--- a/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/04fa78.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_04fa78() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_04fa78();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_04fa78() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_04fa78();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_04fa78() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_04fa78();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.glsl
index 0bd3a3d..fd308a5 100644
--- a/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/10c554.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+vec4 textureGather_10c554() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(1.0f), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_10c554();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+vec4 textureGather_10c554() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(1.0f), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_10c554();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_10c554() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(1.0f), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_10c554();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.glsl
index 0bd3a3d..5813509 100644
--- a/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/11b2db.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_1_arg_2;
+vec4 textureGather_11b2db() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_11b2db();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_11b2db() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_11b2db();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCube arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_11b2db() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_11b2db();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.glsl
index 0bd3a3d..677ddb8 100644
--- a/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/17baac.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_17baac() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_17baac();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_17baac() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_17baac();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_17baac() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_17baac();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.glsl
index 0bd3a3d..3e50cf4 100644
--- a/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1bf0ab.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_1bf0ab() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_1bf0ab();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_1bf0ab() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_1bf0ab();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_1bf0ab() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_1bf0ab();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.glsl
index 0bd3a3d..266d16a 100644
--- a/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/1f7f6b.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_1f7f6b() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec2(1.0f), 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_1f7f6b();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_1f7f6b() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec2(1.0f), 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_1f7f6b();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_1f7f6b() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec2(1.0f), 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_1f7f6b();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.glsl
index 0bd3a3d..c53dcf8 100644
--- a/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/22e930.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_22e930() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_22e930();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_22e930() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_22e930();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_22e930() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_22e930();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.glsl
index 0bd3a3d..c77f9e6 100644
--- a/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/238ec4.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_238ec4() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_238ec4();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_238ec4() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_238ec4();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_238ec4() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_238ec4();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.glsl
index 0bd3a3d..f7be3a5 100644
--- a/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/24b0bd.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_24b0bd() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_24b0bd();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_24b0bd() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_24b0bd();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_24b0bd() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_24b0bd();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.glsl
index 0bd3a3d..7d51cea 100644
--- a/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/269250.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_269250() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_269250();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_269250() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_269250();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_269250() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_269250();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.glsl
index 0bd3a3d..cecd1aa 100644
--- a/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2a4f40.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_2a4f40() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2a4f40();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_2a4f40() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2a4f40();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_2a4f40() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2a4f40();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.glsl
index 0bd3a3d..fd93e9c 100644
--- a/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2cc066.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_2cc066() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2cc066();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_2cc066() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2cc066();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_2cc066() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2cc066();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.glsl
index 0bd3a3d..6a3a585 100644
--- a/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/2e0ed5.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_2e0ed5() {
+ vec4 res = textureGather(arg_0_arg_1, vec2(1.0f), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2e0ed5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_2e0ed5() {
+ vec4 res = textureGather(arg_0_arg_1, vec2(1.0f), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2e0ed5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_2e0ed5() {
+ vec4 res = textureGather(arg_0_arg_1, vec2(1.0f), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2e0ed5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.glsl
index 0bd3a3d..f7e90f9 100644
--- a/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/32c4e8.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_1_arg_2;
+vec4 textureGather_32c4e8() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_32c4e8();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_32c4e8() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_32c4e8();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCube arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_32c4e8() {
+ vec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_32c4e8();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.glsl
index 0bd3a3d..10b77d8 100644
--- a/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/3b32cc.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_3b32cc() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_3b32cc();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_3b32cc() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_3b32cc();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCube arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_3b32cc() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_3b32cc();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.glsl
index 0bd3a3d..d383507 100644
--- a/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/43025d.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_43025d() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_43025d();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_43025d() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_43025d();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_43025d() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_43025d();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.glsl
index 0bd3a3d..2dd2e40 100644
--- a/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/445793.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_445793() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_445793();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_445793() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_445793();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_445793() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_445793();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.glsl
index 0bd3a3d..e318a99 100644
--- a/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/49b07f.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_49b07f() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_49b07f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_49b07f() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_49b07f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_49b07f() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_49b07f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.glsl
index 0bd3a3d..8ffc7d8 100644
--- a/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4b8103.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_4b8103() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_4b8103();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_4b8103() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_4b8103();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_4b8103() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_4b8103();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.glsl
index 0bd3a3d..ca711bb 100644
--- a/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/4e8ac5.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_4e8ac5() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_4e8ac5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_4e8ac5() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_4e8ac5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_4e8ac5() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_4e8ac5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.glsl
index 0bd3a3d..7977788 100644
--- a/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5266da.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_5266da() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5266da();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_5266da() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5266da();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_5266da() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5266da();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.glsl
index 0bd3a3d..cfcec5b 100644
--- a/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/59372a.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_59372a() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_59372a();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_59372a() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_59372a();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_59372a() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_59372a();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.glsl
index 0bd3a3d..5c491b7 100644
--- a/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5ba85f.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_5ba85f() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5ba85f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_5ba85f() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5ba85f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCube arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_5ba85f() {
+ ivec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5ba85f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.glsl
index 0bd3a3d..fd3c0ca 100644
--- a/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/5bd491.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_5bd491() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5bd491();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_5bd491() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5bd491();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_5bd491() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5bd491();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.glsl
index 0bd3a3d..e0d34ad 100644
--- a/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/6b7b74.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_6b7b74() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_6b7b74();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_6b7b74() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_6b7b74();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_6b7b74() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_6b7b74();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.glsl
index 0bd3a3d..c29a15b 100644
--- a/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/751f8a.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_751f8a() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_751f8a();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_751f8a() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_751f8a();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_751f8a() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_751f8a();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.glsl
index 0bd3a3d..56b331b 100644
--- a/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/788010.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_788010() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_788010();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_788010() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_788010();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_788010() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_788010();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.glsl
index 0bd3a3d..2a27f69 100644
--- a/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/7c3828.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_7c3828() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_7c3828();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_7c3828() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_7c3828();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_7c3828() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_7c3828();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.glsl
index 0bd3a3d..ad107db 100644
--- a/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/7dd226.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_7dd226() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1u)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_7dd226();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_7dd226() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1u)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_7dd226();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_7dd226() {
+ vec4 res = textureGather(arg_0_arg_1, vec4(vec3(1.0f), float(1u)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_7dd226();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.glsl
index 0bd3a3d..27a401b 100644
--- a/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/829357.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_829357() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_829357();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_829357() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_829357();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_829357() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_829357();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.glsl
index 0bd3a3d..7e1c435 100644
--- a/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/831549.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_831549() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_831549();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_831549() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_831549();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_831549() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_831549();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.glsl
index 0bd3a3d..16a2717 100644
--- a/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8578bc.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_8578bc() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8578bc();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_8578bc() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8578bc();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_8578bc() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8578bc();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.glsl
index 0bd3a3d..4fb8c9c 100644
--- a/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/89680f.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_89680f() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_89680f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_89680f() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_89680f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCube arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_89680f() {
+ uvec4 res = textureGather(arg_1_arg_2, vec3(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_89680f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.glsl
index 0bd3a3d..f34f304 100644
--- a/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8b754c.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_8b754c() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8b754c();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_8b754c() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8b754c();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_8b754c() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8b754c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.glsl
index 0bd3a3d..6726e91 100644
--- a/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/8fae00.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_8fae00() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8fae00();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_8fae00() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8fae00();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_8fae00() {
+ uvec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8fae00();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.glsl
index 0bd3a3d..393e368 100644
--- a/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/92ea47.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_92ea47() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_92ea47();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_92ea47() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_92ea47();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_92ea47() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_92ea47();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.glsl
index 0bd3a3d..c0754f9 100644
--- a/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/986700.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_986700() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_986700();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_986700() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_986700();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_986700() {
+ uvec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_986700();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.glsl
index 0bd3a3d..064d714 100644
--- a/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9a6358.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_9a6358() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_9a6358();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_9a6358() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_9a6358();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_9a6358() {
+ vec4 res = textureGather(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_9a6358();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.glsl
index 0bd3a3d..fd7b3d5 100644
--- a/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/9ab41e.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_9ab41e() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_9ab41e();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_9ab41e() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_9ab41e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_9ab41e() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_9ab41e();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.glsl
index 0bd3a3d..98e6862 100644
--- a/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a0372b.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_a0372b() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_a0372b();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_a0372b() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_a0372b();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_a0372b() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_a0372b();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.glsl
index 0bd3a3d..b1fc88c 100644
--- a/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/a68027.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_a68027() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_a68027();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_a68027() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_a68027();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_a68027() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1u)), 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_a68027();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.glsl
index 0bd3a3d..018aeb0 100644
--- a/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/aaf6bd.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_aaf6bd() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_aaf6bd();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_aaf6bd() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_aaf6bd();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_aaf6bd() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_aaf6bd();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.glsl
index 0bd3a3d..9f1ada3 100644
--- a/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/af55b3.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_af55b3() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_af55b3();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_af55b3() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_af55b3();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_af55b3() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_af55b3();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.glsl
index 0bd3a3d..eda3818 100644
--- a/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bb3ac5.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_bb3ac5() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_bb3ac5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_bb3ac5() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_bb3ac5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_bb3ac5() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_bb3ac5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.glsl
index 0bd3a3d..d72239c 100644
--- a/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/bd33b6.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_bd33b6() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_bd33b6();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_bd33b6() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_bd33b6();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_bd33b6() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_bd33b6();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.glsl
index 0bd3a3d..b055812 100644
--- a/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/be276f.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_be276f() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_be276f();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_be276f() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_be276f();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_be276f() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_be276f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.glsl
index 0bd3a3d..5dbd550 100644
--- a/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/c0640c.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_c0640c() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_c0640c();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_c0640c() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_c0640c();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_c0640c() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_c0640c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.glsl
index 0bd3a3d..8156008 100644
--- a/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ccadde.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_ccadde() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ccadde();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_ccadde() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ccadde();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_ccadde() {
+ ivec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ccadde();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.glsl
index 0bd3a3d..af41844 100644
--- a/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ce5578.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_ce5578() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ce5578();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_ce5578() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ce5578();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_ce5578() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ce5578();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.glsl
index 0bd3a3d..57b8df2 100644
--- a/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/cf9112.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_cf9112() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_cf9112();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_cf9112() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_cf9112();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_cf9112() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_cf9112();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.glsl
index 0bd3a3d..839c199 100644
--- a/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d1f187.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_d1f187() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d1f187();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_d1f187() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d1f187();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_d1f187() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d1f187();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.glsl
index 0bd3a3d..8c1413d 100644
--- a/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d4b5c6.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_d4b5c6() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d4b5c6();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_d4b5c6() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d4b5c6();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_d4b5c6() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d4b5c6();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.glsl
index 0bd3a3d..2a1e6a8 100644
--- a/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d6507c.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_d6507c() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d6507c();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_d6507c() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d6507c();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d6507c() {
+ vec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d6507c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.glsl
index 0bd3a3d..78eb917 100644
--- a/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d8e958.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_d8e958() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d8e958();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_d8e958() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d8e958();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d8e958() {
+ vec4 res = textureGather(arg_1_arg_2, vec2(1.0f), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d8e958();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.glsl
index 0bd3a3d..61ff77f 100644
--- a/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d90605.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_d90605() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d90605();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_d90605() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d90605();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d90605() {
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(vec2(1.0f), float(1)), 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d90605();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.glsl
index 0bd3a3d..22902f2 100644
--- a/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/d98d59.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_d98d59() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d98d59();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_d98d59() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d98d59();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d98d59() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d98d59();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.glsl
index 0bd3a3d..b095922 100644
--- a/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/dc6661.wgsl.expected.ir.glsl
@@ -1,11 +1,59 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_dc6661() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_dc6661();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_dc6661() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_dc6661();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_dc6661() {
+ ivec4 res = textureGatherOffset(arg_1_arg_2, vec2(1.0f), ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_dc6661();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.glsl
index 0bd3a3d..3aa5a6c 100644
--- a/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e2acac.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_e2acac() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e2acac();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_e2acac() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e2acac();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_e2acac() {
+ vec4 v = vec4(vec3(1.0f), float(1u));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e2acac();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.glsl
index 0bd3a3d..d2ec6bd 100644
--- a/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e3165f.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_e3165f() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e3165f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_e3165f() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e3165f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_e3165f() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e3165f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.glsl
index 0bd3a3d..14cc209 100644
--- a/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/e9d390.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_e9d390() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e9d390();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_e9d390() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e9d390();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_e9d390() {
+ vec3 v = vec3(vec2(1.0f), float(1));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e9d390();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.glsl
index 0bd3a3d..5d05120 100644
--- a/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/ea8eb4.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_ea8eb4() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ea8eb4();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_ea8eb4() {
+ vec3 v_1 = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ea8eb4();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_ea8eb4() {
+ vec3 v = vec3(vec2(1.0f), float(1u));
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ea8eb4();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.glsl
index 0bd3a3d..b94b9b1 100644
--- a/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/literal/textureGather/f2c6e3.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_f2c6e3() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_f2c6e3();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_f2c6e3() {
+ vec4 v_1 = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_f2c6e3();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_f2c6e3() {
+ vec4 v = vec4(vec3(1.0f), float(1));
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_f2c6e3();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.glsl
index 0bd3a3d..6d8df35 100644
--- a/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/0166ec.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_0166ec() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_0166ec();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_0166ec() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_0166ec();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCube arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_0166ec() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_0166ec();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.glsl
index 0bd3a3d..83349e2 100644
--- a/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/04fa78.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_04fa78() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_04fa78();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_04fa78() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_04fa78();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_04fa78() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_04fa78();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.glsl
index 0bd3a3d..151aec0 100644
--- a/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/10c554.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+vec4 textureGather_10c554() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_10c554();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeShadow arg_0_arg_1;
+vec4 textureGather_10c554() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_10c554();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_10c554() {
+ vec3 arg_2 = vec3(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_10c554();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.glsl
index 0bd3a3d..17b052c 100644
--- a/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/11b2db.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_1_arg_2;
+vec4 textureGather_11b2db() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_11b2db();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_11b2db() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_11b2db();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCube arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_11b2db() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_11b2db();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.glsl
index 0bd3a3d..4a12c8f 100644
--- a/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/17baac.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_17baac() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_17baac();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_17baac() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_17baac();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_17baac() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_17baac();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.glsl
index 0bd3a3d..6f61d4f 100644
--- a/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1bf0ab.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_1bf0ab() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_1bf0ab();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_1bf0ab() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_1bf0ab();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_1bf0ab() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_1bf0ab();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.glsl
index 0bd3a3d..150b7ca 100644
--- a/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/1f7f6b.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_1f7f6b() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGatherOffset(arg_0_arg_1, arg_2, 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_1f7f6b();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_1f7f6b() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGatherOffset(arg_0_arg_1, arg_2, 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_1f7f6b();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_1f7f6b() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGatherOffset(arg_0_arg_1, arg_2, 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_1f7f6b();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.glsl
index 0bd3a3d..9f5b6c6 100644
--- a/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/22e930.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_22e930() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_22e930();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_22e930() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_22e930();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_22e930() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_22e930();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.glsl
index 0bd3a3d..2abd000 100644
--- a/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/238ec4.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_238ec4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_238ec4();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_238ec4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_238ec4();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_238ec4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_238ec4();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.glsl
index 0bd3a3d..d39ecbf 100644
--- a/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/24b0bd.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_24b0bd() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_24b0bd();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_24b0bd() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_24b0bd();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_24b0bd() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_24b0bd();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.glsl
index 0bd3a3d..450d21d 100644
--- a/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/269250.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_269250() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_269250();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_269250() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_269250();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_269250() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_269250();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.glsl
index 0bd3a3d..9d50ac7 100644
--- a/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2a4f40.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_2a4f40() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2a4f40();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_2a4f40() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2a4f40();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_2a4f40() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v, float(arg_3)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2a4f40();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.glsl
index 0bd3a3d..e63751e 100644
--- a/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2cc066.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_2cc066() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2cc066();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_2cc066() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2cc066();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_2cc066() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2cc066();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.glsl
index 0bd3a3d..7de08e4a 100644
--- a/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/2e0ed5.wgsl.expected.ir.glsl
@@ -1,11 +1,62 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_2e0ed5() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_2e0ed5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DShadow arg_0_arg_1;
+vec4 textureGather_2e0ed5() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_2e0ed5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_2e0ed5() {
+ vec2 arg_2 = vec2(1.0f);
+ vec4 res = textureGather(arg_0_arg_1, arg_2, 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_2e0ed5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v = vertex_main_inner();
+ gl_Position = v.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.glsl
index 0bd3a3d..31aeb13 100644
--- a/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/32c4e8.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCube arg_1_arg_2;
+vec4 textureGather_32c4e8() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_32c4e8();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_32c4e8() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_32c4e8();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCube arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_32c4e8() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_32c4e8();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.glsl
index 0bd3a3d..c1f0082 100644
--- a/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/3b32cc.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_3b32cc() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_3b32cc();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_3b32cc() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_3b32cc();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCube arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_3b32cc() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_3b32cc();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.glsl
index 0bd3a3d..8aa385d 100644
--- a/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/43025d.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_43025d() {
+ vec3 arg_2 = vec3(1.0f);
+ int arg_3 = 1;
+ vec3 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_43025d();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_43025d() {
+ vec3 arg_2 = vec3(1.0f);
+ int arg_3 = 1;
+ vec3 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_43025d();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_43025d() {
+ vec3 arg_2 = vec3(1.0f);
+ int arg_3 = 1;
+ vec3 v = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v, float(arg_3)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_43025d();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.glsl
index 0bd3a3d..7102c64 100644
--- a/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/445793.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_445793() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_445793();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_445793() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_445793();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_445793() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_445793();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.glsl
index 0bd3a3d..f993fc9 100644
--- a/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/49b07f.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_49b07f() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_49b07f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_49b07f() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_49b07f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_49b07f() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_49b07f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.glsl
index 0bd3a3d..531dad0 100644
--- a/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4b8103.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_4b8103() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_4b8103();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_4b8103() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_4b8103();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_4b8103() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_4b8103();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.glsl
index 0bd3a3d..1cb2d50 100644
--- a/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/4e8ac5.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_4e8ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_4e8ac5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_4e8ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_4e8ac5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_4e8ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_4e8ac5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.glsl
index 0bd3a3d..7b0d798 100644
--- a/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5266da.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_5266da() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5266da();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_5266da() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5266da();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_5266da() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5266da();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.glsl
index 0bd3a3d..5c850fc 100644
--- a/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/59372a.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_59372a() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_59372a();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_59372a() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_59372a();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_59372a() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_59372a();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.glsl
index 0bd3a3d..8fe9861 100644
--- a/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5ba85f.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_5ba85f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5ba85f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCube arg_1_arg_2;
+ivec4 textureGather_5ba85f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5ba85f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCube arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_5ba85f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5ba85f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.glsl
index 0bd3a3d..2019d4a 100644
--- a/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/5bd491.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_5bd491() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_5bd491();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_5bd491() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_5bd491();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_5bd491() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_5bd491();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.glsl
index 0bd3a3d..a5747c3 100644
--- a/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/6b7b74.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_6b7b74() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_6b7b74();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_6b7b74() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_6b7b74();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_6b7b74() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_6b7b74();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.glsl
index 0bd3a3d..eee4f19 100644
--- a/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/751f8a.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_751f8a() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_751f8a();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_751f8a() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_751f8a();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_751f8a() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_751f8a();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.glsl
index 0bd3a3d..01e19d2 100644
--- a/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/788010.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_788010() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_788010();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_788010() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_788010();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_788010() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_788010();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.glsl
index 0bd3a3d..123dcd7 100644
--- a/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/7c3828.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_7c3828() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_7c3828();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_7c3828() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_7c3828();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_7c3828() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_7c3828();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.glsl
index 0bd3a3d..554e8a2 100644
--- a/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/7dd226.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_7dd226() {
+ vec3 arg_2 = vec3(1.0f);
+ uint arg_3 = 1u;
+ vec3 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_7dd226();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+vec4 textureGather_7dd226() {
+ vec3 arg_2 = vec3(1.0f);
+ uint arg_3 = 1u;
+ vec3 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_7dd226();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_7dd226() {
+ vec3 arg_2 = vec3(1.0f);
+ uint arg_3 = 1u;
+ vec3 v = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec4(v, float(arg_3)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_7dd226();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.glsl
index 0bd3a3d..85b0807 100644
--- a/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/829357.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_829357() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_829357();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_829357() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_829357();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_829357() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_829357();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.glsl
index 0bd3a3d..f53c4d3 100644
--- a/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/831549.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_831549() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_831549();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_831549() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_831549();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_831549() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_831549();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.glsl
index 0bd3a3d..8b30df6 100644
--- a/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8578bc.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_8578bc() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8578bc();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_8578bc() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8578bc();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_8578bc() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8578bc();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.glsl
index 0bd3a3d..f5c919b 100644
--- a/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/89680f.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_89680f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_89680f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCube arg_1_arg_2;
+uvec4 textureGather_89680f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_89680f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCube arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_89680f() {
+ vec3 arg_3 = vec3(1.0f);
+ vec3 v = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_89680f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.glsl
index 0bd3a3d..198c36f 100644
--- a/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8b754c.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_8b754c() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8b754c();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_8b754c() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8b754c();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_8b754c() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8b754c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.glsl
index 0bd3a3d..534f1eb 100644
--- a/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/8fae00.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_8fae00() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_8fae00();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_8fae00() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_8fae00();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_8fae00() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ uvec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_8fae00();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.glsl
index 0bd3a3d..504e1fe 100644
--- a/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/92ea47.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_92ea47() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_92ea47();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_92ea47() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_92ea47();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_92ea47() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_92ea47();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.glsl
index 0bd3a3d..92bfd42 100644
--- a/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/986700.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_986700() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_986700();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2D arg_1_arg_2;
+uvec4 textureGather_986700() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_986700();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2D arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_986700() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_986700();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.glsl
index 0bd3a3d..8890c29 100644
--- a/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9a6358.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_9a6358() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_9a6358();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_9a6358() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f);
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_9a6358();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_9a6358() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v = arg_2;
+ vec4 res = textureGather(arg_0_arg_1, vec3(v, float(arg_3)), 0.0f);
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_9a6358();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.glsl
index 0bd3a3d..c24f357 100644
--- a/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/9ab41e.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_9ab41e() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_9ab41e();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_9ab41e() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_9ab41e();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_9ab41e() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_9ab41e();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.glsl
index 0bd3a3d..4459db6 100644
--- a/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a0372b.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_a0372b() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_a0372b();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_a0372b() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_a0372b();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_a0372b() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_a0372b();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.glsl
index 0bd3a3d..ac9ab36 100644
--- a/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/a68027.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_a68027() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_a68027();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_a68027() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_a68027();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_a68027() {
+ vec2 arg_2 = vec2(1.0f);
+ uint arg_3 = 1u;
+ vec2 v = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_a68027();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.glsl
index 0bd3a3d..5c95bd7 100644
--- a/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/aaf6bd.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_aaf6bd() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_aaf6bd();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_aaf6bd() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_aaf6bd();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_aaf6bd() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_aaf6bd();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.glsl
index 0bd3a3d..63e9a14 100644
--- a/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/af55b3.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_af55b3() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_af55b3();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_af55b3() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_af55b3();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_af55b3() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_af55b3();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.glsl
index 0bd3a3d..f5600c0 100644
--- a/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bb3ac5.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_bb3ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_bb3ac5();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_bb3ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_bb3ac5();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_bb3ac5() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_bb3ac5();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.glsl
index 0bd3a3d..68d9397 100644
--- a/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/bd33b6.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_bd33b6() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_bd33b6();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_bd33b6() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_bd33b6();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_bd33b6() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_bd33b6();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.glsl
index 0bd3a3d..b18ee09 100644
--- a/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/be276f.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_be276f() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_be276f();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_be276f() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_be276f();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_be276f() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_be276f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.glsl
index 0bd3a3d..9eb67fc 100644
--- a/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/c0640c.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_c0640c() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_c0640c();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isamplerCubeArray arg_1_arg_2;
+ivec4 textureGather_c0640c() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_c0640c();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_c0640c() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_c0640c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.glsl
index 0bd3a3d..48364a7 100644
--- a/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ccadde.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_ccadde() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ccadde();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_ccadde() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ccadde();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_ccadde() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ ivec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ccadde();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.glsl
index 0bd3a3d..b75ca88 100644
--- a/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ce5578.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_ce5578() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ce5578();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_ce5578() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ce5578();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_ce5578() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ce5578();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.glsl
index 0bd3a3d..87de29f 100644
--- a/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/cf9112.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_cf9112() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_cf9112();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_cf9112() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_cf9112();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_cf9112() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_cf9112();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.glsl
index 0bd3a3d..c902c34 100644
--- a/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d1f187.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_d1f187() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d1f187();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_d1f187() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d1f187();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_d1f187() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d1f187();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.glsl
index 0bd3a3d..6bc5f7b 100644
--- a/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d4b5c6.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_d4b5c6() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d4b5c6();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_d4b5c6() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d4b5c6();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_d4b5c6() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d4b5c6();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.glsl
index 0bd3a3d..8605852 100644
--- a/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d6507c.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_d6507c() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d6507c();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_d6507c() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d6507c();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d6507c() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ vec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d6507c();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.glsl
index 0bd3a3d..6492c90 100644
--- a/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d8e958.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2D arg_1_arg_2;
+vec4 textureGather_d8e958() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d8e958();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_d8e958() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d8e958();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2D arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d8e958() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ vec4 res = textureGather(arg_1_arg_2, v, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d8e958();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.glsl
index 0bd3a3d..5d56292 100644
--- a/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d90605.wgsl.expected.ir.glsl
@@ -1,11 +1,68 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_d90605() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d90605();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+vec4 textureGather_d90605() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v_1 = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v_1, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d90605();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArrayShadow arg_0_arg_1;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d90605() {
+ vec2 arg_2 = vec2(1.0f);
+ int arg_3 = 1;
+ vec2 v = arg_2;
+ vec4 res = textureGatherOffset(arg_0_arg_1, vec3(v, float(arg_3)), 0.0f, ivec2(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d90605();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.glsl
index 0bd3a3d..85a0b53 100644
--- a/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/d98d59.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp samplerCubeArray arg_1_arg_2;
+vec4 textureGather_d98d59() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_d98d59();
+}
+#version 460
-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_1_arg_2;
+vec4 textureGather_d98d59() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_d98d59();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp samplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_d98d59() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_d98d59();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.glsl
index 0bd3a3d..2481486 100644
--- a/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/dc6661.wgsl.expected.ir.glsl
@@ -1,11 +1,65 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_dc6661() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_dc6661();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2D arg_1_arg_2;
+ivec4 textureGather_dc6661() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v_1 = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_dc6661();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2D arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_dc6661() {
+ vec2 arg_3 = vec2(1.0f);
+ vec2 v = arg_3;
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_dc6661();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_1 = vertex_main_inner();
+ gl_Position = v_1.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_1.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.glsl
index 0bd3a3d..3fe8a15 100644
--- a/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e2acac.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_e2acac() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e2acac();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_e2acac() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e2acac();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_e2acac() {
+ vec3 arg_3 = vec3(1.0f);
+ uint arg_4 = 1u;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e2acac();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.glsl
index 0bd3a3d..a8eba6e 100644
--- a/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e3165f.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_e3165f() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e3165f();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usampler2DArray arg_1_arg_2;
+uvec4 textureGather_e3165f() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e3165f();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usampler2DArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_e3165f() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ uvec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e3165f();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.glsl
index 0bd3a3d..6df8860 100644
--- a/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/e9d390.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_e9d390() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_e9d390();
+}
+#version 310 es
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ ivec4 tint_symbol;
+} v;
+uniform highp isampler2DArray arg_1_arg_2;
+ivec4 textureGather_e9d390() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_2, ivec2(1), int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_e9d390();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ ivec4 prevent_dce;
+};
+
+uniform highp isampler2DArray arg_1_arg_2;
+layout(location = 0) flat out ivec4 vertex_main_loc0_Output;
+ivec4 textureGather_e9d390() {
+ vec2 arg_3 = vec2(1.0f);
+ int arg_4 = 1;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ ivec4 res = textureGatherOffset(arg_1_arg_2, v_1, ivec2(1), int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), ivec4(0));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_e9d390();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.glsl
index 0bd3a3d..890b27b 100644
--- a/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/ea8eb4.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ vec4 tint_symbol;
+} v;
+uniform highp sampler2DArray arg_1_arg_2;
+vec4 textureGather_ea8eb4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_ea8eb4();
+}
+#version 310 es
-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_1_arg_2;
+vec4 textureGather_ea8eb4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v_1 = arg_3;
+ vec3 v_2 = vec3(v_1, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_2, int(1u));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_ea8eb4();
+}
+#version 310 es
+
+
+struct VertexOutput {
+ vec4 pos;
+ vec4 prevent_dce;
+};
+
+uniform highp sampler2DArray arg_1_arg_2;
+layout(location = 0) flat out vec4 vertex_main_loc0_Output;
+vec4 textureGather_ea8eb4() {
+ vec2 arg_3 = vec2(1.0f);
+ uint arg_4 = 1u;
+ vec2 v = arg_3;
+ vec3 v_1 = vec3(v, float(arg_4));
+ vec4 res = textureGather(arg_1_arg_2, v_1, int(1u));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), vec4(0.0f));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_ea8eb4();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.glsl b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.glsl
index 0bd3a3d..694c6d5 100644
--- a/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/gen/var/textureGather/f2c6e3.wgsl.expected.ir.glsl
@@ -1,11 +1,71 @@
-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: textureGather
-********************************************************************
-* 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. *
-********************************************************************
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_f2c6e3() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+void main() {
+ v.tint_symbol = textureGather_f2c6e3();
+}
+#version 460
-tint executable returned error: signal: trace/BPT trap
+layout(binding = 0, std430)
+buffer tint_symbol_1_1_ssbo {
+ uvec4 tint_symbol;
+} v;
+uniform highp usamplerCubeArray arg_1_arg_2;
+uvec4 textureGather_f2c6e3() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v_1 = arg_3;
+ vec4 v_2 = vec4(v_1, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_2, int(1));
+ return res;
+}
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+ v.tint_symbol = textureGather_f2c6e3();
+}
+#version 460
+
+
+struct VertexOutput {
+ vec4 pos;
+ uvec4 prevent_dce;
+};
+
+uniform highp usamplerCubeArray arg_1_arg_2;
+layout(location = 0) flat out uvec4 vertex_main_loc0_Output;
+uvec4 textureGather_f2c6e3() {
+ vec3 arg_3 = vec3(1.0f);
+ int arg_4 = 1;
+ vec3 v = arg_3;
+ vec4 v_1 = vec4(v, float(arg_4));
+ uvec4 res = textureGather(arg_1_arg_2, v_1, int(1));
+ return res;
+}
+VertexOutput vertex_main_inner() {
+ VertexOutput tint_symbol = VertexOutput(vec4(0.0f), uvec4(0u));
+ tint_symbol.pos = vec4(0.0f);
+ tint_symbol.prevent_dce = textureGather_f2c6e3();
+ return tint_symbol;
+}
+void main() {
+ VertexOutput v_2 = vertex_main_inner();
+ gl_Position = v_2.pos;
+ gl_Position[1u] = -(gl_Position.y);
+ gl_Position[2u] = ((2.0f * gl_Position.z) - gl_Position.w);
+ vertex_main_loc0_Output = v_2.prevent_dce;
+ gl_PointSize = 1.0f;
+}
diff --git a/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.ir.glsl
index 0bd3a3d..fc30162 100644
--- a/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/f32/alpha.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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;
+void main() {
+ vec4 res = textureGather(t_s, vec2(0.0f), int(3));
+}
diff --git a/test/tint/builtins/textureGather/f32/blue.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/f32/blue.wgsl.expected.ir.glsl
index 0bd3a3d..b2466fa 100644
--- a/test/tint/builtins/textureGather/f32/blue.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/f32/blue.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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;
+void main() {
+ vec4 res = textureGather(t_s, vec2(0.0f), int(2));
+}
diff --git a/test/tint/builtins/textureGather/f32/green.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/f32/green.wgsl.expected.ir.glsl
index 0bd3a3d..42f00c3 100644
--- a/test/tint/builtins/textureGather/f32/green.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/f32/green.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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;
+void main() {
+ vec4 res = textureGather(t_s, vec2(0.0f), int(1));
+}
diff --git a/test/tint/builtins/textureGather/f32/red.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/f32/red.wgsl.expected.ir.glsl
index 0bd3a3d..f8a7c8f 100644
--- a/test/tint/builtins/textureGather/f32/red.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/f32/red.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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;
+void main() {
+ vec4 res = textureGather(t_s, vec2(0.0f), int(0));
+}
diff --git a/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.ir.glsl
index 0bd3a3d..1cce01d 100644
--- a/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/i32/alpha.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 isampler2D t_s;
+void main() {
+ ivec4 res = textureGather(t_s, vec2(0.0f), int(3));
+}
diff --git a/test/tint/builtins/textureGather/i32/blue.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/i32/blue.wgsl.expected.ir.glsl
index 0bd3a3d..0373ff3 100644
--- a/test/tint/builtins/textureGather/i32/blue.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/i32/blue.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 isampler2D t_s;
+void main() {
+ ivec4 res = textureGather(t_s, vec2(0.0f), int(2));
+}
diff --git a/test/tint/builtins/textureGather/i32/green.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/i32/green.wgsl.expected.ir.glsl
index 0bd3a3d..60be7c2 100644
--- a/test/tint/builtins/textureGather/i32/green.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/i32/green.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 isampler2D t_s;
+void main() {
+ ivec4 res = textureGather(t_s, vec2(0.0f), int(1));
+}
diff --git a/test/tint/builtins/textureGather/i32/red.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/i32/red.wgsl.expected.ir.glsl
index 0bd3a3d..fe02892 100644
--- a/test/tint/builtins/textureGather/i32/red.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/i32/red.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 isampler2D t_s;
+void main() {
+ ivec4 res = textureGather(t_s, vec2(0.0f), int(0));
+}
diff --git a/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.ir.glsl
index 0bd3a3d..0f071ed 100644
--- a/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/u32/alpha.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 usampler2D t_s;
+void main() {
+ uvec4 res = textureGather(t_s, vec2(0.0f), int(3));
+}
diff --git a/test/tint/builtins/textureGather/u32/blue.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/u32/blue.wgsl.expected.ir.glsl
index 0bd3a3d..334f88a 100644
--- a/test/tint/builtins/textureGather/u32/blue.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/u32/blue.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 usampler2D t_s;
+void main() {
+ uvec4 res = textureGather(t_s, vec2(0.0f), int(2));
+}
diff --git a/test/tint/builtins/textureGather/u32/green.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/u32/green.wgsl.expected.ir.glsl
index 0bd3a3d..8f996fc 100644
--- a/test/tint/builtins/textureGather/u32/green.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/u32/green.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 usampler2D t_s;
+void main() {
+ uvec4 res = textureGather(t_s, vec2(0.0f), int(1));
+}
diff --git a/test/tint/builtins/textureGather/u32/red.wgsl.expected.ir.glsl b/test/tint/builtins/textureGather/u32/red.wgsl.expected.ir.glsl
index 0bd3a3d..f74af8c 100644
--- a/test/tint/builtins/textureGather/u32/red.wgsl.expected.ir.glsl
+++ b/test/tint/builtins/textureGather/u32/red.wgsl.expected.ir.glsl
@@ -1,11 +1,8 @@
-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: textureGather
-********************************************************************
-* 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 usampler2D t_s;
+void main() {
+ uvec4 res = textureGather(t_s, vec2(0.0f), int(0));
+}