Make reserved words an error.

This CL moves reserved words from a deprecation to an error.

Bug: tint:1463
Change-Id: I5c66baa15dc748215877c8152171c690495bc0c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/108861
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
dan sinclair 2022-11-07 16:15:55 +00:00 committed by Dawn LUCI CQ
parent 2d706a0436
commit 5071a54af4
59 changed files with 422 additions and 428 deletions

View File

@ -8,6 +8,7 @@
* The `@stage` attribute has been removed. The short forms should be used * The `@stage` attribute has been removed. The short forms should be used
instead (`@vertex`, `@fragment`, or `@compute`). [tint:1503](crbug.com/tint/1503) instead (`@vertex`, `@fragment`, or `@compute`). [tint:1503](crbug.com/tint/1503)
* Module-scope `let` is now an error. Use module-scope `const` instead. [tint:1580](crbug.com/tint/1584) * Module-scope `let` is now an error. Use module-scope `const` instead. [tint:1580](crbug.com/tint/1584)
* Reserved words are now an error instead of a deprecation. [tint:1463](crbug.com/tint/1463)
### New features ### New features

View File

@ -109,7 +109,7 @@ static const char sRenderValidationShaderSource[] = R"(
} }
} }
fn pass(drawIndex: u32) { fn set_pass(drawIndex: u32) {
let numInputParams = numIndirectParamsPerDrawCallInput(); let numInputParams = numIndirectParamsPerDrawCallInput();
var outIndex = drawIndex * numIndirectParamsPerDrawCallOutput(); var outIndex = drawIndex * numIndirectParamsPerDrawCallOutput();
let inIndex = batch.indirectOffsets[drawIndex]; let inIndex = batch.indirectOffsets[drawIndex];
@ -137,7 +137,7 @@ static const char sRenderValidationShaderSource[] = R"(
} }
if(!bool(batch.flags & kValidationEnabled)) { if(!bool(batch.flags & kValidationEnabled)) {
pass(id.x); set_pass(id.x);
return; return;
} }
@ -152,14 +152,14 @@ static const char sRenderValidationShaderSource[] = R"(
} }
if (!bool(batch.flags & kIndexedDraw)) { if (!bool(batch.flags & kIndexedDraw)) {
pass(id.x); set_pass(id.x);
return; return;
} }
if (batch.numIndexBufferElementsHigh >= 2u) { if (batch.numIndexBufferElementsHigh >= 2u) {
// firstIndex and indexCount are both u32. The maximum possible sum of these // firstIndex and indexCount are both u32. The maximum possible sum of these
// values is 0x1fffffffe, which is less than 0x200000000. Nothing to validate. // values is 0x1fffffffe, which is less than 0x200000000. Nothing to validate.
pass(id.x); set_pass(id.x);
return; return;
} }
@ -178,7 +178,7 @@ static const char sRenderValidationShaderSource[] = R"(
fail(id.x); fail(id.x);
return; return;
} }
pass(id.x); set_pass(id.x);
} }
)"; )";

View File

@ -3774,7 +3774,7 @@ Expect<std::string> ParserImpl::expect_ident(std::string_view use) {
next(); next();
if (is_reserved(t)) { if (is_reserved(t)) {
deprecated(t.source(), "'" + t.to_str() + "' is a reserved keyword"); return add_error(t.source(), "'" + t.to_str() + "' is a reserved keyword");
} }
return {t.to_str(), t.source()}; return {t.to_str(), t.source()};

View File

@ -21,74 +21,67 @@ using ParserImplReservedKeywordTest = ParserImplTestWithParam<std::string>;
TEST_P(ParserImplReservedKeywordTest, Function) { TEST_P(ParserImplReservedKeywordTest, Function) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("fn " + name + "() {}"); auto p = parser("fn " + name + "() {}");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:4: '" + name + "' is a reserved keyword");
"1:4: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, ModuleConst) { TEST_P(ParserImplReservedKeywordTest, ModuleConst) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("const " + name + " : i32 = 1;"); auto p = parser("const " + name + " : i32 = 1;");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:7: '" + name + "' is a reserved keyword");
"1:7: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, ModuleVar) { TEST_P(ParserImplReservedKeywordTest, ModuleVar) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("var " + name + " : i32 = 1;"); auto p = parser("var " + name + " : i32 = 1;");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:5: '" + name + "' is a reserved keyword");
"1:5: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, FunctionLet) { TEST_P(ParserImplReservedKeywordTest, FunctionLet) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("fn f() { let " + name + " : i32 = 1; }"); auto p = parser("fn f() { let " + name + " : i32 = 1; }");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, FunctionVar) { TEST_P(ParserImplReservedKeywordTest, FunctionVar) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("fn f() { var " + name + " : i32 = 1; }"); auto p = parser("fn f() { var " + name + " : i32 = 1; }");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, FunctionParam) { TEST_P(ParserImplReservedKeywordTest, FunctionParam) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("fn f(" + name + " : i32) {}"); auto p = parser("fn f(" + name + " : i32) {}");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, Struct) { TEST_P(ParserImplReservedKeywordTest, Struct) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("struct " + name + " {};"); auto p = parser("struct " + name + " {};");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), R"(1:8: ')" + name + R"(' is a reserved keyword
"1:8: use of deprecated language feature: '" + name + "' is a reserved keyword"); 1:)" + std::to_string(9 + name.length()) +
R"(: statement found outside of function body)");
} }
TEST_P(ParserImplReservedKeywordTest, StructMember) { TEST_P(ParserImplReservedKeywordTest, StructMember) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("struct S { " + name + " : i32, };"); auto p = parser("struct S { " + name + " : i32, };");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:12: '" + name + "' is a reserved keyword");
"1:12: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
TEST_P(ParserImplReservedKeywordTest, Alias) { TEST_P(ParserImplReservedKeywordTest, Alias) {
auto name = GetParam(); auto name = GetParam();
auto p = parser("type " + name + " = i32;"); auto p = parser("type " + name + " = i32;");
EXPECT_TRUE(p->Parse()); EXPECT_FALSE(p->Parse());
EXPECT_FALSE(p->has_error()); EXPECT_TRUE(p->has_error());
EXPECT_EQ(p->error(), EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
} }
INSTANTIATE_TEST_SUITE_P(ParserImplReservedKeywordTest, INSTANTIATE_TEST_SUITE_P(ParserImplReservedKeywordTest,
ParserImplReservedKeywordTest, ParserImplReservedKeywordTest,

View File

@ -169,7 +169,7 @@ TEST_F(ClampFragDepthTest, OtherFunctionWithoutFragDepth) {
@fragment fn main() -> @builtin(frag_depth) f32 { @fragment fn main() -> @builtin(frag_depth) f32 {
return 0.0; return 0.0;
} }
@fragment fn friend() -> @location(0) f32 { @fragment fn other() -> @location(0) f32 {
return 0.0; return 0.0;
} }
)"; )";
@ -194,7 +194,7 @@ fn main() -> @builtin(frag_depth) f32 {
} }
@fragment @fragment
fn friend() -> @location(0) f32 { fn other() -> @location(0) f32 {
return 0.0; return 0.0;
} }
)"; )";

View File

@ -580,9 +580,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad) {
@fragment @fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> { fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoad(ext_tex, vec2<i32>(1)); var val_signed = textureLoad(ext_tex, vec2<i32>(1));
var unsigned = textureLoad(ext_tex, vec2<u32>(1)); var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
return signed + unsigned; return val_signed + val_unsigned;
} }
)"; )";
@ -652,9 +652,9 @@ fn textureLoadExternal_1(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, coo
@fragment @fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> { fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params); var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params); var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (signed + unsigned); return (val_signed + val_unsigned);
} }
)"; )";
@ -670,9 +670,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad_OutOfOrder) {
auto* src = R"( auto* src = R"(
@fragment @fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> { fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoad(ext_tex, vec2<i32>(1)); var val_signed = textureLoad(ext_tex, vec2<i32>(1));
var unsigned = textureLoad(ext_tex, vec2<u32>(1)); var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
return signed + unsigned; return val_signed + val_unsigned;
} }
@group(0) @binding(0) var ext_tex : texture_external; @group(0) @binding(0) var ext_tex : texture_external;
@ -742,9 +742,9 @@ fn textureLoadExternal_1(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, coo
@fragment @fragment
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> { fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
var signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params); var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
var unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params); var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
return (signed + unsigned); return (val_signed + val_unsigned);
} }
@group(0) @binding(0) var ext_tex : texture_2d<f32>; @group(0) @binding(0) var ext_tex : texture_2d<f32>;

View File

@ -787,7 +787,7 @@ TEST_F(RobustnessTest, TextureLoad_Clamp) {
@group(0) @binding(0) var tex_depth_2d_arr : texture_depth_2d_array; @group(0) @binding(0) var tex_depth_2d_arr : texture_depth_2d_array;
@group(0) @binding(0) var tex_external : texture_external; @group(0) @binding(0) var tex_external : texture_external;
fn signed() { fn idx_signed() {
var array_idx : i32; var array_idx : i32;
var level_idx : i32; var level_idx : i32;
var sample_idx : i32; var sample_idx : i32;
@ -802,7 +802,7 @@ fn signed() {
textureLoad(tex_external, vec2<i32>(1, 2)); textureLoad(tex_external, vec2<i32>(1, 2));
} }
fn unsigned() { fn idx_unsigned() {
var array_idx : u32; var array_idx : u32;
var level_idx : u32; var level_idx : u32;
var sample_idx : u32; var sample_idx : u32;
@ -836,7 +836,7 @@ fn unsigned() {
@group(0) @binding(0) var tex_external : texture_external; @group(0) @binding(0) var tex_external : texture_external;
fn signed() { fn idx_signed() {
var array_idx : i32; var array_idx : i32;
var level_idx : i32; var level_idx : i32;
var sample_idx : i32; var sample_idx : i32;
@ -850,7 +850,7 @@ fn signed() {
textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1))))); textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1)))));
} }
fn unsigned() { fn idx_unsigned() {
var array_idx : u32; var array_idx : u32;
var level_idx : u32; var level_idx : u32;
var sample_idx : u32; var sample_idx : u32;
@ -873,7 +873,7 @@ fn unsigned() {
// Clamp textureLoad() coord, array_index and level values // Clamp textureLoad() coord, array_index and level values
TEST_F(RobustnessTest, TextureLoad_Clamp_OutOfOrder) { TEST_F(RobustnessTest, TextureLoad_Clamp_OutOfOrder) {
auto* src = R"( auto* src = R"(
fn signed() { fn idx_signed() {
var array_idx : i32; var array_idx : i32;
var level_idx : i32; var level_idx : i32;
var sample_idx : i32; var sample_idx : i32;
@ -888,7 +888,7 @@ fn signed() {
textureLoad(tex_external, vec2<i32>(1, 2)); textureLoad(tex_external, vec2<i32>(1, 2));
} }
fn unsigned() { fn idx_unsigned() {
var array_idx : u32; var array_idx : u32;
var level_idx : u32; var level_idx : u32;
var sample_idx : u32; var sample_idx : u32;
@ -915,7 +915,7 @@ fn unsigned() {
auto* expect = auto* expect =
R"( R"(
fn signed() { fn idx_signed() {
var array_idx : i32; var array_idx : i32;
var level_idx : i32; var level_idx : i32;
var sample_idx : i32; var sample_idx : i32;
@ -929,7 +929,7 @@ fn signed() {
textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1))))); textureLoad(tex_external, clamp(vec2<i32>(1, 2), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex_external)) - vec2(1)))));
} }
fn unsigned() { fn idx_unsigned() {
var array_idx : u32; var array_idx : u32;
var level_idx : u32; var level_idx : u32;
var sample_idx : u32; var sample_idx : u32;
@ -976,14 +976,14 @@ TEST_F(RobustnessTest, TextureStore_Clamp) {
@group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>; @group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>;
fn signed() { fn idx_signed() {
textureStore(tex1d, 10i, vec4<i32>()); textureStore(tex1d, 10i, vec4<i32>());
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>()); textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>()); textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>()); textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
} }
fn unsigned() { fn idx_unsigned() {
textureStore(tex1d, 10u, vec4<i32>()); textureStore(tex1d, 10u, vec4<i32>());
textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>()); textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>()); textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>());
@ -1000,14 +1000,14 @@ fn unsigned() {
@group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>; @group(0) @binding(3) var tex3d : texture_storage_3d<rgba8sint, write>;
fn signed() { fn idx_signed() {
textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>()); textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>());
textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>()); textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>());
textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>()); textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>());
textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>()); textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>());
} }
fn unsigned() { fn idx_unsigned() {
textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>()); textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>());
textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>()); textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>());
textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>()); textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>());
@ -1023,14 +1023,14 @@ fn unsigned() {
// Clamp textureStore() coord, array_index and level values // Clamp textureStore() coord, array_index and level values
TEST_F(RobustnessTest, TextureStore_Clamp_OutOfOrder) { TEST_F(RobustnessTest, TextureStore_Clamp_OutOfOrder) {
auto* src = R"( auto* src = R"(
fn signed() { fn idx_signed() {
textureStore(tex1d, 10i, vec4<i32>()); textureStore(tex1d, 10i, vec4<i32>());
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>()); textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>()); textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>()); textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
} }
fn unsigned() { fn idx_unsigned() {
textureStore(tex1d, 10u, vec4<i32>()); textureStore(tex1d, 10u, vec4<i32>());
textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>()); textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>());
textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>()); textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>());
@ -1048,14 +1048,14 @@ fn unsigned() {
)"; )";
auto* expect = R"( auto* expect = R"(
fn signed() { fn idx_signed() {
textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>()); textureStore(tex1d, clamp(10i, 0, i32((u32(textureDimensions(tex1d)) - 1))), vec4<i32>());
textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>()); textureStore(tex2d, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d)) - vec2(1)))), vec4<i32>());
textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>()); textureStore(tex2d_arr, clamp(vec2<i32>(10, 20), vec2(0), vec2<i32>((vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1)))), clamp(50i, 0, i32((u32(textureNumLayers(tex2d_arr)) - 1))), vec4<i32>());
textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>()); textureStore(tex3d, clamp(vec3<i32>(10, 20, 30), vec3(0), vec3<i32>((vec3<u32>(textureDimensions(tex3d)) - vec3(1)))), vec4<i32>());
} }
fn unsigned() { fn idx_unsigned() {
textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>()); textureStore(tex1d, min(10u, (u32(textureDimensions(tex1d)) - 1)), vec4<i32>());
textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>()); textureStore(tex2d, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d)) - vec2(1))), vec4<i32>());
textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>()); textureStore(tex2d_arr, min(vec2<u32>(10, 20), (vec2<u32>(textureDimensions(tex2d_arr)) - vec2(1))), min(50u, (u32(textureNumLayers(tex2d_arr)) - 1)), vec4<i32>());

View File

@ -71,10 +71,10 @@ fn getClusterIndex(fragCoord : vec4<f32>) -> u32 {
return ((tile.x + (tile.y * tileCount.x)) + ((tile.z * tileCount.x) * tileCount.y)); return ((tile.x + (tile.y * tileCount.x)) + ((tile.z * tileCount.x) * tileCount.y));
} }
fn sqDistPointAABB(point : vec3<f32>, minAABB : vec3<f32>, maxAABB : vec3<f32>) -> f32 { fn sqDistPointAABB(p: vec3<f32>, minAABB : vec3<f32>, maxAABB : vec3<f32>) -> f32 {
var sqDist = 0.0; var sqDist = 0.0;
for(var i : i32 = 0; (i < 3); i = (i + 1)) { for(var i : i32 = 0; (i < 3); i = (i + 1)) {
let v = point[i]; let v = p[i];
if ((v < minAABB[i])) { if ((v < minAABB[i])) {
sqDist = (sqDist + ((minAABB[i] - v) * (minAABB[i] - v))); sqDist = (sqDist + ((minAABB[i] - v) * (minAABB[i] - v)));
} }

View File

@ -8,7 +8,7 @@
OpName %f "f" OpName %f "f"
OpName %v "v" OpName %v "v"
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "ref" OpMemberName %buf0 0 "r"
OpName %_ "" OpName %_ ""
OpName %_GLF_color "_GLF_color" OpName %_GLF_color "_GLF_color"
OpMemberDecorate %buf0 0 Offset 0 OpMemberDecorate %buf0 0 Offset 0

View File

@ -3,7 +3,7 @@ precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1; layout(location = 0) out vec4 x_GLF_color_1_1;
struct buf0 { struct buf0 {
vec4 ref; vec4 r;
}; };
layout(binding = 0, std140) uniform x_7_block_ubo { layout(binding = 0, std140) uniform x_7_block_ubo {
@ -21,7 +21,7 @@ void main_1() {
float x_39 = f; float x_39 = f;
v = vec4(sin(x_33), cos(x_35), exp2(x_37), log(x_39)); v = vec4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
vec4 x_42 = v; vec4 x_42 = v;
vec4 x_44 = x_7.inner.ref; vec4 x_44 = x_7.inner.r;
if ((distance(x_42, x_44) < 0.100000001f)) { if ((distance(x_42, x_44) < 0.100000001f)) {
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {

View File

@ -2,7 +2,7 @@
using namespace metal; using namespace metal;
struct buf0 { struct buf0 {
/* 0x0000 */ float4 ref; /* 0x0000 */ float4 r;
}; };
void main_1(const constant buf0* const tint_symbol_3, thread float4* const tint_symbol_4) { void main_1(const constant buf0* const tint_symbol_3, thread float4* const tint_symbol_4) {
@ -15,7 +15,7 @@ void main_1(const constant buf0* const tint_symbol_3, thread float4* const tint_
float const x_39 = f; float const x_39 = f;
v = float4(sin(x_33), cos(x_35), exp2(x_37), log(x_39)); v = float4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
float4 const x_42 = v; float4 const x_42 = v;
float4 const x_44 = (*(tint_symbol_3)).ref; float4 const x_44 = (*(tint_symbol_3)).r;
if ((distance(x_42, x_44) < 0.100000001f)) { if ((distance(x_42, x_44) < 0.100000001f)) {
*(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f); *(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {

View File

@ -12,7 +12,7 @@
OpName %x_7_block "x_7_block" OpName %x_7_block "x_7_block"
OpMemberName %x_7_block 0 "inner" OpMemberName %x_7_block 0 "inner"
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "ref" OpMemberName %buf0 0 "r"
OpName %x_7 "x_7" OpName %x_7 "x_7"
OpName %x_GLF_color "x_GLF_color" OpName %x_GLF_color "x_GLF_color"
OpName %main_1 "main_1" OpName %main_1 "main_1"

View File

@ -1,5 +1,5 @@
struct buf0 { struct buf0 {
ref : vec4<f32>, r : vec4<f32>,
} }
@group(0) @binding(0) var<uniform> x_7 : buf0; @group(0) @binding(0) var<uniform> x_7 : buf0;
@ -16,7 +16,7 @@ fn main_1() {
let x_39 : f32 = f; let x_39 : f32 = f;
v = vec4<f32>(sin(x_33), cos(x_35), exp2(x_37), log(x_39)); v = vec4<f32>(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
let x_42 : vec4<f32> = v; let x_42 : vec4<f32> = v;
let x_44 : vec4<f32> = x_7.ref; let x_44 : vec4<f32> = x_7.r;
if ((distance(x_42, x_44) < 0.100000001f)) { if ((distance(x_42, x_44) < 0.100000001f)) {
x_GLF_color = vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {

View File

@ -14,7 +14,7 @@
OpMemberName %buf1 0 "_GLF_uniform_float_values" OpMemberName %buf1 0 "_GLF_uniform_float_values"
OpName %__0 "" OpName %__0 ""
OpName %R "R" OpName %R "R"
OpName %ref "ref" OpName %r "r"
OpName %_GLF_color "_GLF_color" OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_int_uint_5 ArrayStride 16 OpDecorate %_arr_int_uint_5 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0 OpMemberDecorate %buf0 0 Offset 0
@ -63,7 +63,7 @@
%I = OpVariable %_ptr_Function_v4float Function %I = OpVariable %_ptr_Function_v4float Function
%N = OpVariable %_ptr_Function_v4float Function %N = OpVariable %_ptr_Function_v4float Function
%R = OpVariable %_ptr_Function_v4float Function %R = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function %r = OpVariable %_ptr_Function_v4float Function
%39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %39 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%40 = OpLoad %int %39 %40 = OpLoad %int %39
%41 = OpBitcast %uint %40 %41 = OpBitcast %uint %40
@ -93,9 +93,9 @@
%62 = OpLoad %v4float %N %62 = OpLoad %v4float %N
%63 = OpVectorTimesScalar %v4float %62 %61 %63 = OpVectorTimesScalar %v4float %62 %61
%64 = OpFSub %v4float %55 %63 %64 = OpFSub %v4float %55 %63
OpStore %ref %64 OpStore %r %64
%65 = OpLoad %v4float %R %65 = OpLoad %v4float %R
%66 = OpLoad %v4float %ref %66 = OpLoad %v4float %r
%67 = OpExtInst %float %1 Distance %65 %66 %67 = OpExtInst %float %1 Distance %65 %66
%68 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0 %68 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%69 = OpLoad %float %68 %69 = OpLoad %float %68

View File

@ -30,7 +30,7 @@ fn main_1() {
var I : vec4<f32>; var I : vec4<f32>;
var N : vec4<f32>; var N : vec4<f32>;
var R : vec4<f32>; var R : vec4<f32>;
var ref : vec4<f32>; var r : vec4<f32>;
let x_40 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_40 : i32 = x_6.x_GLF_uniform_int_values[2].el;
let x_43 : i32 = x_6.x_GLF_uniform_int_values[3].el; let x_43 : i32 = x_6.x_GLF_uniform_int_values[3].el;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[4].el; let x_46 : i32 = x_6.x_GLF_uniform_int_values[4].el;
@ -44,9 +44,9 @@ fn main_1() {
let x_58 : vec4<f32> = N; let x_58 : vec4<f32> = N;
let x_59 : vec4<f32> = I; let x_59 : vec4<f32> = I;
let x_62 : vec4<f32> = N; let x_62 : vec4<f32> = N;
ref = (x_55 - (x_62 * (x_57 * dot(x_58, x_59)))); r = (x_55 - (x_62 * (x_57 * dot(x_58, x_59))));
let x_65 : vec4<f32> = R; let x_65 : vec4<f32> = R;
let x_66 : vec4<f32> = ref; let x_66 : vec4<f32> = r;
let x_69 : f32 = x_9.x_GLF_uniform_float_values[0].el; let x_69 : f32 = x_9.x_GLF_uniform_float_values[0].el;
if ((distance(x_65, x_66) < x_69)) { if ((distance(x_65, x_66) < x_69)) {
let x_75 : i32 = x_6.x_GLF_uniform_int_values[0].el; let x_75 : i32 = x_6.x_GLF_uniform_int_values[0].el;

View File

@ -10,7 +10,7 @@
OpMemberName %buf0 0 "_GLF_uniform_float_values" OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ "" OpName %_ ""
OpName %v1 "v1" OpName %v1 "v1"
OpName %ref "ref" OpName %r "r"
OpName %buf1 "buf1" OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_int_values" OpMemberName %buf1 0 "_GLF_uniform_int_values"
OpName %__0 "" OpName %__0 ""
@ -58,7 +58,7 @@
%34 = OpLabel %34 = OpLabel
%a = OpVariable %_ptr_Function_uint Function %a = OpVariable %_ptr_Function_uint Function
%v1 = OpVariable %_ptr_Function_v4float Function %v1 = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function %r = OpVariable %_ptr_Function_v4float Function
%35 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 %35 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0
%36 = OpLoad %float %35 %36 = OpLoad %float %35
%37 = OpCompositeConstruct %v4float %36 %36 %36 %36 %37 = OpCompositeConstruct %v4float %36 %36 %36 %36
@ -92,14 +92,14 @@
%63 = OpLoad %float %62 %63 = OpLoad %float %62
%64 = OpFDiv %float %61 %63 %64 = OpFDiv %float %61 %63
%65 = OpCompositeConstruct %v4float %46 %52 %58 %64 %65 = OpCompositeConstruct %v4float %46 %52 %58 %64
OpStore %ref %65 OpStore %r %65
%66 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %66 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%67 = OpLoad %int %66 %67 = OpLoad %int %66
%68 = OpAccessChain %_ptr_Function_float %v1 %67 %68 = OpAccessChain %_ptr_Function_float %v1 %67
%69 = OpLoad %float %68 %69 = OpLoad %float %68
%70 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %70 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%71 = OpLoad %int %70 %71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Function_float %ref %71 %72 = OpAccessChain %_ptr_Function_float %r %71
%73 = OpLoad %float %72 %73 = OpLoad %float %72
%74 = OpFOrdEqual %bool %69 %73 %74 = OpFOrdEqual %bool %69 %73
OpSelectionMerge %75 None OpSelectionMerge %75 None
@ -111,7 +111,7 @@
%80 = OpLoad %float %79 %80 = OpLoad %float %79
%81 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 %81 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
%82 = OpLoad %int %81 %82 = OpLoad %int %81
%83 = OpAccessChain %_ptr_Function_float %ref %82 %83 = OpAccessChain %_ptr_Function_float %r %82
%84 = OpLoad %float %83 %84 = OpLoad %float %83
%85 = OpFOrdEqual %bool %80 %84 %85 = OpFOrdEqual %bool %80 %84
OpBranch %75 OpBranch %75
@ -126,7 +126,7 @@
%92 = OpLoad %float %91 %92 = OpLoad %float %91
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3 %93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
%94 = OpLoad %int %93 %94 = OpLoad %int %93
%95 = OpAccessChain %_ptr_Function_float %ref %94 %95 = OpAccessChain %_ptr_Function_float %r %94
%96 = OpLoad %float %95 %96 = OpLoad %float %95
%97 = OpFOrdEqual %bool %92 %96 %97 = OpFOrdEqual %bool %92 %96
OpBranch %87 OpBranch %87
@ -141,7 +141,7 @@
%104 = OpLoad %float %103 %104 = OpLoad %float %103
%105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%106 = OpLoad %int %105 %106 = OpLoad %int %105
%107 = OpAccessChain %_ptr_Function_float %ref %106 %107 = OpAccessChain %_ptr_Function_float %r %106
%108 = OpLoad %float %107 %108 = OpLoad %float %107
%109 = OpFOrdEqual %bool %104 %108 %109 = OpFOrdEqual %bool %104 %108
OpBranch %99 OpBranch %99

View File

@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() { fn main_1() {
var a : u32; var a : u32;
var v1 : vec4<f32>; var v1 : vec4<f32>;
var ref : vec4<f32>; var r : vec4<f32>;
var x_85 : bool; var x_85 : bool;
var x_97 : bool; var x_97 : bool;
var x_109 : bool; var x_109 : bool;
@ -48,18 +48,18 @@ fn main_1() {
let x_57 : f32 = x_6.x_GLF_uniform_float_values[1].el; let x_57 : f32 = x_6.x_GLF_uniform_float_values[1].el;
let x_60 : f32 = x_6.x_GLF_uniform_float_values[0].el; let x_60 : f32 = x_6.x_GLF_uniform_float_values[0].el;
let x_63 : f32 = x_6.x_GLF_uniform_float_values[1].el; let x_63 : f32 = x_6.x_GLF_uniform_float_values[1].el;
ref = vec4<f32>((-(x_42) / x_45), (-(x_48) / x_51), (-(x_54) / x_57), (-(x_60) / x_63)); r = vec4<f32>((-(x_42) / x_45), (-(x_48) / x_51), (-(x_54) / x_57), (-(x_60) / x_63));
let x_67 : i32 = x_10.x_GLF_uniform_int_values[1].el; let x_67 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_69 : f32 = v1[x_67]; let x_69 : f32 = v1[x_67];
let x_71 : i32 = x_10.x_GLF_uniform_int_values[0].el; let x_71 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_73 : f32 = ref[x_71]; let x_73 : f32 = r[x_71];
let x_74 : bool = (x_69 == x_73); let x_74 : bool = (x_69 == x_73);
x_86_phi = x_74; x_86_phi = x_74;
if (x_74) { if (x_74) {
let x_78 : i32 = x_10.x_GLF_uniform_int_values[3].el; let x_78 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_80 : f32 = v1[x_78]; let x_80 : f32 = v1[x_78];
let x_82 : i32 = x_10.x_GLF_uniform_int_values[2].el; let x_82 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_84 : f32 = ref[x_82]; let x_84 : f32 = r[x_82];
x_85 = (x_80 == x_84); x_85 = (x_80 == x_84);
x_86_phi = x_85; x_86_phi = x_85;
} }
@ -69,7 +69,7 @@ fn main_1() {
let x_90 : i32 = x_10.x_GLF_uniform_int_values[2].el; let x_90 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_92 : f32 = v1[x_90]; let x_92 : f32 = v1[x_90];
let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el; let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_96 : f32 = ref[x_94]; let x_96 : f32 = r[x_94];
x_97 = (x_92 == x_96); x_97 = (x_92 == x_96);
x_98_phi = x_97; x_98_phi = x_97;
} }
@ -79,7 +79,7 @@ fn main_1() {
let x_102 : i32 = x_10.x_GLF_uniform_int_values[0].el; let x_102 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_104 : f32 = v1[x_102]; let x_104 : f32 = v1[x_102];
let x_106 : i32 = x_10.x_GLF_uniform_int_values[1].el; let x_106 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_108 : f32 = ref[x_106]; let x_108 : f32 = r[x_106];
x_109 = (x_104 == x_108); x_109 = (x_104 == x_108);
x_110_phi = x_109; x_110_phi = x_109;
} }

View File

@ -11,7 +11,7 @@
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values" OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ "" OpName %_ ""
OpName %ref "ref" OpName %r "r"
OpName %i_0 "i" OpName %i_0 "i"
OpName %a_0 "a" OpName %a_0 "a"
OpName %param "param" OpName %param "param"
@ -36,7 +36,7 @@
OpDecorate %22 RelaxedPrecision OpDecorate %22 RelaxedPrecision
OpDecorate %23 RelaxedPrecision OpDecorate %23 RelaxedPrecision
OpDecorate %24 RelaxedPrecision OpDecorate %24 RelaxedPrecision
OpDecorate %ref RelaxedPrecision OpDecorate %r RelaxedPrecision
OpDecorate %25 RelaxedPrecision OpDecorate %25 RelaxedPrecision
OpDecorate %26 RelaxedPrecision OpDecorate %26 RelaxedPrecision
OpDecorate %27 RelaxedPrecision OpDecorate %27 RelaxedPrecision
@ -145,7 +145,7 @@
%_GLF_color = OpVariable %_ptr_Output_v4float Output %_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %96 %main = OpFunction %void None %96
%123 = OpLabel %123 = OpLabel
%ref = OpVariable %_ptr_Function__arr_int_uint_10 Function %r = OpVariable %_ptr_Function__arr_int_uint_10 Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function %a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -155,61 +155,61 @@
%25 = OpLoad %int %124 %25 = OpLoad %int %124
%125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%26 = OpLoad %int %125 %26 = OpLoad %int %125
%126 = OpAccessChain %_ptr_Function_int %ref %25 %126 = OpAccessChain %_ptr_Function_int %r %25
OpStore %126 %26 OpStore %126 %26
%127 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11 %127 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%27 = OpLoad %int %127 %27 = OpLoad %int %127
%128 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %128 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%28 = OpLoad %int %128 %28 = OpLoad %int %128
%129 = OpAccessChain %_ptr_Function_int %ref %27 %129 = OpAccessChain %_ptr_Function_int %r %27
OpStore %129 %28 OpStore %129 %28
%130 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %130 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%29 = OpLoad %int %130 %29 = OpLoad %int %130
%131 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 %131 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%30 = OpLoad %int %131 %30 = OpLoad %int %131
%132 = OpAccessChain %_ptr_Function_int %ref %29 %132 = OpAccessChain %_ptr_Function_int %r %29
OpStore %132 %30 OpStore %132 %30
%133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%31 = OpLoad %int %133 %31 = OpLoad %int %133
%134 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4 %134 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%32 = OpLoad %int %134 %32 = OpLoad %int %134
%135 = OpAccessChain %_ptr_Function_int %ref %31 %135 = OpAccessChain %_ptr_Function_int %r %31
OpStore %135 %32 OpStore %135 %32
%136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 %136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%33 = OpLoad %int %136 %33 = OpLoad %int %136
%137 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5 %137 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%34 = OpLoad %int %137 %34 = OpLoad %int %137
%138 = OpAccessChain %_ptr_Function_int %ref %33 %138 = OpAccessChain %_ptr_Function_int %r %33
OpStore %138 %34 OpStore %138 %34
%139 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4 %139 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%35 = OpLoad %int %139 %35 = OpLoad %int %139
%140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6 %140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%36 = OpLoad %int %140 %36 = OpLoad %int %140
%141 = OpAccessChain %_ptr_Function_int %ref %35 %141 = OpAccessChain %_ptr_Function_int %r %35
OpStore %141 %36 OpStore %141 %36
%142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5 %142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%37 = OpLoad %int %142 %37 = OpLoad %int %142
%143 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7 %143 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
%38 = OpLoad %int %143 %38 = OpLoad %int %143
%144 = OpAccessChain %_ptr_Function_int %ref %37 %144 = OpAccessChain %_ptr_Function_int %r %37
OpStore %144 %38 OpStore %144 %38
%145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8 %145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%39 = OpLoad %int %145 %39 = OpLoad %int %145
%146 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8 %146 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%40 = OpLoad %int %146 %40 = OpLoad %int %146
%147 = OpAccessChain %_ptr_Function_int %ref %39 %147 = OpAccessChain %_ptr_Function_int %r %39
OpStore %147 %40 OpStore %147 %40
%148 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9 %148 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%41 = OpLoad %int %148 %41 = OpLoad %int %148
%149 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9 %149 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%42 = OpLoad %int %149 %42 = OpLoad %int %149
%150 = OpAccessChain %_ptr_Function_int %ref %41 %150 = OpAccessChain %_ptr_Function_int %r %41
OpStore %150 %42 OpStore %150 %42
%151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10 %151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%43 = OpLoad %int %151 %43 = OpLoad %int %151
%152 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10 %152 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%44 = OpLoad %int %152 %44 = OpLoad %int %152
%153 = OpAccessChain %_ptr_Function_int %ref %43 %153 = OpAccessChain %_ptr_Function_int %r %43
OpStore %153 %44 OpStore %153 %44
%154 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 %154 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%45 = OpLoad %int %154 %45 = OpLoad %int %154
@ -330,7 +330,7 @@
%199 = OpAccessChain %_ptr_Function_int %a_0 %84 %199 = OpAccessChain %_ptr_Function_int %a_0 %84
%85 = OpLoad %int %199 %85 = OpLoad %int %199
%86 = OpLoad %int %i_1 %86 = OpLoad %int %i_1
%200 = OpAccessChain %_ptr_Function_int %ref %86 %200 = OpAccessChain %_ptr_Function_int %r %86
%87 = OpLoad %int %200 %87 = OpLoad %int %200
%201 = OpINotEqual %bool %85 %87 %201 = OpINotEqual %bool %85 %87
OpSelectionMerge %202 None OpSelectionMerge %202 None

View File

@ -41,7 +41,7 @@ fn f_i1_(a : ptr<function, i32>) -> i32 {
} }
fn main_1() { fn main_1() {
var ref : array<i32, 10u>; var r : array<i32, 10u>;
var i_1 : i32; var i_1 : i32;
var a_1 : array<i32, 10u>; var a_1 : array<i32, 10u>;
var param : i32; var param : i32;
@ -49,34 +49,34 @@ fn main_1() {
var i_2 : i32; var i_2 : i32;
let x_25 : i32 = x_8.x_GLF_uniform_int_values[0].el; let x_25 : i32 = x_8.x_GLF_uniform_int_values[0].el;
let x_26 : i32 = x_8.x_GLF_uniform_int_values[1].el; let x_26 : i32 = x_8.x_GLF_uniform_int_values[1].el;
ref[x_25] = x_26; r[x_25] = x_26;
let x_27 : i32 = x_8.x_GLF_uniform_int_values[11].el; let x_27 : i32 = x_8.x_GLF_uniform_int_values[11].el;
let x_28 : i32 = x_8.x_GLF_uniform_int_values[2].el; let x_28 : i32 = x_8.x_GLF_uniform_int_values[2].el;
ref[x_27] = x_28; r[x_27] = x_28;
let x_29 : i32 = x_8.x_GLF_uniform_int_values[1].el; let x_29 : i32 = x_8.x_GLF_uniform_int_values[1].el;
let x_30 : i32 = x_8.x_GLF_uniform_int_values[3].el; let x_30 : i32 = x_8.x_GLF_uniform_int_values[3].el;
ref[x_29] = x_30; r[x_29] = x_30;
let x_31 : i32 = x_8.x_GLF_uniform_int_values[2].el; let x_31 : i32 = x_8.x_GLF_uniform_int_values[2].el;
let x_32 : i32 = x_8.x_GLF_uniform_int_values[4].el; let x_32 : i32 = x_8.x_GLF_uniform_int_values[4].el;
ref[x_31] = x_32; r[x_31] = x_32;
let x_33 : i32 = x_8.x_GLF_uniform_int_values[3].el; let x_33 : i32 = x_8.x_GLF_uniform_int_values[3].el;
let x_34 : i32 = x_8.x_GLF_uniform_int_values[5].el; let x_34 : i32 = x_8.x_GLF_uniform_int_values[5].el;
ref[x_33] = x_34; r[x_33] = x_34;
let x_35 : i32 = x_8.x_GLF_uniform_int_values[4].el; let x_35 : i32 = x_8.x_GLF_uniform_int_values[4].el;
let x_36 : i32 = x_8.x_GLF_uniform_int_values[6].el; let x_36 : i32 = x_8.x_GLF_uniform_int_values[6].el;
ref[x_35] = x_36; r[x_35] = x_36;
let x_37 : i32 = x_8.x_GLF_uniform_int_values[5].el; let x_37 : i32 = x_8.x_GLF_uniform_int_values[5].el;
let x_38 : i32 = x_8.x_GLF_uniform_int_values[7].el; let x_38 : i32 = x_8.x_GLF_uniform_int_values[7].el;
ref[x_37] = x_38; r[x_37] = x_38;
let x_39 : i32 = x_8.x_GLF_uniform_int_values[8].el; let x_39 : i32 = x_8.x_GLF_uniform_int_values[8].el;
let x_40 : i32 = x_8.x_GLF_uniform_int_values[8].el; let x_40 : i32 = x_8.x_GLF_uniform_int_values[8].el;
ref[x_39] = x_40; r[x_39] = x_40;
let x_41 : i32 = x_8.x_GLF_uniform_int_values[9].el; let x_41 : i32 = x_8.x_GLF_uniform_int_values[9].el;
let x_42 : i32 = x_8.x_GLF_uniform_int_values[9].el; let x_42 : i32 = x_8.x_GLF_uniform_int_values[9].el;
ref[x_41] = x_42; r[x_41] = x_42;
let x_43 : i32 = x_8.x_GLF_uniform_int_values[10].el; let x_43 : i32 = x_8.x_GLF_uniform_int_values[10].el;
let x_44 : i32 = x_8.x_GLF_uniform_int_values[10].el; let x_44 : i32 = x_8.x_GLF_uniform_int_values[10].el;
ref[x_43] = x_44; r[x_43] = x_44;
let x_45 : i32 = x_8.x_GLF_uniform_int_values[0].el; let x_45 : i32 = x_8.x_GLF_uniform_int_values[0].el;
i_1 = x_45; i_1 = x_45;
loop { loop {
@ -148,7 +148,7 @@ fn main_1() {
let x_84 : i32 = i_2; let x_84 : i32 = i_2;
let x_85 : i32 = a_1[x_84]; let x_85 : i32 = a_1[x_84];
let x_86 : i32 = i_2; let x_86 : i32 = i_2;
let x_87 : i32 = ref[x_86]; let x_87 : i32 = r[x_86];
if ((x_85 != x_87)) { if ((x_85 != x_87)) {
let x_88 : i32 = x_8.x_GLF_uniform_int_values[0].el; let x_88 : i32 = x_8.x_GLF_uniform_int_values[0].el;
let x_205 : f32 = f32(x_88); let x_205 : f32 = f32(x_88);

View File

@ -9,7 +9,7 @@
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values" OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ "" OpName %_ ""
OpName %ref "ref" OpName %r "r"
OpName %a "a" OpName %a "a"
OpName %i "i" OpName %i "i"
OpName %ok "ok" OpName %ok "ok"
@ -65,7 +65,7 @@
%main = OpFunction %void None %14 %main = OpFunction %void None %14
%50 = OpLabel %50 = OpLabel
%A = OpVariable %_ptr_Function__arr_int_uint_17 Function %A = OpVariable %_ptr_Function__arr_int_uint_17 Function
%ref = OpVariable %_ptr_Function__arr_int_uint_17 Function %r = OpVariable %_ptr_Function__arr_int_uint_17 Function
%a = OpVariable %_ptr_Function_int Function %a = OpVariable %_ptr_Function_int Function
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%ok = OpVariable %_ptr_Function_bool Function %ok = OpVariable %_ptr_Function_bool Function
@ -141,7 +141,7 @@
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%119 = OpLoad %int %118 %119 = OpLoad %int %118
%120 = OpCompositeConstruct %_arr_int_uint_17 %87 %89 %91 %93 %95 %97 %99 %101 %103 %105 %107 %109 %111 %113 %115 %117 %119 %120 = OpCompositeConstruct %_arr_int_uint_17 %87 %89 %91 %93 %95 %97 %99 %101 %103 %105 %107 %109 %111 %113 %115 %117 %119
OpStore %ref %120 OpStore %r %120
%121 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %121 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%122 = OpLoad %int %121 %122 = OpLoad %int %121
OpStore %a %122 OpStore %a %122
@ -203,7 +203,7 @@
%163 = OpAccessChain %_ptr_Function_int %A %162 %163 = OpAccessChain %_ptr_Function_int %A %162
%164 = OpLoad %int %163 %164 = OpLoad %int %163
%165 = OpLoad %int %i_0 %165 = OpLoad %int %i_0
%166 = OpAccessChain %_ptr_Function_int %ref %165 %166 = OpAccessChain %_ptr_Function_int %r %165
%167 = OpLoad %int %166 %167 = OpLoad %int %166
%168 = OpINotEqual %bool %164 %167 %168 = OpINotEqual %bool %164 %167
OpSelectionMerge %169 None OpSelectionMerge %169 None

View File

@ -15,7 +15,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() { fn main_1() {
var A : array<i32, 17u>; var A : array<i32, 17u>;
var ref : array<i32, 17u>; var r : array<i32, 17u>;
var a : i32; var a : i32;
var i : i32; var i : i32;
var ok : bool; var ok : bool;
@ -55,7 +55,7 @@ fn main_1() {
let x_115 : i32 = x_6.x_GLF_uniform_int_values[17].el; let x_115 : i32 = x_6.x_GLF_uniform_int_values[17].el;
let x_117 : i32 = x_6.x_GLF_uniform_int_values[18].el; let x_117 : i32 = x_6.x_GLF_uniform_int_values[18].el;
let x_119 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_119 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref = array<i32, 17u>(x_87, x_89, x_91, x_93, x_95, x_97, x_99, x_101, x_103, x_105, x_107, x_109, x_111, x_113, x_115, x_117, x_119); r = array<i32, 17u>(x_87, x_89, x_91, x_93, x_95, x_97, x_99, x_101, x_103, x_105, x_107, x_109, x_111, x_113, x_115, x_117, x_119);
let x_122 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_122 : i32 = x_6.x_GLF_uniform_int_values[2].el;
a = x_122; a = x_122;
let x_124 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_124 : i32 = x_6.x_GLF_uniform_int_values[2].el;
@ -96,7 +96,7 @@ fn main_1() {
let x_162 : i32 = i_1; let x_162 : i32 = i_1;
let x_164 : i32 = A[x_162]; let x_164 : i32 = A[x_162];
let x_165 : i32 = i_1; let x_165 : i32 = i_1;
let x_167 : i32 = ref[x_165]; let x_167 : i32 = r[x_165];
if ((x_164 != x_167)) { if ((x_164 != x_167)) {
ok = false; ok = false;
} }

View File

@ -7,7 +7,7 @@
OpName %main "main" OpName %main "main"
OpName %a "a" OpName %a "a"
OpName %values "values" OpName %values "values"
OpName %ref "ref" OpName %r "r"
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values" OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %_ "" OpName %_ ""
@ -60,7 +60,7 @@
%36 = OpLabel %36 = OpLabel
%a = OpVariable %_ptr_Function_uint Function %a = OpVariable %_ptr_Function_uint Function
%values = OpVariable %_ptr_Function_v4float Function %values = OpVariable %_ptr_Function_v4float Function
%ref = OpVariable %_ptr_Function_v4float Function %r = OpVariable %_ptr_Function_v4float Function
%37 = OpExtInst %uint %1 PackHalf2x16 %20 %37 = OpExtInst %uint %1 PackHalf2x16 %20
OpStore %a %37 OpStore %a %37
%38 = OpLoad %uint %a %38 = OpLoad %uint %a
@ -84,14 +84,14 @@
%55 = OpLoad %float %54 %55 = OpLoad %float %54
%56 = OpFDiv %float %53 %55 %56 = OpFDiv %float %53 %55
%57 = OpCompositeConstruct %v4float %41 %46 %51 %56 %57 = OpCompositeConstruct %v4float %41 %46 %51 %56
OpStore %ref %57 OpStore %r %57
%58 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %58 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%59 = OpLoad %int %58 %59 = OpLoad %int %58
%60 = OpAccessChain %_ptr_Function_float %values %59 %60 = OpAccessChain %_ptr_Function_float %values %59
%61 = OpLoad %float %60 %61 = OpLoad %float %60
%62 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 %62 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
%63 = OpLoad %int %62 %63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Function_float %ref %63 %64 = OpAccessChain %_ptr_Function_float %r %63
%65 = OpLoad %float %64 %65 = OpLoad %float %64
%66 = OpFSub %float %61 %65 %66 = OpFSub %float %61 %65
%67 = OpExtInst %float %1 FAbs %66 %67 = OpExtInst %float %1 FAbs %66
@ -107,7 +107,7 @@
%76 = OpLoad %float %75 %76 = OpLoad %float %75
%77 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 %77 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
%78 = OpLoad %int %77 %78 = OpLoad %int %77
%79 = OpAccessChain %_ptr_Function_float %ref %78 %79 = OpAccessChain %_ptr_Function_float %r %78
%80 = OpLoad %float %79 %80 = OpLoad %float %79
%81 = OpFSub %float %76 %80 %81 = OpFSub %float %76 %80
%82 = OpExtInst %float %1 FAbs %81 %82 = OpExtInst %float %1 FAbs %81
@ -126,7 +126,7 @@
%92 = OpLoad %float %91 %92 = OpLoad %float %91
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3 %93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
%94 = OpLoad %int %93 %94 = OpLoad %int %93
%95 = OpAccessChain %_ptr_Function_float %ref %94 %95 = OpAccessChain %_ptr_Function_float %r %94
%96 = OpLoad %float %95 %96 = OpLoad %float %95
%97 = OpFSub %float %92 %96 %97 = OpFSub %float %92 %96
%98 = OpExtInst %float %1 FAbs %97 %98 = OpExtInst %float %1 FAbs %97
@ -145,7 +145,7 @@
%108 = OpLoad %float %107 %108 = OpLoad %float %107
%109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 %109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
%110 = OpLoad %int %109 %110 = OpLoad %int %109
%111 = OpAccessChain %_ptr_Function_float %ref %110 %111 = OpAccessChain %_ptr_Function_float %r %110
%112 = OpLoad %float %111 %112 = OpLoad %float %111
%113 = OpFSub %float %108 %112 %113 = OpFSub %float %108 %112
%114 = OpExtInst %float %1 FAbs %113 %114 = OpExtInst %float %1 FAbs %113

View File

@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
fn main_1() { fn main_1() {
var a : u32; var a : u32;
var values : vec4<f32>; var values : vec4<f32>;
var ref : vec4<f32>; var r : vec4<f32>;
var x_85 : bool; var x_85 : bool;
var x_101 : bool; var x_101 : bool;
var x_117 : bool; var x_117 : bool;
@ -46,11 +46,11 @@ fn main_1() {
let x_50 : f32 = x_8.x_GLF_uniform_float_values[0].el; let x_50 : f32 = x_8.x_GLF_uniform_float_values[0].el;
let x_53 : f32 = x_8.x_GLF_uniform_float_values[1].el; let x_53 : f32 = x_8.x_GLF_uniform_float_values[1].el;
let x_55 : f32 = x_8.x_GLF_uniform_float_values[0].el; let x_55 : f32 = x_8.x_GLF_uniform_float_values[0].el;
ref = vec4<f32>(x_41, (x_43 / x_45), (x_48 / x_50), (x_53 / x_55)); r = vec4<f32>(x_41, (x_43 / x_45), (x_48 / x_50), (x_53 / x_55));
let x_59 : i32 = x_10.x_GLF_uniform_int_values[0].el; let x_59 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_61 : f32 = values[x_59]; let x_61 : f32 = values[x_59];
let x_63 : i32 = x_10.x_GLF_uniform_int_values[0].el; let x_63 : i32 = x_10.x_GLF_uniform_int_values[0].el;
let x_65 : f32 = ref[x_63]; let x_65 : f32 = r[x_63];
let x_69 : f32 = x_8.x_GLF_uniform_float_values[2].el; let x_69 : f32 = x_8.x_GLF_uniform_float_values[2].el;
let x_70 : bool = (abs((x_61 - x_65)) < x_69); let x_70 : bool = (abs((x_61 - x_65)) < x_69);
x_86_phi = x_70; x_86_phi = x_70;
@ -58,7 +58,7 @@ fn main_1() {
let x_74 : i32 = x_10.x_GLF_uniform_int_values[1].el; let x_74 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_76 : f32 = values[x_74]; let x_76 : f32 = values[x_74];
let x_78 : i32 = x_10.x_GLF_uniform_int_values[1].el; let x_78 : i32 = x_10.x_GLF_uniform_int_values[1].el;
let x_80 : f32 = ref[x_78]; let x_80 : f32 = r[x_78];
let x_84 : f32 = x_8.x_GLF_uniform_float_values[2].el; let x_84 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_85 = (abs((x_76 - x_80)) < x_84); x_85 = (abs((x_76 - x_80)) < x_84);
x_86_phi = x_85; x_86_phi = x_85;
@ -69,7 +69,7 @@ fn main_1() {
let x_90 : i32 = x_10.x_GLF_uniform_int_values[3].el; let x_90 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_92 : f32 = values[x_90]; let x_92 : f32 = values[x_90];
let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el; let x_94 : i32 = x_10.x_GLF_uniform_int_values[3].el;
let x_96 : f32 = ref[x_94]; let x_96 : f32 = r[x_94];
let x_100 : f32 = x_8.x_GLF_uniform_float_values[2].el; let x_100 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_101 = (abs((x_92 - x_96)) < x_100); x_101 = (abs((x_92 - x_96)) < x_100);
x_102_phi = x_101; x_102_phi = x_101;
@ -80,7 +80,7 @@ fn main_1() {
let x_106 : i32 = x_10.x_GLF_uniform_int_values[2].el; let x_106 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_108 : f32 = values[x_106]; let x_108 : f32 = values[x_106];
let x_110 : i32 = x_10.x_GLF_uniform_int_values[2].el; let x_110 : i32 = x_10.x_GLF_uniform_int_values[2].el;
let x_112 : f32 = ref[x_110]; let x_112 : f32 = r[x_110];
let x_116 : f32 = x_8.x_GLF_uniform_float_values[2].el; let x_116 : f32 = x_8.x_GLF_uniform_float_values[2].el;
x_117 = (abs((x_108 - x_112)) < x_116); x_117 = (abs((x_108 - x_112)) < x_116);
x_118_phi = x_117; x_118_phi = x_117;

View File

@ -5,7 +5,7 @@
OpExecutionMode %main OriginUpperLeft OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310 OpSource ESSL 310
OpName %main "main" OpName %main "main"
OpName %ref "ref" OpName %r "r"
OpName %buf0 "buf0" OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values" OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ "" OpName %_ ""
@ -58,7 +58,7 @@
%_GLF_color = OpVariable %_ptr_Output_v4float Output %_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %14 %main = OpFunction %void None %14
%44 = OpLabel %44 = OpLabel
%ref = OpVariable %_ptr_Function__arr_int_uint_15 Function %r = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%data = OpVariable %_ptr_Function__arr_int_uint_15 Function %data = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
@ -68,101 +68,101 @@
%46 = OpLoad %int %45 %46 = OpLoad %int %45
%47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 %47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%48 = OpLoad %int %47 %48 = OpLoad %int %47
%49 = OpAccessChain %_ptr_Function_int %ref %46 %49 = OpAccessChain %_ptr_Function_int %r %46
OpStore %49 %48 OpStore %49 %48
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%51 = OpLoad %int %50 %51 = OpLoad %int %50
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%53 = OpLoad %int %52 %53 = OpLoad %int %52
%54 = OpAccessChain %_ptr_Function_int %ref %51 %54 = OpAccessChain %_ptr_Function_int %r %51
OpStore %54 %53 OpStore %54 %53
%55 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %55 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%56 = OpLoad %int %55 %56 = OpLoad %int %55
%57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%58 = OpLoad %int %57 %58 = OpLoad %int %57
%59 = OpAccessChain %_ptr_Function_int %ref %56 %59 = OpAccessChain %_ptr_Function_int %r %56
OpStore %59 %58 OpStore %59 %58
%60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 %60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%61 = OpLoad %int %60 %61 = OpLoad %int %60
%62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 %62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%63 = OpLoad %int %62 %63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Function_int %ref %61 %64 = OpAccessChain %_ptr_Function_int %r %61
OpStore %64 %63 OpStore %64 %63
%65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4 %65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%66 = OpLoad %int %65 %66 = OpLoad %int %65
%67 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4 %67 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%68 = OpLoad %int %67 %68 = OpLoad %int %67
%69 = OpAccessChain %_ptr_Function_int %ref %66 %69 = OpAccessChain %_ptr_Function_int %r %66
OpStore %69 %68 OpStore %69 %68
%70 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5 %70 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%71 = OpLoad %int %70 %71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%73 = OpLoad %int %72 %73 = OpLoad %int %72
%74 = OpSNegate %int %73 %74 = OpSNegate %int %73
%75 = OpAccessChain %_ptr_Function_int %ref %71 %75 = OpAccessChain %_ptr_Function_int %r %71
OpStore %75 %74 OpStore %75 %74
%76 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8 %76 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%77 = OpLoad %int %76 %77 = OpLoad %int %76
%78 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %78 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%79 = OpLoad %int %78 %79 = OpLoad %int %78
%80 = OpSNegate %int %79 %80 = OpSNegate %int %79
%81 = OpAccessChain %_ptr_Function_int %ref %77 %81 = OpAccessChain %_ptr_Function_int %r %77
OpStore %81 %80 OpStore %81 %80
%82 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9 %82 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%83 = OpLoad %int %82 %83 = OpLoad %int %82
%84 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %84 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%85 = OpLoad %int %84 %85 = OpLoad %int %84
%86 = OpSNegate %int %85 %86 = OpSNegate %int %85
%87 = OpAccessChain %_ptr_Function_int %ref %83 %87 = OpAccessChain %_ptr_Function_int %r %83
OpStore %87 %86 OpStore %87 %86
%88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10 %88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%89 = OpLoad %int %88 %89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %90 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%91 = OpLoad %int %90 %91 = OpLoad %int %90
%92 = OpSNegate %int %91 %92 = OpSNegate %int %91
%93 = OpAccessChain %_ptr_Function_int %ref %89 %93 = OpAccessChain %_ptr_Function_int %r %89
OpStore %93 %92 OpStore %93 %92
%94 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11 %94 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%95 = OpLoad %int %94 %95 = OpLoad %int %94
%96 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 %96 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%97 = OpLoad %int %96 %97 = OpLoad %int %96
%98 = OpSNegate %int %97 %98 = OpSNegate %int %97
%99 = OpAccessChain %_ptr_Function_int %ref %95 %99 = OpAccessChain %_ptr_Function_int %r %95
OpStore %99 %98 OpStore %99 %98
%100 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6 %100 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%101 = OpLoad %int %100 %101 = OpLoad %int %100
%102 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %102 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%103 = OpLoad %int %102 %103 = OpLoad %int %102
%104 = OpSNegate %int %103 %104 = OpSNegate %int %103
%105 = OpAccessChain %_ptr_Function_int %ref %101 %105 = OpAccessChain %_ptr_Function_int %r %101
OpStore %105 %104 OpStore %105 %104
%106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_12 %106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_12
%107 = OpLoad %int %106 %107 = OpLoad %int %106
%108 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %108 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%109 = OpLoad %int %108 %109 = OpLoad %int %108
%110 = OpSNegate %int %109 %110 = OpSNegate %int %109
%111 = OpAccessChain %_ptr_Function_int %ref %107 %111 = OpAccessChain %_ptr_Function_int %r %107
OpStore %111 %110 OpStore %111 %110
%112 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_13 %112 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_13
%113 = OpLoad %int %112 %113 = OpLoad %int %112
%114 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %114 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%115 = OpLoad %int %114 %115 = OpLoad %int %114
%116 = OpSNegate %int %115 %116 = OpSNegate %int %115
%117 = OpAccessChain %_ptr_Function_int %ref %113 %117 = OpAccessChain %_ptr_Function_int %r %113
OpStore %117 %116 OpStore %117 %116
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_14 %118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_14
%119 = OpLoad %int %118 %119 = OpLoad %int %118
%120 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %120 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%121 = OpLoad %int %120 %121 = OpLoad %int %120
%122 = OpSNegate %int %121 %122 = OpSNegate %int %121
%123 = OpAccessChain %_ptr_Function_int %ref %119 %123 = OpAccessChain %_ptr_Function_int %r %119
OpStore %123 %122 OpStore %123 %122
%124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_15 %124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_15
%125 = OpLoad %int %124 %125 = OpLoad %int %124
%126 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 %126 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%127 = OpLoad %int %126 %127 = OpLoad %int %126
%128 = OpSNegate %int %127 %128 = OpSNegate %int %127
%129 = OpAccessChain %_ptr_Function_int %ref %125 %129 = OpAccessChain %_ptr_Function_int %r %125
OpStore %129 %128 OpStore %129 %128
OpStore %i %int_0 OpStore %i %int_0
OpBranch %130 OpBranch %130
@ -267,7 +267,7 @@
%200 = OpAccessChain %_ptr_Function_int %data %199 %200 = OpAccessChain %_ptr_Function_int %data %199
%201 = OpLoad %int %200 %201 = OpLoad %int %200
%202 = OpLoad %int %i_2 %202 = OpLoad %int %i_2
%203 = OpAccessChain %_ptr_Function_int %ref %202 %203 = OpAccessChain %_ptr_Function_int %r %202
%204 = OpLoad %int %203 %204 = OpLoad %int %203
%205 = OpINotEqual %bool %201 %204 %205 = OpINotEqual %bool %201 %204
OpSelectionMerge %206 None OpSelectionMerge %206 None

View File

@ -14,7 +14,7 @@ struct buf0 {
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn main_1() { fn main_1() {
var ref : array<i32, 15u>; var r : array<i32, 15u>;
var i : i32; var i : i32;
var data : array<i32, 15u>; var data : array<i32, 15u>;
var i_1 : i32; var i_1 : i32;
@ -22,49 +22,49 @@ fn main_1() {
var i_3 : i32; var i_3 : i32;
let x_46 : i32 = x_6.x_GLF_uniform_int_values[0].el; let x_46 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_48 : i32 = x_6.x_GLF_uniform_int_values[0].el; let x_48 : i32 = x_6.x_GLF_uniform_int_values[0].el;
ref[x_46] = x_48; r[x_46] = x_48;
let x_51 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_51 : i32 = x_6.x_GLF_uniform_int_values[1].el;
let x_53 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_53 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_51] = x_53; r[x_51] = x_53;
let x_56 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_56 : i32 = x_6.x_GLF_uniform_int_values[2].el;
let x_58 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_58 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_56] = x_58; r[x_56] = x_58;
let x_61 : i32 = x_6.x_GLF_uniform_int_values[3].el; let x_61 : i32 = x_6.x_GLF_uniform_int_values[3].el;
let x_63 : i32 = x_6.x_GLF_uniform_int_values[3].el; let x_63 : i32 = x_6.x_GLF_uniform_int_values[3].el;
ref[x_61] = x_63; r[x_61] = x_63;
let x_66 : i32 = x_6.x_GLF_uniform_int_values[4].el; let x_66 : i32 = x_6.x_GLF_uniform_int_values[4].el;
let x_68 : i32 = x_6.x_GLF_uniform_int_values[4].el; let x_68 : i32 = x_6.x_GLF_uniform_int_values[4].el;
ref[x_66] = x_68; r[x_66] = x_68;
let x_71 : i32 = x_6.x_GLF_uniform_int_values[5].el; let x_71 : i32 = x_6.x_GLF_uniform_int_values[5].el;
let x_73 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_73 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_71] = -(x_73); r[x_71] = -(x_73);
let x_77 : i32 = x_6.x_GLF_uniform_int_values[8].el; let x_77 : i32 = x_6.x_GLF_uniform_int_values[8].el;
let x_79 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_79 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_77] = -(x_79); r[x_77] = -(x_79);
let x_83 : i32 = x_6.x_GLF_uniform_int_values[9].el; let x_83 : i32 = x_6.x_GLF_uniform_int_values[9].el;
let x_85 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_85 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_83] = -(x_85); r[x_83] = -(x_85);
let x_89 : i32 = x_6.x_GLF_uniform_int_values[10].el; let x_89 : i32 = x_6.x_GLF_uniform_int_values[10].el;
let x_91 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_91 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_89] = -(x_91); r[x_89] = -(x_91);
let x_95 : i32 = x_6.x_GLF_uniform_int_values[11].el; let x_95 : i32 = x_6.x_GLF_uniform_int_values[11].el;
let x_97 : i32 = x_6.x_GLF_uniform_int_values[1].el; let x_97 : i32 = x_6.x_GLF_uniform_int_values[1].el;
ref[x_95] = -(x_97); r[x_95] = -(x_97);
let x_101 : i32 = x_6.x_GLF_uniform_int_values[6].el; let x_101 : i32 = x_6.x_GLF_uniform_int_values[6].el;
let x_103 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_103 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_101] = -(x_103); r[x_101] = -(x_103);
let x_107 : i32 = x_6.x_GLF_uniform_int_values[12].el; let x_107 : i32 = x_6.x_GLF_uniform_int_values[12].el;
let x_109 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_109 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_107] = -(x_109); r[x_107] = -(x_109);
let x_113 : i32 = x_6.x_GLF_uniform_int_values[13].el; let x_113 : i32 = x_6.x_GLF_uniform_int_values[13].el;
let x_115 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_115 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_113] = -(x_115); r[x_113] = -(x_115);
let x_119 : i32 = x_6.x_GLF_uniform_int_values[14].el; let x_119 : i32 = x_6.x_GLF_uniform_int_values[14].el;
let x_121 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_121 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_119] = -(x_121); r[x_119] = -(x_121);
let x_125 : i32 = x_6.x_GLF_uniform_int_values[15].el; let x_125 : i32 = x_6.x_GLF_uniform_int_values[15].el;
let x_127 : i32 = x_6.x_GLF_uniform_int_values[2].el; let x_127 : i32 = x_6.x_GLF_uniform_int_values[2].el;
ref[x_125] = -(x_127); r[x_125] = -(x_127);
i = 0; i = 0;
loop { loop {
let x_134 : i32 = i; let x_134 : i32 = i;
@ -132,7 +132,7 @@ fn main_1() {
let x_199 : i32 = i_3; let x_199 : i32 = i_3;
let x_201 : i32 = data[x_199]; let x_201 : i32 = data[x_199];
let x_202 : i32 = i_3; let x_202 : i32 = i_3;
let x_204 : i32 = ref[x_202]; let x_204 : i32 = r[x_202];
if ((x_201 != x_204)) { if ((x_201 != x_204)) {
let x_209 : i32 = x_6.x_GLF_uniform_int_values[0].el; let x_209 : i32 = x_6.x_GLF_uniform_int_values[0].el;
let x_210 : f32 = f32(x_209); let x_210 : f32 = f32(x_209);

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -365,7 +365,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37 %merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%253 = OpLabel %253 = OpLabel
@ -373,9 +373,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%254 = OpLoad %int %from %254 = OpLoad %int %f
OpStore %k %254 OpStore %k %254
%255 = OpLoad %int %from %255 = OpLoad %int %f
OpStore %i %255 OpStore %i %255
%256 = OpLoad %int %mid %256 = OpLoad %int %mid
%257 = OpIAdd %int %256 %int_1 %257 = OpIAdd %int %256 %int_1
@ -459,7 +459,7 @@
%296 = OpLabel %296 = OpLabel
OpBranch %294 OpBranch %294
%295 = OpLabel %295 = OpLabel
%312 = OpLoad %int %from %312 = OpLoad %int %f
OpStore %i_0 %312 OpStore %i_0 %312
OpBranch %313 OpBranch %313
%313 = OpLabel %313 = OpLabel
@ -492,7 +492,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -524,7 +524,7 @@
OpBranchConditional %344 %345 %339 OpBranchConditional %344 %345 %339
%345 = OpLabel %345 = OpLabel
%346 = OpLoad %int %i_1 %346 = OpLoad %int %i_1
OpStore %from_0 %346 OpStore %f_0 %346
%347 = OpLoad %int %i_1 %347 = OpLoad %int %i_1
%348 = OpLoad %int %m %348 = OpLoad %int %m
%349 = OpIAdd %int %347 %348 %349 = OpIAdd %int %347 %348
@ -538,7 +538,7 @@
%356 = OpLoad %int %high %356 = OpLoad %int %high
%357 = OpExtInst %int %1 SMin %355 %356 %357 = OpExtInst %int %1 SMin %355 %356
OpStore %to_0 %357 OpStore %to_0 %357
%358 = OpLoad %int %from_0 %358 = OpLoad %int %f_0
OpStore %param %358 OpStore %param %358
%359 = OpLoad %int %mid_0 %359 = OpLoad %int %mid_0
OpStore %param_0 %359 OpStore %param_0 %359

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1; @group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_254 : i32 = *(from); let x_254 : i32 = *(f);
k = x_254; k = x_254;
let x_255 : i32 = *(from); let x_255 : i32 = *(f);
i = x_255; i = x_255;
let x_256 : i32 = *(mid); let x_256 : i32 = *(mid);
j = (x_256 + 1); j = (x_256 + 1);
@ -73,7 +73,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_310 : i32 = data[x_307]; let x_310 : i32 = data[x_307];
temp[x_305] = x_310; temp[x_305] = x_310;
} }
let x_312 : i32 = *(from); let x_312 : i32 = *(f);
i_1 = x_312; i_1 = x_312;
loop { loop {
let x_317 : i32 = i_1; let x_317 : i32 = i_1;
@ -100,7 +100,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -126,7 +126,7 @@ fn mergeSort_() {
break; break;
} }
let x_346 : i32 = i_2; let x_346 : i32 = i_2;
from_1 = x_346; f_1 = x_346;
let x_347 : i32 = i_2; let x_347 : i32 = i_2;
let x_348 : i32 = m; let x_348 : i32 = m;
mid_1 = ((x_347 + x_348) - 1); mid_1 = ((x_347 + x_348) - 1);
@ -134,7 +134,7 @@ fn mergeSort_() {
let x_352 : i32 = m; let x_352 : i32 = m;
let x_356 : i32 = high; let x_356 : i32 = high;
to_1 = min(((x_351 + (2 * x_352)) - 1), x_356); to_1 = min(((x_351 + (2 * x_352)) - 1), x_356);
let x_358 : i32 = from_1; let x_358 : i32 = f_1;
param = x_358; param = x_358;
let x_359 : i32 = mid_1; let x_359 : i32 = mid_1;
param_1 = x_359; param_1 = x_359;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -366,7 +366,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37 %merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel %254 = OpLabel
@ -374,9 +374,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from %255 = OpLoad %int %f
OpStore %k %255 OpStore %k %255
%256 = OpLoad %int %from %256 = OpLoad %int %f
OpStore %i %256 OpStore %i %256
%257 = OpLoad %int %mid %257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1 %258 = OpIAdd %int %257 %int_1
@ -460,7 +460,7 @@
%297 = OpLabel %297 = OpLabel
OpBranch %295 OpBranch %295
%296 = OpLabel %296 = OpLabel
%313 = OpLoad %int %from %313 = OpLoad %int %f
OpStore %i_0 %313 OpStore %i_0 %313
OpBranch %314 OpBranch %314
%314 = OpLabel %314 = OpLabel
@ -493,7 +493,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -525,7 +525,7 @@
OpBranchConditional %345 %346 %340 OpBranchConditional %345 %346 %340
%346 = OpLabel %346 = OpLabel
%347 = OpLoad %int %i_1 %347 = OpLoad %int %i_1
OpStore %from_0 %347 OpStore %f_0 %347
%348 = OpLoad %int %i_1 %348 = OpLoad %int %i_1
%349 = OpLoad %int %m %349 = OpLoad %int %m
%350 = OpIAdd %int %348 %349 %350 = OpIAdd %int %348 %349
@ -539,7 +539,7 @@
%357 = OpLoad %int %high %357 = OpLoad %int %high
%358 = OpExtInst %int %1 SMin %356 %357 %358 = OpExtInst %int %1 SMin %356 %357
OpStore %to_0 %358 OpStore %to_0 %358
%359 = OpLoad %int %from_0 %359 = OpLoad %int %f_0
OpStore %param %359 OpStore %param %359
%360 = OpLoad %int %mid_0 %360 = OpLoad %int %mid_0
OpStore %param_0 %360 OpStore %param_0 %360

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1; @group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_255 : i32 = *(from); let x_255 : i32 = *(f);
k = x_255; k = x_255;
let x_256 : i32 = *(from); let x_256 : i32 = *(f);
i = x_256; i = x_256;
let x_257 : i32 = *(mid); let x_257 : i32 = *(mid);
j = (x_257 + 1); j = (x_257 + 1);
@ -73,7 +73,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_311 : i32 = data[x_308]; let x_311 : i32 = data[x_308];
temp[x_306] = x_311; temp[x_306] = x_311;
} }
let x_313 : i32 = *(from); let x_313 : i32 = *(f);
i_1 = x_313; i_1 = x_313;
loop { loop {
let x_318 : i32 = i_1; let x_318 : i32 = i_1;
@ -100,7 +100,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -126,7 +126,7 @@ fn mergeSort_() {
break; break;
} }
let x_347 : i32 = i_2; let x_347 : i32 = i_2;
from_1 = x_347; f_1 = x_347;
let x_348 : i32 = i_2; let x_348 : i32 = i_2;
let x_349 : i32 = m; let x_349 : i32 = m;
mid_1 = ((x_348 + x_349) - 1); mid_1 = ((x_348 + x_349) - 1);
@ -134,7 +134,7 @@ fn mergeSort_() {
let x_353 : i32 = m; let x_353 : i32 = m;
let x_357 : i32 = high; let x_357 : i32 = high;
to_1 = min(((x_352 + (2 * x_353)) - 1), x_357); to_1 = min(((x_352 + (2 * x_353)) - 1), x_357);
let x_359 : i32 = from_1; let x_359 : i32 = f_1;
param = x_359; param = x_359;
let x_360 : i32 = mid_1; let x_360 : i32 = mid_1;
param_1 = x_360; param_1 = x_360;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -367,7 +367,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %37 %merge_i1_i1_i1_ = OpFunction %void None %37
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%255 = OpLabel %255 = OpLabel
@ -375,9 +375,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%256 = OpLoad %int %from %256 = OpLoad %int %f
OpStore %k %256 OpStore %k %256
%257 = OpLoad %int %from %257 = OpLoad %int %f
OpStore %i %257 OpStore %i %257
%258 = OpLoad %int %mid %258 = OpLoad %int %mid
%259 = OpIAdd %int %258 %int_1 %259 = OpIAdd %int %258 %int_1
@ -464,7 +464,7 @@
%299 = OpLabel %299 = OpLabel
OpBranch %296 OpBranch %296
%298 = OpLabel %298 = OpLabel
%316 = OpLoad %int %from %316 = OpLoad %int %f
OpStore %i_0 %316 OpStore %i_0 %316
OpBranch %317 OpBranch %317
%317 = OpLabel %317 = OpLabel
@ -497,7 +497,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -529,7 +529,7 @@
OpBranchConditional %348 %349 %343 OpBranchConditional %348 %349 %343
%349 = OpLabel %349 = OpLabel
%350 = OpLoad %int %i_1 %350 = OpLoad %int %i_1
OpStore %from_0 %350 OpStore %f_0 %350
%351 = OpLoad %int %i_1 %351 = OpLoad %int %i_1
%352 = OpLoad %int %m %352 = OpLoad %int %m
%353 = OpIAdd %int %351 %352 %353 = OpIAdd %int %351 %352
@ -543,7 +543,7 @@
%360 = OpLoad %int %high %360 = OpLoad %int %high
%361 = OpExtInst %int %1 SMin %359 %360 %361 = OpExtInst %int %1 SMin %359 %360
OpStore %to_0 %361 OpStore %to_0 %361
%362 = OpLoad %int %from_0 %362 = OpLoad %int %f_0
OpStore %param %362 OpStore %param %362
%363 = OpLoad %int %mid_0 %363 = OpLoad %int %mid_0
OpStore %param_0 %363 OpStore %param_0 %363

View File

@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
@group(0) @binding(1) var<uniform> x_32 : buf1; @group(0) @binding(1) var<uniform> x_32 : buf1;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_256 : i32 = *(from); let x_256 : i32 = *(f);
k = x_256; k = x_256;
let x_257 : i32 = *(from); let x_257 : i32 = *(f);
i = x_257; i = x_257;
let x_258 : i32 = *(mid); let x_258 : i32 = *(mid);
j = (x_258 + 1); j = (x_258 + 1);
@ -77,7 +77,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_314 : i32 = data[x_311]; let x_314 : i32 = data[x_311];
temp[x_309] = x_314; temp[x_309] = x_314;
} }
let x_316 : i32 = *(from); let x_316 : i32 = *(f);
i_1 = x_316; i_1 = x_316;
loop { loop {
let x_321 : i32 = i_1; let x_321 : i32 = i_1;
@ -104,7 +104,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -130,7 +130,7 @@ fn mergeSort_() {
break; break;
} }
let x_350 : i32 = i_2; let x_350 : i32 = i_2;
from_1 = x_350; f_1 = x_350;
let x_351 : i32 = i_2; let x_351 : i32 = i_2;
let x_352 : i32 = m; let x_352 : i32 = m;
mid_1 = ((x_351 + x_352) - 1); mid_1 = ((x_351 + x_352) - 1);
@ -138,7 +138,7 @@ fn mergeSort_() {
let x_356 : i32 = m; let x_356 : i32 = m;
let x_360 : i32 = high; let x_360 : i32 = high;
to_1 = min(((x_355 + (2 * x_356)) - 1), x_360); to_1 = min(((x_355 + (2 * x_356)) - 1), x_360);
let x_362 : i32 = from_1; let x_362 : i32 = f_1;
param = x_362; param = x_362;
let x_363 : i32 = mid_1; let x_363 : i32 = mid_1;
param_1 = x_363; param_1 = x_363;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -355,7 +355,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%250 = OpLabel %250 = OpLabel
@ -363,9 +363,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%251 = OpLoad %int %from %251 = OpLoad %int %f
OpStore %k %251 OpStore %k %251
%252 = OpLoad %int %from %252 = OpLoad %int %f
OpStore %i %252 OpStore %i %252
%253 = OpLoad %int %mid %253 = OpLoad %int %mid
%254 = OpIAdd %int %253 %int_1 %254 = OpIAdd %int %253 %int_1
@ -449,7 +449,7 @@
%293 = OpLabel %293 = OpLabel
OpBranch %291 OpBranch %291
%292 = OpLabel %292 = OpLabel
%309 = OpLoad %int %from %309 = OpLoad %int %f
OpStore %i_0 %309 OpStore %i_0 %309
OpBranch %310 OpBranch %310
%310 = OpLabel %310 = OpLabel
@ -482,7 +482,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -514,7 +514,7 @@
OpBranchConditional %341 %342 %336 OpBranchConditional %341 %342 %336
%342 = OpLabel %342 = OpLabel
%343 = OpLoad %int %i_1 %343 = OpLoad %int %i_1
OpStore %from_0 %343 OpStore %f_0 %343
%344 = OpLoad %int %i_1 %344 = OpLoad %int %i_1
%345 = OpLoad %int %m %345 = OpLoad %int %m
%346 = OpIAdd %int %344 %345 %346 = OpIAdd %int %344 %345
@ -528,7 +528,7 @@
%353 = OpLoad %int %high %353 = OpLoad %int %high
%354 = OpExtInst %int %1 SMin %352 %353 %354 = OpExtInst %int %1 SMin %352 %353
OpStore %to_0 %354 OpStore %to_0 %354
%355 = OpLoad %int %from_0 %355 = OpLoad %int %f_0
OpStore %param %355 OpStore %param %355
%356 = OpLoad %int %mid_0 %356 = OpLoad %int %mid_0
OpStore %param_0 %356 OpStore %param_0 %356

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_251 : i32 = *(from); let x_251 : i32 = *(f);
k = x_251; k = x_251;
let x_252 : i32 = *(from); let x_252 : i32 = *(f);
i = x_252; i = x_252;
let x_253 : i32 = *(mid); let x_253 : i32 = *(mid);
j = (x_253 + 1); j = (x_253 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_307 : i32 = data[x_304]; let x_307 : i32 = data[x_304];
temp[x_302] = x_307; temp[x_302] = x_307;
} }
let x_309 : i32 = *(from); let x_309 : i32 = *(f);
i_1 = x_309; i_1 = x_309;
loop { loop {
let x_314 : i32 = i_1; let x_314 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break; break;
} }
let x_343 : i32 = i_2; let x_343 : i32 = i_2;
from_1 = x_343; f_1 = x_343;
let x_344 : i32 = i_2; let x_344 : i32 = i_2;
let x_345 : i32 = m; let x_345 : i32 = m;
mid_1 = ((x_344 + x_345) - 1); mid_1 = ((x_344 + x_345) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_349 : i32 = m; let x_349 : i32 = m;
let x_353 : i32 = high; let x_353 : i32 = high;
to_1 = min(((x_348 + (2 * x_349)) - 1), x_353); to_1 = min(((x_348 + (2 * x_349)) - 1), x_353);
let x_355 : i32 = from_1; let x_355 : i32 = f_1;
param = x_355; param = x_355;
let x_356 : i32 = mid_1; let x_356 : i32 = mid_1;
param_1 = x_356; param_1 = x_356;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -371,7 +371,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%261 = OpLabel %261 = OpLabel
@ -379,9 +379,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%262 = OpLoad %int %from %262 = OpLoad %int %f
OpStore %k %262 OpStore %k %262
%263 = OpLoad %int %from %263 = OpLoad %int %f
OpStore %i %263 OpStore %i %263
%264 = OpLoad %int %mid %264 = OpLoad %int %mid
%265 = OpIAdd %int %264 %int_1 %265 = OpIAdd %int %264 %int_1
@ -465,7 +465,7 @@
%304 = OpLabel %304 = OpLabel
OpBranch %302 OpBranch %302
%303 = OpLabel %303 = OpLabel
%320 = OpLoad %int %from %320 = OpLoad %int %f
OpStore %i_0 %320 OpStore %i_0 %320
OpBranch %321 OpBranch %321
%321 = OpLabel %321 = OpLabel
@ -498,7 +498,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -530,7 +530,7 @@
OpBranchConditional %352 %353 %347 OpBranchConditional %352 %353 %347
%353 = OpLabel %353 = OpLabel
%354 = OpLoad %int %i_1 %354 = OpLoad %int %i_1
OpStore %from_0 %354 OpStore %f_0 %354
%355 = OpLoad %int %i_1 %355 = OpLoad %int %i_1
%356 = OpLoad %int %m %356 = OpLoad %int %m
%357 = OpIAdd %int %355 %356 %357 = OpIAdd %int %355 %356
@ -544,7 +544,7 @@
%364 = OpLoad %int %high %364 = OpLoad %int %high
%365 = OpExtInst %int %1 SMin %363 %364 %365 = OpExtInst %int %1 SMin %363 %364
OpStore %to_0 %365 OpStore %to_0 %365
%366 = OpLoad %int %from_0 %366 = OpLoad %int %f_0
OpStore %param %366 OpStore %param %366
%367 = OpLoad %int %mid_0 %367 = OpLoad %int %mid_0
OpStore %param_0 %367 OpStore %param_0 %367

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_262 : i32 = *(from); let x_262 : i32 = *(f);
k = x_262; k = x_262;
let x_263 : i32 = *(from); let x_263 : i32 = *(f);
i = x_263; i = x_263;
let x_264 : i32 = *(mid); let x_264 : i32 = *(mid);
j = (x_264 + 1); j = (x_264 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_318 : i32 = data[x_315]; let x_318 : i32 = data[x_315];
temp[x_313] = x_318; temp[x_313] = x_318;
} }
let x_320 : i32 = *(from); let x_320 : i32 = *(f);
i_1 = x_320; i_1 = x_320;
loop { loop {
let x_325 : i32 = i_1; let x_325 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break; break;
} }
let x_354 : i32 = i_2; let x_354 : i32 = i_2;
from_1 = x_354; f_1 = x_354;
let x_355 : i32 = i_2; let x_355 : i32 = i_2;
let x_356 : i32 = m; let x_356 : i32 = m;
mid_1 = ((x_355 + x_356) - 1); mid_1 = ((x_355 + x_356) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_360 : i32 = m; let x_360 : i32 = m;
let x_364 : i32 = high; let x_364 : i32 = high;
to_1 = min(((x_359 + (2 * x_360)) - 1), x_364); to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
let x_366 : i32 = from_1; let x_366 : i32 = f_1;
param = x_366; param = x_366;
let x_367 : i32 = mid_1; let x_367 : i32 = mid_1;
param_1 = x_367; param_1 = x_367;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -359,7 +359,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel %254 = OpLabel
@ -367,9 +367,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from %255 = OpLoad %int %f
OpStore %k %255 OpStore %k %255
%256 = OpLoad %int %from %256 = OpLoad %int %f
OpStore %i %256 OpStore %i %256
%257 = OpLoad %int %mid %257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1 %258 = OpIAdd %int %257 %int_1
@ -582,7 +582,7 @@
%374 = OpLabel %374 = OpLabel
OpBranch %372 OpBranch %372
%373 = OpLabel %373 = OpLabel
%390 = OpLoad %int %from %390 = OpLoad %int %f
OpStore %i_0 %390 OpStore %i_0 %390
OpBranch %391 OpBranch %391
%391 = OpLabel %391 = OpLabel
@ -615,7 +615,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -647,7 +647,7 @@
OpBranchConditional %422 %423 %417 OpBranchConditional %422 %423 %417
%423 = OpLabel %423 = OpLabel
%424 = OpLoad %int %i_1 %424 = OpLoad %int %i_1
OpStore %from_0 %424 OpStore %f_0 %424
%425 = OpLoad %int %i_1 %425 = OpLoad %int %i_1
%426 = OpLoad %int %m %426 = OpLoad %int %m
%427 = OpIAdd %int %425 %426 %427 = OpIAdd %int %425 %426
@ -661,7 +661,7 @@
%434 = OpLoad %int %high %434 = OpLoad %int %high
%435 = OpExtInst %int %1 SMin %433 %434 %435 = OpExtInst %int %1 SMin %433 %434
OpStore %to_0 %435 OpStore %to_0 %435
%436 = OpLoad %int %from_0 %436 = OpLoad %int %f_0
OpStore %param %436 OpStore %param %436
%437 = OpLoad %int %mid_0 %437 = OpLoad %int %mid_0
OpStore %param_0 %437 OpStore %param_0 %437

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_255 : i32 = *(from); let x_255 : i32 = *(f);
k = x_255; k = x_255;
let x_256 : i32 = *(from); let x_256 : i32 = *(f);
i = x_256; i = x_256;
let x_257 : i32 = *(mid); let x_257 : i32 = *(mid);
j = (x_257 + 1); j = (x_257 + 1);
@ -175,7 +175,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_388 : i32 = data[x_385]; let x_388 : i32 = data[x_385];
temp[x_383] = x_388; temp[x_383] = x_388;
} }
let x_390 : i32 = *(from); let x_390 : i32 = *(f);
i_1 = x_390; i_1 = x_390;
loop { loop {
let x_395 : i32 = i_1; let x_395 : i32 = i_1;
@ -202,7 +202,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -228,7 +228,7 @@ fn mergeSort_() {
break; break;
} }
let x_424 : i32 = i_2; let x_424 : i32 = i_2;
from_1 = x_424; f_1 = x_424;
let x_425 : i32 = i_2; let x_425 : i32 = i_2;
let x_426 : i32 = m; let x_426 : i32 = m;
mid_1 = ((x_425 + x_426) - 1); mid_1 = ((x_425 + x_426) - 1);
@ -236,7 +236,7 @@ fn mergeSort_() {
let x_430 : i32 = m; let x_430 : i32 = m;
let x_434 : i32 = high; let x_434 : i32 = high;
to_1 = min(((x_429 + (2 * x_430)) - 1), x_434); to_1 = min(((x_429 + (2 * x_430)) - 1), x_434);
let x_436 : i32 = from_1; let x_436 : i32 = f_1;
param = x_436; param = x_436;
let x_437 : i32 = mid_1; let x_437 : i32 = mid_1;
param_1 = x_437; param_1 = x_437;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -359,7 +359,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%254 = OpLabel %254 = OpLabel
@ -367,9 +367,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%255 = OpLoad %int %from %255 = OpLoad %int %f
OpStore %k %255 OpStore %k %255
%256 = OpLoad %int %from %256 = OpLoad %int %f
OpStore %i %256 OpStore %i %256
%257 = OpLoad %int %mid %257 = OpLoad %int %mid
%258 = OpIAdd %int %257 %int_1 %258 = OpIAdd %int %257 %int_1
@ -580,7 +580,7 @@
%372 = OpLabel %372 = OpLabel
OpBranch %370 OpBranch %370
%371 = OpLabel %371 = OpLabel
%388 = OpLoad %int %from %388 = OpLoad %int %f
OpStore %i_0 %388 OpStore %i_0 %388
OpBranch %389 OpBranch %389
%389 = OpLabel %389 = OpLabel
@ -613,7 +613,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -645,7 +645,7 @@
OpBranchConditional %420 %421 %415 OpBranchConditional %420 %421 %415
%421 = OpLabel %421 = OpLabel
%422 = OpLoad %int %i_1 %422 = OpLoad %int %i_1
OpStore %from_0 %422 OpStore %f_0 %422
%423 = OpLoad %int %i_1 %423 = OpLoad %int %i_1
%424 = OpLoad %int %m %424 = OpLoad %int %m
%425 = OpIAdd %int %423 %424 %425 = OpIAdd %int %423 %424
@ -659,7 +659,7 @@
%432 = OpLoad %int %high %432 = OpLoad %int %high
%433 = OpExtInst %int %1 SMin %431 %432 %433 = OpExtInst %int %1 SMin %431 %432
OpStore %to_0 %433 OpStore %to_0 %433
%434 = OpLoad %int %from_0 %434 = OpLoad %int %f_0
OpStore %param %434 OpStore %param %434
%435 = OpLoad %int %mid_0 %435 = OpLoad %int %mid_0
OpStore %param_0 %435 OpStore %param_0 %435

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_255 : i32 = *(from); let x_255 : i32 = *(f);
k = x_255; k = x_255;
let x_256 : i32 = *(from); let x_256 : i32 = *(f);
i = x_256; i = x_256;
let x_257 : i32 = *(mid); let x_257 : i32 = *(mid);
j = (x_257 + 1); j = (x_257 + 1);
@ -174,7 +174,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_386 : i32 = data[x_383]; let x_386 : i32 = data[x_383];
temp[x_381] = x_386; temp[x_381] = x_386;
} }
let x_388 : i32 = *(from); let x_388 : i32 = *(f);
i_1 = x_388; i_1 = x_388;
loop { loop {
let x_393 : i32 = i_1; let x_393 : i32 = i_1;
@ -201,7 +201,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -227,7 +227,7 @@ fn mergeSort_() {
break; break;
} }
let x_422 : i32 = i_2; let x_422 : i32 = i_2;
from_1 = x_422; f_1 = x_422;
let x_423 : i32 = i_2; let x_423 : i32 = i_2;
let x_424 : i32 = m; let x_424 : i32 = m;
mid_1 = ((x_423 + x_424) - 1); mid_1 = ((x_423 + x_424) - 1);
@ -235,7 +235,7 @@ fn mergeSort_() {
let x_428 : i32 = m; let x_428 : i32 = m;
let x_432 : i32 = high; let x_432 : i32 = high;
to_1 = min(((x_427 + (2 * x_428)) - 1), x_432); to_1 = min(((x_427 + (2 * x_428)) - 1), x_432);
let x_434 : i32 = from_1; let x_434 : i32 = f_1;
param = x_434; param = x_434;
let x_435 : i32 = mid_1; let x_435 : i32 = mid_1;
param_1 = x_435; param_1 = x_435;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -434,7 +434,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%302 = OpLabel %302 = OpLabel
@ -442,9 +442,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%303 = OpLoad %int %from %303 = OpLoad %int %f
OpStore %k %303 OpStore %k %303
%304 = OpLoad %int %from %304 = OpLoad %int %f
OpStore %i %304 OpStore %i %304
%305 = OpLoad %int %mid %305 = OpLoad %int %mid
%306 = OpIAdd %int %305 %int_1 %306 = OpIAdd %int %305 %int_1
@ -528,7 +528,7 @@
%345 = OpLabel %345 = OpLabel
OpBranch %343 OpBranch %343
%344 = OpLabel %344 = OpLabel
%361 = OpLoad %int %from %361 = OpLoad %int %f
OpStore %i_0 %361 OpStore %i_0 %361
OpBranch %362 OpBranch %362
%362 = OpLabel %362 = OpLabel
@ -561,7 +561,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -593,7 +593,7 @@
OpBranchConditional %393 %394 %388 OpBranchConditional %393 %394 %388
%394 = OpLabel %394 = OpLabel
%395 = OpLoad %int %i_1 %395 = OpLoad %int %i_1
OpStore %from_0 %395 OpStore %f_0 %395
%396 = OpLoad %int %i_1 %396 = OpLoad %int %i_1
%397 = OpLoad %int %m %397 = OpLoad %int %m
%398 = OpIAdd %int %396 %397 %398 = OpIAdd %int %396 %397
@ -607,7 +607,7 @@
%405 = OpLoad %int %high %405 = OpLoad %int %high
%406 = OpExtInst %int %1 SMin %404 %405 %406 = OpExtInst %int %1 SMin %404 %405
OpStore %to_0 %406 OpStore %to_0 %406
%407 = OpLoad %int %from_0 %407 = OpLoad %int %f_0
OpStore %param %407 OpStore %param %407
%408 = OpLoad %int %mid_0 %408 = OpLoad %int %mid_0
OpStore %param_0 %408 OpStore %param_0 %408

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_303 : i32 = *(from); let x_303 : i32 = *(f);
k = x_303; k = x_303;
let x_304 : i32 = *(from); let x_304 : i32 = *(f);
i = x_304; i = x_304;
let x_305 : i32 = *(mid); let x_305 : i32 = *(mid);
j = (x_305 + 1); j = (x_305 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_359 : i32 = data[x_356]; let x_359 : i32 = data[x_356];
temp[x_354] = x_359; temp[x_354] = x_359;
} }
let x_361 : i32 = *(from); let x_361 : i32 = *(f);
i_1 = x_361; i_1 = x_361;
loop { loop {
let x_366 : i32 = i_1; let x_366 : i32 = i_1;
@ -307,7 +307,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -333,7 +333,7 @@ fn mergeSort_() {
break; break;
} }
let x_395 : i32 = i_2; let x_395 : i32 = i_2;
from_1 = x_395; f_1 = x_395;
let x_396 : i32 = i_2; let x_396 : i32 = i_2;
let x_397 : i32 = m; let x_397 : i32 = m;
mid_1 = ((x_396 + x_397) - 1); mid_1 = ((x_396 + x_397) - 1);
@ -341,7 +341,7 @@ fn mergeSort_() {
let x_401 : i32 = m; let x_401 : i32 = m;
let x_405 : i32 = high; let x_405 : i32 = high;
to_1 = min(((x_400 + (2 * x_401)) - 1), x_405); to_1 = min(((x_400 + (2 * x_401)) - 1), x_405);
let x_407 : i32 = from_1; let x_407 : i32 = f_1;
param = x_407; param = x_407;
let x_408 : i32 = mid_1; let x_408 : i32 = mid_1;
param_1 = x_408; param_1 = x_408;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -431,7 +431,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %35 %merge_i1_i1_i1_ = OpFunction %void None %35
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%301 = OpLabel %301 = OpLabel
@ -439,9 +439,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%302 = OpLoad %int %from %302 = OpLoad %int %f
OpStore %k %302 OpStore %k %302
%303 = OpLoad %int %from %303 = OpLoad %int %f
OpStore %i %303 OpStore %i %303
%304 = OpLoad %int %mid %304 = OpLoad %int %mid
%305 = OpIAdd %int %304 %int_1 %305 = OpIAdd %int %304 %int_1
@ -525,7 +525,7 @@
%344 = OpLabel %344 = OpLabel
OpBranch %342 OpBranch %342
%343 = OpLabel %343 = OpLabel
%360 = OpLoad %int %from %360 = OpLoad %int %f
OpStore %i_0 %360 OpStore %i_0 %360
OpBranch %361 OpBranch %361
%361 = OpLabel %361 = OpLabel
@ -558,7 +558,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -590,7 +590,7 @@
OpBranchConditional %392 %393 %387 OpBranchConditional %392 %393 %387
%393 = OpLabel %393 = OpLabel
%394 = OpLoad %int %i_1 %394 = OpLoad %int %i_1
OpStore %from_0 %394 OpStore %f_0 %394
%395 = OpLoad %int %i_1 %395 = OpLoad %int %i_1
%396 = OpLoad %int %m %396 = OpLoad %int %m
%397 = OpIAdd %int %395 %396 %397 = OpIAdd %int %395 %396
@ -604,7 +604,7 @@
%404 = OpLoad %int %high %404 = OpLoad %int %high
%405 = OpExtInst %int %1 SMin %403 %404 %405 = OpExtInst %int %1 SMin %403 %404
OpStore %to_0 %405 OpStore %to_0 %405
%406 = OpLoad %int %from_0 %406 = OpLoad %int %f_0
OpStore %param %406 OpStore %param %406
%407 = OpLoad %int %mid_0 %407 = OpLoad %int %mid_0
OpStore %param_0 %407 OpStore %param_0 %407

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_302 : i32 = *(from); let x_302 : i32 = *(f);
k = x_302; k = x_302;
let x_303 : i32 = *(from); let x_303 : i32 = *(f);
i = x_303; i = x_303;
let x_304 : i32 = *(mid); let x_304 : i32 = *(mid);
j = (x_304 + 1); j = (x_304 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_358 : i32 = data[x_355]; let x_358 : i32 = data[x_355];
temp[x_353] = x_358; temp[x_353] = x_358;
} }
let x_360 : i32 = *(from); let x_360 : i32 = *(f);
i_1 = x_360; i_1 = x_360;
loop { loop {
let x_365 : i32 = i_1; let x_365 : i32 = i_1;
@ -304,7 +304,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -330,7 +330,7 @@ fn mergeSort_() {
break; break;
} }
let x_394 : i32 = i_2; let x_394 : i32 = i_2;
from_1 = x_394; f_1 = x_394;
let x_395 : i32 = i_2; let x_395 : i32 = i_2;
let x_396 : i32 = m; let x_396 : i32 = m;
mid_1 = ((x_395 + x_396) - 1); mid_1 = ((x_395 + x_396) - 1);
@ -338,7 +338,7 @@ fn mergeSort_() {
let x_400 : i32 = m; let x_400 : i32 = m;
let x_404 : i32 = high; let x_404 : i32 = high;
to_1 = min(((x_399 + (2 * x_400)) - 1), x_404); to_1 = min(((x_399 + (2 * x_400)) - 1), x_404);
let x_406 : i32 = from_1; let x_406 : i32 = f_1;
param = x_406; param = x_406;
let x_407 : i32 = mid_1; let x_407 : i32 = mid_1;
param_1 = x_407; param_1 = x_407;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %baseIndex "baseIndex" OpName %baseIndex "baseIndex"
OpName %tree_0 "tree" OpName %tree_0 "tree"
OpName %param "param" OpName %param "param"
@ -364,7 +364,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %53 %search_i1_ = OpFunction %int None %53
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%219 = OpLabel %219 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -385,15 +385,15 @@
OpStore %currentNode %230 OpStore %currentNode %230
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%232 = OpLoad %int %231 %232 = OpLoad %int %231
%233 = OpLoad %int %target %233 = OpLoad %int %t
%234 = OpIEqual %bool %232 %233 %234 = OpIEqual %bool %232 %233
OpSelectionMerge %235 None OpSelectionMerge %235 None
OpBranchConditional %234 %236 %235 OpBranchConditional %234 %236 %235
%236 = OpLabel %236 = OpLabel
%237 = OpLoad %int %target %237 = OpLoad %int %t
OpReturnValue %237 OpReturnValue %237
%235 = OpLabel %235 = OpLabel
%238 = OpLoad %int %target %238 = OpLoad %int %t
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%240 = OpLoad %int %239 %240 = OpLoad %int %239
%241 = OpSGreaterThan %bool %238 %240 %241 = OpSGreaterThan %bool %238 %240

View File

@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return; return;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t: ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_220 : i32; var x_220 : i32;
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_230 : BST = tree_1[x_228]; let x_230 : BST = tree_1[x_228];
currentNode = x_230; currentNode = x_230;
let x_232 : i32 = currentNode.data; let x_232 : i32 = currentNode.data;
let x_233 : i32 = *(target); let x_233 : i32 = *(t);
if ((x_232 == x_233)) { if ((x_232 == x_233)) {
let x_237 : i32 = *(target); let x_237 : i32 = *(t);
return x_237; return x_237;
} }
let x_238 : i32 = *(target); let x_238 : i32 = *(t);
let x_240 : i32 = currentNode.data; let x_240 : i32 = currentNode.data;
if ((x_238 > x_240)) { if ((x_238 > x_240)) {
let x_246 : i32 = currentNode.rightIndex; let x_246 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %baseIndex "baseIndex" OpName %baseIndex "baseIndex"
OpName %tree_0 "tree" OpName %tree_0 "tree"
OpName %param "param" OpName %param "param"
@ -380,7 +380,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %54 %search_i1_ = OpFunction %int None %54
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%230 = OpLabel %230 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -401,15 +401,15 @@
OpStore %currentNode %241 OpStore %currentNode %241
%242 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %242 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%243 = OpLoad %int %242 %243 = OpLoad %int %242
%244 = OpLoad %int %target %244 = OpLoad %int %t
%245 = OpIEqual %bool %243 %244 %245 = OpIEqual %bool %243 %244
OpSelectionMerge %246 None OpSelectionMerge %246 None
OpBranchConditional %245 %247 %246 OpBranchConditional %245 %247 %246
%247 = OpLabel %247 = OpLabel
%248 = OpLoad %int %target %248 = OpLoad %int %t
OpReturnValue %248 OpReturnValue %248
%246 = OpLabel %246 = OpLabel
%249 = OpLoad %int %target %249 = OpLoad %int %t
%250 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %250 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%251 = OpLoad %int %250 %251 = OpLoad %int %250
%252 = OpSGreaterThan %bool %249 %251 %252 = OpSGreaterThan %bool %249 %251

View File

@ -84,7 +84,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return; return;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_231 : i32; var x_231 : i32;
@ -99,12 +99,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_241 : BST = tree_1[x_239]; let x_241 : BST = tree_1[x_239];
currentNode = x_241; currentNode = x_241;
let x_243 : i32 = currentNode.data; let x_243 : i32 = currentNode.data;
let x_244 : i32 = *(target); let x_244 : i32 = *(t);
if ((x_243 == x_244)) { if ((x_243 == x_244)) {
let x_248 : i32 = *(target); let x_248 : i32 = *(t);
return x_248; return x_248;
} }
let x_249 : i32 = *(target); let x_249 : i32 = *(t);
let x_251 : i32 = currentNode.data; let x_251 : i32 = currentNode.data;
if ((x_249 > x_251)) { if ((x_249 > x_251)) {
let x_257 : i32 = currentNode.rightIndex; let x_257 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %baseIndex "baseIndex" OpName %baseIndex "baseIndex"
OpName %tree_0 "tree" OpName %tree_0 "tree"
OpName %buf0 "buf0" OpName %buf0 "buf0"
@ -427,7 +427,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %55 %search_i1_ = OpFunction %int None %55
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%260 = OpLabel %260 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -448,15 +448,15 @@
OpStore %currentNode %271 OpStore %currentNode %271
%272 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %272 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%273 = OpLoad %int %272 %273 = OpLoad %int %272
%274 = OpLoad %int %target %274 = OpLoad %int %t
%275 = OpIEqual %bool %273 %274 %275 = OpIEqual %bool %273 %274
OpSelectionMerge %276 None OpSelectionMerge %276 None
OpBranchConditional %275 %277 %276 OpBranchConditional %275 %277 %276
%277 = OpLabel %277 = OpLabel
%278 = OpLoad %int %target %278 = OpLoad %int %t
OpReturnValue %278 OpReturnValue %278
%276 = OpLabel %276 = OpLabel
%279 = OpLoad %int %target %279 = OpLoad %int %t
%280 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %280 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%281 = OpLoad %int %280 %281 = OpLoad %int %280
%282 = OpSGreaterThan %bool %279 %281 %282 = OpSGreaterThan %bool %279 %281

View File

@ -112,7 +112,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return; return;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_261 : i32; var x_261 : i32;
@ -127,12 +127,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_271 : BST = tree_1[x_269]; let x_271 : BST = tree_1[x_269];
currentNode = x_271; currentNode = x_271;
let x_273 : i32 = currentNode.data; let x_273 : i32 = currentNode.data;
let x_274 : i32 = *(target); let x_274 : i32 = *(t);
if ((x_273 == x_274)) { if ((x_273 == x_274)) {
let x_278 : i32 = *(target); let x_278 : i32 = *(t);
return x_278; return x_278;
} }
let x_279 : i32 = *(target); let x_279 : i32 = *(t);
let x_281 : i32 = currentNode.data; let x_281 : i32 = currentNode.data;
if ((x_279 > x_281)) { if ((x_279 > x_281)) {
let x_287 : i32 = currentNode.rightIndex; let x_287 : i32 = currentNode.rightIndex;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %baseIndex "baseIndex" OpName %baseIndex "baseIndex"
OpName %tree "tree" OpName %tree "tree"
OpName %param "param" OpName %param "param"
@ -364,7 +364,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %53 %search_i1_ = OpFunction %int None %53
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%219 = OpLabel %219 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -385,15 +385,15 @@
OpStore %currentNode %230 OpStore %currentNode %230
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%232 = OpLoad %int %231 %232 = OpLoad %int %231
%233 = OpLoad %int %target %233 = OpLoad %int %t
%234 = OpIEqual %bool %232 %233 %234 = OpIEqual %bool %232 %233
OpSelectionMerge %235 None OpSelectionMerge %235 None
OpBranchConditional %234 %236 %235 OpBranchConditional %234 %236 %235
%236 = OpLabel %236 = OpLabel
%237 = OpLoad %int %target %237 = OpLoad %int %t
OpReturnValue %237 OpReturnValue %237
%235 = OpLabel %235 = OpLabel
%238 = OpLoad %int %target %238 = OpLoad %int %t
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%240 = OpLoad %int %239 %240 = OpLoad %int %239
%241 = OpSGreaterThan %bool %238 %240 %241 = OpSGreaterThan %bool %238 %240

View File

@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return; return;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_220 : i32; var x_220 : i32;
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_230 : BST = tree[x_228]; let x_230 : BST = tree[x_228];
currentNode = x_230; currentNode = x_230;
let x_232 : i32 = currentNode.data; let x_232 : i32 = currentNode.data;
let x_233 : i32 = *(target); let x_233 : i32 = *(t);
if ((x_232 == x_233)) { if ((x_232 == x_233)) {
let x_237 : i32 = *(target); let x_237 : i32 = *(t);
return x_237; return x_237;
} }
let x_238 : i32 = *(target); let x_238 : i32 = *(t);
let x_240 : i32 = currentNode.data; let x_240 : i32 = currentNode.data;
if ((x_238 > x_240)) { if ((x_238 > x_240)) {
let x_246 : i32 = currentNode.rightIndex; let x_246 : i32 = currentNode.rightIndex;

View File

@ -18,7 +18,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %QuicksortObject "QuicksortObject" OpName %QuicksortObject "QuicksortObject"
OpMemberName %QuicksortObject 0 "numbers" OpMemberName %QuicksortObject 0 "numbers"
OpName %obj "obj" OpName %obj "obj"
@ -452,7 +452,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %60 %search_i1_ = OpFunction %int None %60
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%269 = OpLabel %269 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -473,15 +473,15 @@
OpStore %currentNode %280 OpStore %currentNode %280
%281 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %281 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%282 = OpLoad %int %281 %282 = OpLoad %int %281
%283 = OpLoad %int %target %283 = OpLoad %int %t
%284 = OpIEqual %bool %282 %283 %284 = OpIEqual %bool %282 %283
OpSelectionMerge %285 None OpSelectionMerge %285 None
OpBranchConditional %284 %286 %285 OpBranchConditional %284 %286 %285
%286 = OpLabel %286 = OpLabel
%287 = OpLoad %int %target %287 = OpLoad %int %t
OpReturnValue %287 OpReturnValue %287
%285 = OpLabel %285 = OpLabel
%288 = OpLoad %int %target %288 = OpLoad %int %t
%289 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %289 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%290 = OpLoad %int %289 %290 = OpLoad %int %289
%291 = OpSGreaterThan %bool %288 %290 %291 = OpSGreaterThan %bool %288 %290

View File

@ -102,7 +102,7 @@ fn identity_i1_(a : ptr<function, i32>) -> i32 {
return x_206; return x_206;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_270 : i32; var x_270 : i32;
@ -117,12 +117,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_280 : BST = tree[x_278]; let x_280 : BST = tree[x_278];
currentNode = x_280; currentNode = x_280;
let x_282 : i32 = currentNode.data; let x_282 : i32 = currentNode.data;
let x_283 : i32 = *(target); let x_283 : i32 = *(t);
if ((x_282 == x_283)) { if ((x_282 == x_283)) {
let x_287 : i32 = *(target); let x_287 : i32 = *(t);
return x_287; return x_287;
} }
let x_288 : i32 = *(target); let x_288 : i32 = *(t);
let x_290 : i32 = currentNode.data; let x_290 : i32 = currentNode.data;
if ((x_288 > x_290)) { if ((x_288 > x_290)) {
let x_296 : i32 = currentNode.rightIndex; let x_296 : i32 = currentNode.rightIndex;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %func_i1_i1_ "func(i1;i1;" OpName %func_i1_i1_ "func(i1;i1;"
@ -25,7 +25,7 @@
OpName %high_0 "high" OpName %high_0 "high"
OpName %m_0 "m" OpName %m_0 "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -364,7 +364,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %41 %merge_i1_i1_i1_ = OpFunction %void None %41
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%259 = OpLabel %259 = OpLabel
@ -372,9 +372,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%260 = OpLoad %int %from %260 = OpLoad %int %f
OpStore %k %260 OpStore %k %260
%261 = OpLoad %int %from %261 = OpLoad %int %f
OpStore %i %261 OpStore %i %261
%262 = OpLoad %int %mid %262 = OpLoad %int %mid
%263 = OpIAdd %int %262 %int_1 %263 = OpIAdd %int %262 %int_1
@ -458,7 +458,7 @@
%302 = OpLabel %302 = OpLabel
OpBranch %300 OpBranch %300
%301 = OpLabel %301 = OpLabel
%318 = OpLoad %int %from %318 = OpLoad %int %f
OpStore %i_0 %318 OpStore %i_0 %318
OpBranch %319 OpBranch %319
%319 = OpLabel %319 = OpLabel
@ -539,7 +539,7 @@
%high_0 = OpVariable %_ptr_Function_int Function %high_0 = OpVariable %_ptr_Function_int Function
%m_0 = OpVariable %_ptr_Function_int Function %m_0 = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -573,7 +573,7 @@
OpBranchConditional %378 %379 %373 OpBranchConditional %378 %379 %373
%379 = OpLabel %379 = OpLabel
%380 = OpLoad %int %i_1 %380 = OpLoad %int %i_1
OpStore %from_0 %380 OpStore %f_0 %380
%381 = OpLoad %int %i_1 %381 = OpLoad %int %i_1
%382 = OpLoad %int %m_0 %382 = OpLoad %int %m_0
%383 = OpIAdd %int %381 %382 %383 = OpIAdd %int %381 %382
@ -587,7 +587,7 @@
%390 = OpLoad %int %high_0 %390 = OpLoad %int %high_0
%391 = OpExtInst %int %1 SMin %389 %390 %391 = OpExtInst %int %1 SMin %389 %390
OpStore %to_0 %391 OpStore %to_0 %391
%392 = OpLoad %int %from_0 %392 = OpLoad %int %f_0
OpStore %param %392 OpStore %param %392
%393 = OpLoad %int %mid_0 %393 = OpLoad %int %mid_0
OpStore %param_0 %393 OpStore %param_0 %393

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_260 : i32 = *(from); let x_260 : i32 = *(f);
k = x_260; k = x_260;
let x_261 : i32 = *(from); let x_261 : i32 = *(f);
i = x_261; i = x_261;
let x_262 : i32 = *(mid); let x_262 : i32 = *(mid);
j = (x_262 + 1); j = (x_262 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_316 : i32 = data[x_313]; let x_316 : i32 = data[x_313];
temp[x_311] = x_316; temp[x_311] = x_316;
} }
let x_318 : i32 = *(from); let x_318 : i32 = *(f);
i_1 = x_318; i_1 = x_318;
loop { loop {
let x_323 : i32 = i_1; let x_323 : i32 = i_1;
@ -122,7 +122,7 @@ fn mergeSort_() {
var high_1 : i32; var high_1 : i32;
var m_1 : i32; var m_1 : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -150,7 +150,7 @@ fn mergeSort_() {
break; break;
} }
let x_380 : i32 = i_2; let x_380 : i32 = i_2;
from_1 = x_380; f_1 = x_380;
let x_381 : i32 = i_2; let x_381 : i32 = i_2;
let x_382 : i32 = m_1; let x_382 : i32 = m_1;
mid_1 = ((x_381 + x_382) - 1); mid_1 = ((x_381 + x_382) - 1);
@ -158,7 +158,7 @@ fn mergeSort_() {
let x_386 : i32 = m_1; let x_386 : i32 = m_1;
let x_390 : i32 = high_1; let x_390 : i32 = high_1;
to_1 = min(((x_385 + (2 * x_386)) - 1), x_390); to_1 = min(((x_385 + (2 * x_386)) - 1), x_390);
let x_392 : i32 = from_1; let x_392 : i32 = f_1;
param = x_392; param = x_392;
let x_393 : i32 = mid_1; let x_393 : i32 = mid_1;
param_1 = x_393; param_1 = x_393;

View File

@ -6,7 +6,7 @@
OpSource ESSL 320 OpSource ESSL 320
OpName %main "main" OpName %main "main"
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;" OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
OpName %from "from" OpName %f "f"
OpName %mid "mid" OpName %mid "mid"
OpName %to "to" OpName %to "to"
OpName %mergeSort_ "mergeSort(" OpName %mergeSort_ "mergeSort("
@ -20,7 +20,7 @@
OpName %high "high" OpName %high "high"
OpName %m "m" OpName %m "m"
OpName %i_1 "i" OpName %i_1 "i"
OpName %from_0 "from" OpName %f_0 "f"
OpName %mid_0 "mid" OpName %mid_0 "mid"
OpName %to_0 "to" OpName %to_0 "to"
OpName %param "param" OpName %param "param"
@ -374,7 +374,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%merge_i1_i1_i1_ = OpFunction %void None %36 %merge_i1_i1_i1_ = OpFunction %void None %36
%from = OpFunctionParameter %_ptr_Function_int %f = OpFunctionParameter %_ptr_Function_int
%mid = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int
%to = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int
%261 = OpLabel %261 = OpLabel
@ -382,9 +382,9 @@
%i = OpVariable %_ptr_Function_int Function %i = OpVariable %_ptr_Function_int Function
%j = OpVariable %_ptr_Function_int Function %j = OpVariable %_ptr_Function_int Function
%i_0 = OpVariable %_ptr_Function_int Function %i_0 = OpVariable %_ptr_Function_int Function
%262 = OpLoad %int %from %262 = OpLoad %int %f
OpStore %k %262 OpStore %k %262
%263 = OpLoad %int %from %263 = OpLoad %int %f
OpStore %i %263 OpStore %i %263
%264 = OpLoad %int %mid %264 = OpLoad %int %mid
%265 = OpIAdd %int %264 %int_1 %265 = OpIAdd %int %264 %int_1
@ -468,7 +468,7 @@
%304 = OpLabel %304 = OpLabel
OpBranch %302 OpBranch %302
%303 = OpLabel %303 = OpLabel
%320 = OpLoad %int %from %320 = OpLoad %int %f
OpStore %i_0 %320 OpStore %i_0 %320
OpBranch %321 OpBranch %321
%321 = OpLabel %321 = OpLabel
@ -501,7 +501,7 @@
%high = OpVariable %_ptr_Function_int Function %high = OpVariable %_ptr_Function_int Function
%m = OpVariable %_ptr_Function_int Function %m = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function %i_1 = OpVariable %_ptr_Function_int Function
%from_0 = OpVariable %_ptr_Function_int Function %f_0 = OpVariable %_ptr_Function_int Function
%mid_0 = OpVariable %_ptr_Function_int Function %mid_0 = OpVariable %_ptr_Function_int Function
%to_0 = OpVariable %_ptr_Function_int Function %to_0 = OpVariable %_ptr_Function_int Function
%param = OpVariable %_ptr_Function_int Function %param = OpVariable %_ptr_Function_int Function
@ -533,7 +533,7 @@
OpBranchConditional %352 %353 %347 OpBranchConditional %352 %353 %347
%353 = OpLabel %353 = OpLabel
%354 = OpLoad %int %i_1 %354 = OpLoad %int %i_1
OpStore %from_0 %354 OpStore %f_0 %354
%355 = OpLoad %int %i_1 %355 = OpLoad %int %i_1
%356 = OpLoad %int %m %356 = OpLoad %int %m
%357 = OpIAdd %int %355 %356 %357 = OpIAdd %int %355 %356
@ -547,7 +547,7 @@
%364 = OpLoad %int %high %364 = OpLoad %int %high
%365 = OpExtInst %int %1 SMin %363 %364 %365 = OpExtInst %int %1 SMin %363 %364
OpStore %to_0 %365 OpStore %to_0 %365
%366 = OpLoad %int %from_0 %366 = OpLoad %int %f_0
OpStore %param %366 OpStore %param %366
%367 = OpLoad %int %mid_0 %367 = OpLoad %int %mid_0
OpStore %param_0 %367 OpStore %param_0 %367

View File

@ -12,14 +12,14 @@ var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>; var<private> x_GLF_color : vec4<f32>;
fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) { fn merge_i1_i1_i1_(f : ptr<function, i32>, mid : ptr<function, i32>, to : ptr<function, i32>) {
var k : i32; var k : i32;
var i : i32; var i : i32;
var j : i32; var j : i32;
var i_1 : i32; var i_1 : i32;
let x_262 : i32 = *(from); let x_262 : i32 = *(f);
k = x_262; k = x_262;
let x_263 : i32 = *(from); let x_263 : i32 = *(f);
i = x_263; i = x_263;
let x_264 : i32 = *(mid); let x_264 : i32 = *(mid);
j = (x_264 + 1); j = (x_264 + 1);
@ -67,7 +67,7 @@ fn merge_i1_i1_i1_(from : ptr<function, i32>, mid : ptr<function, i32>, to : ptr
let x_318 : i32 = data[x_315]; let x_318 : i32 = data[x_315];
temp[x_313] = x_318; temp[x_313] = x_318;
} }
let x_320 : i32 = *(from); let x_320 : i32 = *(f);
i_1 = x_320; i_1 = x_320;
loop { loop {
let x_325 : i32 = i_1; let x_325 : i32 = i_1;
@ -94,7 +94,7 @@ fn mergeSort_() {
var high : i32; var high : i32;
var m : i32; var m : i32;
var i_2 : i32; var i_2 : i32;
var from_1 : i32; var f_1 : i32;
var mid_1 : i32; var mid_1 : i32;
var to_1 : i32; var to_1 : i32;
var param : i32; var param : i32;
@ -120,7 +120,7 @@ fn mergeSort_() {
break; break;
} }
let x_354 : i32 = i_2; let x_354 : i32 = i_2;
from_1 = x_354; f_1 = x_354;
let x_355 : i32 = i_2; let x_355 : i32 = i_2;
let x_356 : i32 = m; let x_356 : i32 = m;
mid_1 = ((x_355 + x_356) - 1); mid_1 = ((x_355 + x_356) - 1);
@ -128,7 +128,7 @@ fn mergeSort_() {
let x_360 : i32 = m; let x_360 : i32 = m;
let x_364 : i32 = high; let x_364 : i32 = high;
to_1 = min(((x_359 + (2 * x_360)) - 1), x_364); to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
let x_366 : i32 = from_1; let x_366 : i32 = f_1;
param = x_366; param = x_366;
let x_367 : i32 = mid_1; let x_367 : i32 = mid_1;
param_1 = x_367; param_1 = x_367;

View File

@ -16,7 +16,7 @@
OpName %treeIndex "treeIndex" OpName %treeIndex "treeIndex"
OpName %data_0 "data" OpName %data_0 "data"
OpName %search_i1_ "search(i1;" OpName %search_i1_ "search(i1;"
OpName %target "target" OpName %t "t"
OpName %hueColor_f1_ "hueColor(f1;" OpName %hueColor_f1_ "hueColor(f1;"
OpName %angle "angle" OpName %angle "angle"
OpName %makeFrame_f1_ "makeFrame(f1;" OpName %makeFrame_f1_ "makeFrame(f1;"
@ -76,7 +76,7 @@
OpName %y "y" OpName %y "y"
OpName %param_28 "param" OpName %param_28 "param"
OpName %sum "sum" OpName %sum "sum"
OpName %target_0 "target" OpName %t_0 "t"
OpName %result "result" OpName %result "result"
OpName %param_29 "param" OpName %param_29 "param"
OpName %a "a" OpName %a "a"
@ -89,7 +89,7 @@
OpDecorate %treeIndex RelaxedPrecision OpDecorate %treeIndex RelaxedPrecision
OpDecorate %data_0 RelaxedPrecision OpDecorate %data_0 RelaxedPrecision
OpDecorate %search_i1_ RelaxedPrecision OpDecorate %search_i1_ RelaxedPrecision
OpDecorate %target RelaxedPrecision OpDecorate %t RelaxedPrecision
OpDecorate %74 RelaxedPrecision OpDecorate %74 RelaxedPrecision
OpDecorate %baseIndex RelaxedPrecision OpDecorate %baseIndex RelaxedPrecision
OpDecorate %75 RelaxedPrecision OpDecorate %75 RelaxedPrecision
@ -187,7 +187,7 @@
OpDecorate %155 RelaxedPrecision OpDecorate %155 RelaxedPrecision
OpDecorate %gl_FragCoord BuiltIn FragCoord OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %sum RelaxedPrecision OpDecorate %sum RelaxedPrecision
OpDecorate %target_0 RelaxedPrecision OpDecorate %t_0 RelaxedPrecision
OpDecorate %156 RelaxedPrecision OpDecorate %156 RelaxedPrecision
OpDecorate %result RelaxedPrecision OpDecorate %result RelaxedPrecision
OpDecorate %157 RelaxedPrecision OpDecorate %157 RelaxedPrecision
@ -310,7 +310,7 @@
%y = OpVariable %_ptr_Function_float Function %y = OpVariable %_ptr_Function_float Function
%param_28 = OpVariable %_ptr_Function_float Function %param_28 = OpVariable %_ptr_Function_float Function
%sum = OpVariable %_ptr_Function_int Function %sum = OpVariable %_ptr_Function_int Function
%target_0 = OpVariable %_ptr_Function_int Function %t_0 = OpVariable %_ptr_Function_int Function
%result = OpVariable %_ptr_Function_int Function %result = OpVariable %_ptr_Function_int Function
%param_29 = OpVariable %_ptr_Function_int Function %param_29 = OpVariable %_ptr_Function_int Function
%a = OpVariable %_ptr_Function_float Function %a = OpVariable %_ptr_Function_float Function
@ -486,17 +486,17 @@
%293 = OpFunctionCall %float %makeFrame_f1_ %param_28 %293 = OpFunctionCall %float %makeFrame_f1_ %param_28
OpStore %y %293 OpStore %y %293
OpStore %sum %int_n100 OpStore %sum %int_n100
OpStore %target_0 %int_0 OpStore %t_0 %int_0
OpBranch %294 OpBranch %294
%294 = OpLabel %294 = OpLabel
OpLoopMerge %295 %296 None OpLoopMerge %295 %296 None
OpBranch %297 OpBranch %297
%297 = OpLabel %297 = OpLabel
%156 = OpLoad %int %target_0 %156 = OpLoad %int %t_0
%298 = OpSLessThan %bool %156 %int_20 %298 = OpSLessThan %bool %156 %int_20
OpBranchConditional %298 %299 %295 OpBranchConditional %298 %299 %295
%299 = OpLabel %299 = OpLabel
%157 = OpLoad %int %target_0 %157 = OpLoad %int %t_0
OpStore %param_29 %157 OpStore %param_29 %157
%158 = OpFunctionCall %int %search_i1_ %param_29 %158 = OpFunctionCall %int %search_i1_ %param_29
OpStore %result %158 OpStore %result %158
@ -522,9 +522,9 @@
%301 = OpLabel %301 = OpLabel
OpBranch %296 OpBranch %296
%296 = OpLabel %296 = OpLabel
%163 = OpLoad %int %target_0 %163 = OpLoad %int %t_0
%164 = OpIAdd %int %163 %int_1 %164 = OpIAdd %int %163 %int_1
OpStore %target_0 %164 OpStore %t_0 %164
OpBranch %294 OpBranch %294
%295 = OpLabel %295 = OpLabel
%307 = OpLoad %float %x %307 = OpLoad %float %x
@ -700,7 +700,7 @@
OpReturn OpReturn
OpFunctionEnd OpFunctionEnd
%search_i1_ = OpFunction %int None %173 %search_i1_ = OpFunction %int None %173
%target = OpFunctionParameter %_ptr_Function_int %t = OpFunctionParameter %_ptr_Function_int
%386 = OpLabel %386 = OpLabel
%index = OpVariable %_ptr_Function_int Function %index = OpVariable %_ptr_Function_int Function
%currentNode = OpVariable %_ptr_Function_BST Function %currentNode = OpVariable %_ptr_Function_BST Function
@ -721,15 +721,15 @@
OpStore %currentNode %395 OpStore %currentNode %395
%396 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %396 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%101 = OpLoad %int %396 %101 = OpLoad %int %396
%102 = OpLoad %int %target %102 = OpLoad %int %t
%397 = OpIEqual %bool %101 %102 %397 = OpIEqual %bool %101 %102
OpSelectionMerge %398 None OpSelectionMerge %398 None
OpBranchConditional %397 %399 %398 OpBranchConditional %397 %399 %398
%399 = OpLabel %399 = OpLabel
%103 = OpLoad %int %target %103 = OpLoad %int %t
OpReturnValue %103 OpReturnValue %103
%398 = OpLabel %398 = OpLabel
%104 = OpLoad %int %target %104 = OpLoad %int %t
%400 = OpAccessChain %_ptr_Function_int %currentNode %int_0 %400 = OpAccessChain %_ptr_Function_int %currentNode %int_0
%105 = OpLoad %int %400 %105 = OpLoad %int %400
%401 = OpSGreaterThan %bool %104 %105 %401 = OpSGreaterThan %bool %104 %105

View File

@ -116,7 +116,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
return; return;
} }
fn search_i1_(target : ptr<function, i32>) -> i32 { fn search_i1_(t : ptr<function, i32>) -> i32 {
var index : i32; var index : i32;
var currentNode : BST; var currentNode : BST;
var x_387 : i32; var x_387 : i32;
@ -131,12 +131,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
let x_395 : BST = tree_1[x_100]; let x_395 : BST = tree_1[x_100];
currentNode = x_395; currentNode = x_395;
let x_101 : i32 = currentNode.data; let x_101 : i32 = currentNode.data;
let x_102 : i32 = *(target); let x_102 : i32 = *(t);
if ((x_101 == x_102)) { if ((x_101 == x_102)) {
let x_103 : i32 = *(target); let x_103 : i32 = *(t);
return x_103; return x_103;
} }
let x_104 : i32 = *(target); let x_104 : i32 = *(t);
let x_105 : i32 = currentNode.data; let x_105 : i32 = currentNode.data;
if ((x_104 > x_105)) { if ((x_104 > x_105)) {
let x_106 : i32 = currentNode.rightIndex; let x_106 : i32 = currentNode.rightIndex;
@ -223,7 +223,7 @@ fn main_1() {
var y : f32; var y : f32;
var param_29 : f32; var param_29 : f32;
var sum : i32; var sum : i32;
var target_1 : i32; var t_1 : i32;
var result : i32; var result : i32;
var param_30 : i32; var param_30 : i32;
var a : f32; var a : f32;
@ -354,14 +354,14 @@ fn main_1() {
let x_293 : f32 = makeFrame_f1_(&(param_29)); let x_293 : f32 = makeFrame_f1_(&(param_29));
y = x_293; y = x_293;
sum = -100; sum = -100;
target_1 = 0; t_1 = 0;
loop { loop {
let x_156 : i32 = target_1; let x_156 : i32 = t_1;
if ((x_156 < 20)) { if ((x_156 < 20)) {
} else { } else {
break; break;
} }
let x_157 : i32 = target_1; let x_157 : i32 = t_1;
param_30 = x_157; param_30 = x_157;
let x_158 : i32 = search_i1_(&(param_30)); let x_158 : i32 = search_i1_(&(param_30));
result = x_158; result = x_158;
@ -383,8 +383,8 @@ fn main_1() {
} }
continuing { continuing {
let x_163 : i32 = target_1; let x_163 : i32 = t_1;
target_1 = (x_163 + 1); t_1 = (x_163 + 1);
} }
} }
let x_307 : f32 = x; let x_307 : f32 = x;