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:
parent
2d706a0436
commit
5071a54af4
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
|
|
||||||
|
|
|
@ -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()};
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
)";
|
)";
|
||||||
|
|
|
@ -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>;
|
||||||
|
|
|
@ -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>());
|
||||||
|
|
|
@ -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)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue