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
|
||||
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)
|
||||
* Reserved words are now an error instead of a deprecation. [tint:1463](crbug.com/tint/1463)
|
||||
|
||||
### New features
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ static const char sRenderValidationShaderSource[] = R"(
|
|||
}
|
||||
}
|
||||
|
||||
fn pass(drawIndex: u32) {
|
||||
fn set_pass(drawIndex: u32) {
|
||||
let numInputParams = numIndirectParamsPerDrawCallInput();
|
||||
var outIndex = drawIndex * numIndirectParamsPerDrawCallOutput();
|
||||
let inIndex = batch.indirectOffsets[drawIndex];
|
||||
|
@ -137,7 +137,7 @@ static const char sRenderValidationShaderSource[] = R"(
|
|||
}
|
||||
|
||||
if(!bool(batch.flags & kValidationEnabled)) {
|
||||
pass(id.x);
|
||||
set_pass(id.x);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -152,14 +152,14 @@ static const char sRenderValidationShaderSource[] = R"(
|
|||
}
|
||||
|
||||
if (!bool(batch.flags & kIndexedDraw)) {
|
||||
pass(id.x);
|
||||
set_pass(id.x);
|
||||
return;
|
||||
}
|
||||
|
||||
if (batch.numIndexBufferElementsHigh >= 2u) {
|
||||
// firstIndex and indexCount are both u32. The maximum possible sum of these
|
||||
// values is 0x1fffffffe, which is less than 0x200000000. Nothing to validate.
|
||||
pass(id.x);
|
||||
set_pass(id.x);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -178,7 +178,7 @@ static const char sRenderValidationShaderSource[] = R"(
|
|||
fail(id.x);
|
||||
return;
|
||||
}
|
||||
pass(id.x);
|
||||
set_pass(id.x);
|
||||
}
|
||||
)";
|
||||
|
||||
|
|
|
@ -3774,7 +3774,7 @@ Expect<std::string> ParserImpl::expect_ident(std::string_view use) {
|
|||
next();
|
||||
|
||||
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()};
|
||||
|
|
|
@ -21,74 +21,67 @@ using ParserImplReservedKeywordTest = ParserImplTestWithParam<std::string>;
|
|||
TEST_P(ParserImplReservedKeywordTest, Function) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn " + name + "() {}");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:4: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:4: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, ModuleConst) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("const " + name + " : i32 = 1;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:7: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:7: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, ModuleVar) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("var " + name + " : i32 = 1;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:5: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:5: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionLet) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f() { let " + name + " : i32 = 1; }");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionVar) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f() { var " + name + " : i32 = 1; }");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionParam) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f(" + name + " : i32) {}");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, Struct) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("struct " + name + " {};");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:8: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), R"(1:8: ')" + name + R"(' is a reserved keyword
|
||||
1:)" + std::to_string(9 + name.length()) +
|
||||
R"(: statement found outside of function body)");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, StructMember) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("struct S { " + name + " : i32, };");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:12: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:12: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, Alias) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("type " + name + " = i32;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
INSTANTIATE_TEST_SUITE_P(ParserImplReservedKeywordTest,
|
||||
ParserImplReservedKeywordTest,
|
||||
|
|
|
@ -169,7 +169,7 @@ TEST_F(ClampFragDepthTest, OtherFunctionWithoutFragDepth) {
|
|||
@fragment fn main() -> @builtin(frag_depth) f32 {
|
||||
return 0.0;
|
||||
}
|
||||
@fragment fn friend() -> @location(0) f32 {
|
||||
@fragment fn other() -> @location(0) f32 {
|
||||
return 0.0;
|
||||
}
|
||||
)";
|
||||
|
@ -194,7 +194,7 @@ fn main() -> @builtin(frag_depth) f32 {
|
|||
}
|
||||
|
||||
@fragment
|
||||
fn friend() -> @location(0) f32 {
|
||||
fn other() -> @location(0) f32 {
|
||||
return 0.0;
|
||||
}
|
||||
)";
|
||||
|
|
|
@ -580,9 +580,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad) {
|
|||
|
||||
@fragment
|
||||
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
|
||||
var signed = textureLoad(ext_tex, vec2<i32>(1));
|
||||
var unsigned = textureLoad(ext_tex, vec2<u32>(1));
|
||||
return signed + unsigned;
|
||||
var val_signed = textureLoad(ext_tex, vec2<i32>(1));
|
||||
var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
|
||||
return val_signed + val_unsigned;
|
||||
}
|
||||
)";
|
||||
|
||||
|
@ -652,9 +652,9 @@ fn textureLoadExternal_1(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, coo
|
|||
|
||||
@fragment
|
||||
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 unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
|
||||
return (signed + unsigned);
|
||||
var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
|
||||
var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
|
||||
return (val_signed + val_unsigned);
|
||||
}
|
||||
)";
|
||||
|
||||
|
@ -670,9 +670,9 @@ TEST_F(MultiplanarExternalTextureTest, BasicTextureLoad_OutOfOrder) {
|
|||
auto* src = R"(
|
||||
@fragment
|
||||
fn main(@builtin(position) coord : vec4<f32>) -> @location(0) vec4<f32> {
|
||||
var signed = textureLoad(ext_tex, vec2<i32>(1));
|
||||
var unsigned = textureLoad(ext_tex, vec2<u32>(1));
|
||||
return signed + unsigned;
|
||||
var val_signed = textureLoad(ext_tex, vec2<i32>(1));
|
||||
var val_unsigned = textureLoad(ext_tex, vec2<u32>(1));
|
||||
return val_signed + val_unsigned;
|
||||
}
|
||||
|
||||
@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
|
||||
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 unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
|
||||
return (signed + unsigned);
|
||||
var val_signed = textureLoadExternal(ext_tex, ext_tex_plane_1, vec2<i32>(1), ext_tex_params);
|
||||
var val_unsigned = textureLoadExternal_1(ext_tex, ext_tex_plane_1, vec2<u32>(1), ext_tex_params);
|
||||
return (val_signed + val_unsigned);
|
||||
}
|
||||
|
||||
@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_external : texture_external;
|
||||
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
var array_idx : i32;
|
||||
var level_idx : i32;
|
||||
var sample_idx : i32;
|
||||
|
@ -802,7 +802,7 @@ fn signed() {
|
|||
textureLoad(tex_external, vec2<i32>(1, 2));
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
var array_idx : u32;
|
||||
var level_idx : u32;
|
||||
var sample_idx : u32;
|
||||
|
@ -836,7 +836,7 @@ fn unsigned() {
|
|||
|
||||
@group(0) @binding(0) var tex_external : texture_external;
|
||||
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
var array_idx : i32;
|
||||
var level_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)))));
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
var array_idx : u32;
|
||||
var level_idx : u32;
|
||||
var sample_idx : u32;
|
||||
|
@ -873,7 +873,7 @@ fn unsigned() {
|
|||
// Clamp textureLoad() coord, array_index and level values
|
||||
TEST_F(RobustnessTest, TextureLoad_Clamp_OutOfOrder) {
|
||||
auto* src = R"(
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
var array_idx : i32;
|
||||
var level_idx : i32;
|
||||
var sample_idx : i32;
|
||||
|
@ -888,7 +888,7 @@ fn signed() {
|
|||
textureLoad(tex_external, vec2<i32>(1, 2));
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
var array_idx : u32;
|
||||
var level_idx : u32;
|
||||
var sample_idx : u32;
|
||||
|
@ -915,7 +915,7 @@ fn unsigned() {
|
|||
|
||||
auto* expect =
|
||||
R"(
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
var array_idx : i32;
|
||||
var level_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)))));
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
var array_idx : u32;
|
||||
var level_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>;
|
||||
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
textureStore(tex1d, 10i, vec4<i32>());
|
||||
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
|
||||
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
|
||||
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
textureStore(tex1d, 10u, vec4<i32>());
|
||||
textureStore(tex2d, vec2<u32>(10, 20), 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>;
|
||||
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
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_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>());
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
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_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
|
||||
TEST_F(RobustnessTest, TextureStore_Clamp_OutOfOrder) {
|
||||
auto* src = R"(
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
textureStore(tex1d, 10i, vec4<i32>());
|
||||
textureStore(tex2d, vec2<i32>(10, 20), vec4<i32>());
|
||||
textureStore(tex2d_arr, vec2<i32>(10, 20), 50i, vec4<i32>());
|
||||
textureStore(tex3d, vec3<i32>(10, 20, 30), vec4<i32>());
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
textureStore(tex1d, 10u, vec4<i32>());
|
||||
textureStore(tex2d, vec2<u32>(10, 20), vec4<i32>());
|
||||
textureStore(tex2d_arr, vec2<u32>(10, 20), 50u, vec4<i32>());
|
||||
|
@ -1048,14 +1048,14 @@ fn unsigned() {
|
|||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
fn signed() {
|
||||
fn idx_signed() {
|
||||
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_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>());
|
||||
}
|
||||
|
||||
fn unsigned() {
|
||||
fn idx_unsigned() {
|
||||
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_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));
|
||||
}
|
||||
|
||||
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;
|
||||
for(var i : i32 = 0; (i < 3); i = (i + 1)) {
|
||||
let v = point[i];
|
||||
let v = p[i];
|
||||
if ((v < minAABB[i])) {
|
||||
sqDist = (sqDist + ((minAABB[i] - v) * (minAABB[i] - v)));
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
OpName %f "f"
|
||||
OpName %v "v"
|
||||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "ref"
|
||||
OpMemberName %buf0 0 "r"
|
||||
OpName %_ ""
|
||||
OpName %_GLF_color "_GLF_color"
|
||||
OpMemberDecorate %buf0 0 Offset 0
|
||||
|
|
|
@ -3,7 +3,7 @@ precision mediump float;
|
|||
|
||||
layout(location = 0) out vec4 x_GLF_color_1_1;
|
||||
struct buf0 {
|
||||
vec4 ref;
|
||||
vec4 r;
|
||||
};
|
||||
|
||||
layout(binding = 0, std140) uniform x_7_block_ubo {
|
||||
|
@ -21,7 +21,7 @@ void main_1() {
|
|||
float x_39 = f;
|
||||
v = vec4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
|
||||
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)) {
|
||||
x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
|
||||
} else {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
using namespace metal;
|
||||
struct buf0 {
|
||||
/* 0x0000 */ float4 ref;
|
||||
/* 0x0000 */ float4 r;
|
||||
};
|
||||
|
||||
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;
|
||||
v = float4(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
|
||||
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)) {
|
||||
*(tint_symbol_4) = float4(1.0f, 0.0f, 0.0f, 1.0f);
|
||||
} else {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
OpName %x_7_block "x_7_block"
|
||||
OpMemberName %x_7_block 0 "inner"
|
||||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "ref"
|
||||
OpMemberName %buf0 0 "r"
|
||||
OpName %x_7 "x_7"
|
||||
OpName %x_GLF_color "x_GLF_color"
|
||||
OpName %main_1 "main_1"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
struct buf0 {
|
||||
ref : vec4<f32>,
|
||||
r : vec4<f32>,
|
||||
}
|
||||
|
||||
@group(0) @binding(0) var<uniform> x_7 : buf0;
|
||||
|
@ -16,7 +16,7 @@ fn main_1() {
|
|||
let x_39 : f32 = f;
|
||||
v = vec4<f32>(sin(x_33), cos(x_35), exp2(x_37), log(x_39));
|
||||
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)) {
|
||||
x_GLF_color = vec4<f32>(1.0f, 0.0f, 0.0f, 1.0f);
|
||||
} else {
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
OpMemberName %buf1 0 "_GLF_uniform_float_values"
|
||||
OpName %__0 ""
|
||||
OpName %R "R"
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %_GLF_color "_GLF_color"
|
||||
OpDecorate %_arr_int_uint_5 ArrayStride 16
|
||||
OpMemberDecorate %buf0 0 Offset 0
|
||||
|
@ -63,7 +63,7 @@
|
|||
%I = OpVariable %_ptr_Function_v4float Function
|
||||
%N = 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
|
||||
%40 = OpLoad %int %39
|
||||
%41 = OpBitcast %uint %40
|
||||
|
@ -93,9 +93,9 @@
|
|||
%62 = OpLoad %v4float %N
|
||||
%63 = OpVectorTimesScalar %v4float %62 %61
|
||||
%64 = OpFSub %v4float %55 %63
|
||||
OpStore %ref %64
|
||||
OpStore %r %64
|
||||
%65 = OpLoad %v4float %R
|
||||
%66 = OpLoad %v4float %ref
|
||||
%66 = OpLoad %v4float %r
|
||||
%67 = OpExtInst %float %1 Distance %65 %66
|
||||
%68 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
|
||||
%69 = OpLoad %float %68
|
||||
|
|
|
@ -30,7 +30,7 @@ fn main_1() {
|
|||
var I : vec4<f32>;
|
||||
var N : 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_43 : i32 = x_6.x_GLF_uniform_int_values[3].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_59 : vec4<f32> = I;
|
||||
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_66 : vec4<f32> = ref;
|
||||
let x_66 : vec4<f32> = r;
|
||||
let x_69 : f32 = x_9.x_GLF_uniform_float_values[0].el;
|
||||
if ((distance(x_65, x_66) < x_69)) {
|
||||
let x_75 : i32 = x_6.x_GLF_uniform_int_values[0].el;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
OpMemberName %buf0 0 "_GLF_uniform_float_values"
|
||||
OpName %_ ""
|
||||
OpName %v1 "v1"
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %buf1 "buf1"
|
||||
OpMemberName %buf1 0 "_GLF_uniform_int_values"
|
||||
OpName %__0 ""
|
||||
|
@ -58,7 +58,7 @@
|
|||
%34 = OpLabel
|
||||
%a = OpVariable %_ptr_Function_uint 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
|
||||
%36 = OpLoad %float %35
|
||||
%37 = OpCompositeConstruct %v4float %36 %36 %36 %36
|
||||
|
@ -92,14 +92,14 @@
|
|||
%63 = OpLoad %float %62
|
||||
%64 = OpFDiv %float %61 %63
|
||||
%65 = OpCompositeConstruct %v4float %46 %52 %58 %64
|
||||
OpStore %ref %65
|
||||
OpStore %r %65
|
||||
%66 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
|
||||
%67 = OpLoad %int %66
|
||||
%68 = OpAccessChain %_ptr_Function_float %v1 %67
|
||||
%69 = OpLoad %float %68
|
||||
%70 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
|
||||
%71 = OpLoad %int %70
|
||||
%72 = OpAccessChain %_ptr_Function_float %ref %71
|
||||
%72 = OpAccessChain %_ptr_Function_float %r %71
|
||||
%73 = OpLoad %float %72
|
||||
%74 = OpFOrdEqual %bool %69 %73
|
||||
OpSelectionMerge %75 None
|
||||
|
@ -111,7 +111,7 @@
|
|||
%80 = OpLoad %float %79
|
||||
%81 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
|
||||
%82 = OpLoad %int %81
|
||||
%83 = OpAccessChain %_ptr_Function_float %ref %82
|
||||
%83 = OpAccessChain %_ptr_Function_float %r %82
|
||||
%84 = OpLoad %float %83
|
||||
%85 = OpFOrdEqual %bool %80 %84
|
||||
OpBranch %75
|
||||
|
@ -126,7 +126,7 @@
|
|||
%92 = OpLoad %float %91
|
||||
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
|
||||
%94 = OpLoad %int %93
|
||||
%95 = OpAccessChain %_ptr_Function_float %ref %94
|
||||
%95 = OpAccessChain %_ptr_Function_float %r %94
|
||||
%96 = OpLoad %float %95
|
||||
%97 = OpFOrdEqual %bool %92 %96
|
||||
OpBranch %87
|
||||
|
@ -141,7 +141,7 @@
|
|||
%104 = OpLoad %float %103
|
||||
%105 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
|
||||
%106 = OpLoad %int %105
|
||||
%107 = OpAccessChain %_ptr_Function_float %ref %106
|
||||
%107 = OpAccessChain %_ptr_Function_float %r %106
|
||||
%108 = OpLoad %float %107
|
||||
%109 = OpFOrdEqual %bool %104 %108
|
||||
OpBranch %99
|
||||
|
|
|
@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
fn main_1() {
|
||||
var a : u32;
|
||||
var v1 : vec4<f32>;
|
||||
var ref : vec4<f32>;
|
||||
var r : vec4<f32>;
|
||||
var x_85 : bool;
|
||||
var x_97 : 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_60 : f32 = x_6.x_GLF_uniform_float_values[0].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_69 : f32 = v1[x_67];
|
||||
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);
|
||||
x_86_phi = x_74;
|
||||
if (x_74) {
|
||||
let x_78 : i32 = x_10.x_GLF_uniform_int_values[3].el;
|
||||
let x_80 : f32 = v1[x_78];
|
||||
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_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_92 : f32 = v1[x_90];
|
||||
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_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_104 : f32 = v1[x_102];
|
||||
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_110_phi = x_109;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "_GLF_uniform_int_values"
|
||||
OpName %_ ""
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %i_0 "i"
|
||||
OpName %a_0 "a"
|
||||
OpName %param "param"
|
||||
|
@ -36,7 +36,7 @@
|
|||
OpDecorate %22 RelaxedPrecision
|
||||
OpDecorate %23 RelaxedPrecision
|
||||
OpDecorate %24 RelaxedPrecision
|
||||
OpDecorate %ref RelaxedPrecision
|
||||
OpDecorate %r RelaxedPrecision
|
||||
OpDecorate %25 RelaxedPrecision
|
||||
OpDecorate %26 RelaxedPrecision
|
||||
OpDecorate %27 RelaxedPrecision
|
||||
|
@ -145,7 +145,7 @@
|
|||
%_GLF_color = OpVariable %_ptr_Output_v4float Output
|
||||
%main = OpFunction %void None %96
|
||||
%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
|
||||
%a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -155,61 +155,61 @@
|
|||
%25 = OpLoad %int %124
|
||||
%125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%26 = OpLoad %int %125
|
||||
%126 = OpAccessChain %_ptr_Function_int %ref %25
|
||||
%126 = OpAccessChain %_ptr_Function_int %r %25
|
||||
OpStore %126 %26
|
||||
%127 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
|
||||
%27 = OpLoad %int %127
|
||||
%128 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%28 = OpLoad %int %128
|
||||
%129 = OpAccessChain %_ptr_Function_int %ref %27
|
||||
%129 = OpAccessChain %_ptr_Function_int %r %27
|
||||
OpStore %129 %28
|
||||
%130 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%29 = OpLoad %int %130
|
||||
%131 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||||
%30 = OpLoad %int %131
|
||||
%132 = OpAccessChain %_ptr_Function_int %ref %29
|
||||
%132 = OpAccessChain %_ptr_Function_int %r %29
|
||||
OpStore %132 %30
|
||||
%133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%31 = OpLoad %int %133
|
||||
%134 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||||
%32 = OpLoad %int %134
|
||||
%135 = OpAccessChain %_ptr_Function_int %ref %31
|
||||
%135 = OpAccessChain %_ptr_Function_int %r %31
|
||||
OpStore %135 %32
|
||||
%136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||||
%33 = OpLoad %int %136
|
||||
%137 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
|
||||
%34 = OpLoad %int %137
|
||||
%138 = OpAccessChain %_ptr_Function_int %ref %33
|
||||
%138 = OpAccessChain %_ptr_Function_int %r %33
|
||||
OpStore %138 %34
|
||||
%139 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||||
%35 = OpLoad %int %139
|
||||
%140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||||
%36 = OpLoad %int %140
|
||||
%141 = OpAccessChain %_ptr_Function_int %ref %35
|
||||
%141 = OpAccessChain %_ptr_Function_int %r %35
|
||||
OpStore %141 %36
|
||||
%142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
|
||||
%37 = OpLoad %int %142
|
||||
%143 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
|
||||
%38 = OpLoad %int %143
|
||||
%144 = OpAccessChain %_ptr_Function_int %ref %37
|
||||
%144 = OpAccessChain %_ptr_Function_int %r %37
|
||||
OpStore %144 %38
|
||||
%145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||||
%39 = OpLoad %int %145
|
||||
%146 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||||
%40 = OpLoad %int %146
|
||||
%147 = OpAccessChain %_ptr_Function_int %ref %39
|
||||
%147 = OpAccessChain %_ptr_Function_int %r %39
|
||||
OpStore %147 %40
|
||||
%148 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
|
||||
%41 = OpLoad %int %148
|
||||
%149 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
|
||||
%42 = OpLoad %int %149
|
||||
%150 = OpAccessChain %_ptr_Function_int %ref %41
|
||||
%150 = OpAccessChain %_ptr_Function_int %r %41
|
||||
OpStore %150 %42
|
||||
%151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
|
||||
%43 = OpLoad %int %151
|
||||
%152 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
|
||||
%44 = OpLoad %int %152
|
||||
%153 = OpAccessChain %_ptr_Function_int %ref %43
|
||||
%153 = OpAccessChain %_ptr_Function_int %r %43
|
||||
OpStore %153 %44
|
||||
%154 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||||
%45 = OpLoad %int %154
|
||||
|
@ -330,7 +330,7 @@
|
|||
%199 = OpAccessChain %_ptr_Function_int %a_0 %84
|
||||
%85 = OpLoad %int %199
|
||||
%86 = OpLoad %int %i_1
|
||||
%200 = OpAccessChain %_ptr_Function_int %ref %86
|
||||
%200 = OpAccessChain %_ptr_Function_int %r %86
|
||||
%87 = OpLoad %int %200
|
||||
%201 = OpINotEqual %bool %85 %87
|
||||
OpSelectionMerge %202 None
|
||||
|
|
|
@ -41,7 +41,7 @@ fn f_i1_(a : ptr<function, i32>) -> i32 {
|
|||
}
|
||||
|
||||
fn main_1() {
|
||||
var ref : array<i32, 10u>;
|
||||
var r : array<i32, 10u>;
|
||||
var i_1 : i32;
|
||||
var a_1 : array<i32, 10u>;
|
||||
var param : i32;
|
||||
|
@ -49,34 +49,34 @@ fn main_1() {
|
|||
var i_2 : i32;
|
||||
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;
|
||||
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_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_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_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_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_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_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_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_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_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;
|
||||
i_1 = x_45;
|
||||
loop {
|
||||
|
@ -148,7 +148,7 @@ fn main_1() {
|
|||
let x_84 : i32 = i_2;
|
||||
let x_85 : i32 = a_1[x_84];
|
||||
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)) {
|
||||
let x_88 : i32 = x_8.x_GLF_uniform_int_values[0].el;
|
||||
let x_205 : f32 = f32(x_88);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "_GLF_uniform_int_values"
|
||||
OpName %_ ""
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %a "a"
|
||||
OpName %i "i"
|
||||
OpName %ok "ok"
|
||||
|
@ -65,7 +65,7 @@
|
|||
%main = OpFunction %void None %14
|
||||
%50 = OpLabel
|
||||
%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
|
||||
%i = OpVariable %_ptr_Function_int Function
|
||||
%ok = OpVariable %_ptr_Function_bool Function
|
||||
|
@ -141,7 +141,7 @@
|
|||
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%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
|
||||
OpStore %ref %120
|
||||
OpStore %r %120
|
||||
%121 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%122 = OpLoad %int %121
|
||||
OpStore %a %122
|
||||
|
@ -203,7 +203,7 @@
|
|||
%163 = OpAccessChain %_ptr_Function_int %A %162
|
||||
%164 = OpLoad %int %163
|
||||
%165 = OpLoad %int %i_0
|
||||
%166 = OpAccessChain %_ptr_Function_int %ref %165
|
||||
%166 = OpAccessChain %_ptr_Function_int %r %165
|
||||
%167 = OpLoad %int %166
|
||||
%168 = OpINotEqual %bool %164 %167
|
||||
OpSelectionMerge %169 None
|
||||
|
|
|
@ -15,7 +15,7 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
|
||||
fn main_1() {
|
||||
var A : array<i32, 17u>;
|
||||
var ref : array<i32, 17u>;
|
||||
var r : array<i32, 17u>;
|
||||
var a : i32;
|
||||
var i : i32;
|
||||
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_117 : i32 = x_6.x_GLF_uniform_int_values[18].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;
|
||||
a = x_122;
|
||||
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_164 : i32 = A[x_162];
|
||||
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)) {
|
||||
ok = false;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
OpName %main "main"
|
||||
OpName %a "a"
|
||||
OpName %values "values"
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "_GLF_uniform_float_values"
|
||||
OpName %_ ""
|
||||
|
@ -60,7 +60,7 @@
|
|||
%36 = OpLabel
|
||||
%a = OpVariable %_ptr_Function_uint 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
|
||||
OpStore %a %37
|
||||
%38 = OpLoad %uint %a
|
||||
|
@ -84,14 +84,14 @@
|
|||
%55 = OpLoad %float %54
|
||||
%56 = OpFDiv %float %53 %55
|
||||
%57 = OpCompositeConstruct %v4float %41 %46 %51 %56
|
||||
OpStore %ref %57
|
||||
OpStore %r %57
|
||||
%58 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
|
||||
%59 = OpLoad %int %58
|
||||
%60 = OpAccessChain %_ptr_Function_float %values %59
|
||||
%61 = OpLoad %float %60
|
||||
%62 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0
|
||||
%63 = OpLoad %int %62
|
||||
%64 = OpAccessChain %_ptr_Function_float %ref %63
|
||||
%64 = OpAccessChain %_ptr_Function_float %r %63
|
||||
%65 = OpLoad %float %64
|
||||
%66 = OpFSub %float %61 %65
|
||||
%67 = OpExtInst %float %1 FAbs %66
|
||||
|
@ -107,7 +107,7 @@
|
|||
%76 = OpLoad %float %75
|
||||
%77 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1
|
||||
%78 = OpLoad %int %77
|
||||
%79 = OpAccessChain %_ptr_Function_float %ref %78
|
||||
%79 = OpAccessChain %_ptr_Function_float %r %78
|
||||
%80 = OpLoad %float %79
|
||||
%81 = OpFSub %float %76 %80
|
||||
%82 = OpExtInst %float %1 FAbs %81
|
||||
|
@ -126,7 +126,7 @@
|
|||
%92 = OpLoad %float %91
|
||||
%93 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_3
|
||||
%94 = OpLoad %int %93
|
||||
%95 = OpAccessChain %_ptr_Function_float %ref %94
|
||||
%95 = OpAccessChain %_ptr_Function_float %r %94
|
||||
%96 = OpLoad %float %95
|
||||
%97 = OpFSub %float %92 %96
|
||||
%98 = OpExtInst %float %1 FAbs %97
|
||||
|
@ -145,7 +145,7 @@
|
|||
%108 = OpLoad %float %107
|
||||
%109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2
|
||||
%110 = OpLoad %int %109
|
||||
%111 = OpAccessChain %_ptr_Function_float %ref %110
|
||||
%111 = OpAccessChain %_ptr_Function_float %r %110
|
||||
%112 = OpLoad %float %111
|
||||
%113 = OpFSub %float %108 %112
|
||||
%114 = OpExtInst %float %1 FAbs %113
|
||||
|
|
|
@ -29,7 +29,7 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
fn main_1() {
|
||||
var a : u32;
|
||||
var values : vec4<f32>;
|
||||
var ref : vec4<f32>;
|
||||
var r : vec4<f32>;
|
||||
var x_85 : bool;
|
||||
var x_101 : 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_53 : f32 = x_8.x_GLF_uniform_float_values[1].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_61 : f32 = values[x_59];
|
||||
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_70 : bool = (abs((x_61 - x_65)) < x_69);
|
||||
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_76 : f32 = values[x_74];
|
||||
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;
|
||||
x_85 = (abs((x_76 - x_80)) < x_84);
|
||||
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_92 : f32 = values[x_90];
|
||||
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;
|
||||
x_101 = (abs((x_92 - x_96)) < x_100);
|
||||
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_108 : f32 = values[x_106];
|
||||
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;
|
||||
x_117 = (abs((x_108 - x_112)) < x_116);
|
||||
x_118_phi = x_117;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
OpExecutionMode %main OriginUpperLeft
|
||||
OpSource ESSL 310
|
||||
OpName %main "main"
|
||||
OpName %ref "ref"
|
||||
OpName %r "r"
|
||||
OpName %buf0 "buf0"
|
||||
OpMemberName %buf0 0 "_GLF_uniform_int_values"
|
||||
OpName %_ ""
|
||||
|
@ -58,7 +58,7 @@
|
|||
%_GLF_color = OpVariable %_ptr_Output_v4float Output
|
||||
%main = OpFunction %void None %14
|
||||
%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
|
||||
%data = OpVariable %_ptr_Function__arr_int_uint_15 Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
|
@ -68,101 +68,101 @@
|
|||
%46 = OpLoad %int %45
|
||||
%47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||||
%48 = OpLoad %int %47
|
||||
%49 = OpAccessChain %_ptr_Function_int %ref %46
|
||||
%49 = OpAccessChain %_ptr_Function_int %r %46
|
||||
OpStore %49 %48
|
||||
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%51 = OpLoad %int %50
|
||||
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%53 = OpLoad %int %52
|
||||
%54 = OpAccessChain %_ptr_Function_int %ref %51
|
||||
%54 = OpAccessChain %_ptr_Function_int %r %51
|
||||
OpStore %54 %53
|
||||
%55 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%56 = OpLoad %int %55
|
||||
%57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%58 = OpLoad %int %57
|
||||
%59 = OpAccessChain %_ptr_Function_int %ref %56
|
||||
%59 = OpAccessChain %_ptr_Function_int %r %56
|
||||
OpStore %59 %58
|
||||
%60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||||
%61 = OpLoad %int %60
|
||||
%62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||||
%63 = OpLoad %int %62
|
||||
%64 = OpAccessChain %_ptr_Function_int %ref %61
|
||||
%64 = OpAccessChain %_ptr_Function_int %r %61
|
||||
OpStore %64 %63
|
||||
%65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||||
%66 = OpLoad %int %65
|
||||
%67 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||||
%68 = OpLoad %int %67
|
||||
%69 = OpAccessChain %_ptr_Function_int %ref %66
|
||||
%69 = OpAccessChain %_ptr_Function_int %r %66
|
||||
OpStore %69 %68
|
||||
%70 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
|
||||
%71 = OpLoad %int %70
|
||||
%72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%73 = OpLoad %int %72
|
||||
%74 = OpSNegate %int %73
|
||||
%75 = OpAccessChain %_ptr_Function_int %ref %71
|
||||
%75 = OpAccessChain %_ptr_Function_int %r %71
|
||||
OpStore %75 %74
|
||||
%76 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||||
%77 = OpLoad %int %76
|
||||
%78 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%79 = OpLoad %int %78
|
||||
%80 = OpSNegate %int %79
|
||||
%81 = OpAccessChain %_ptr_Function_int %ref %77
|
||||
%81 = OpAccessChain %_ptr_Function_int %r %77
|
||||
OpStore %81 %80
|
||||
%82 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
|
||||
%83 = OpLoad %int %82
|
||||
%84 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%85 = OpLoad %int %84
|
||||
%86 = OpSNegate %int %85
|
||||
%87 = OpAccessChain %_ptr_Function_int %ref %83
|
||||
%87 = OpAccessChain %_ptr_Function_int %r %83
|
||||
OpStore %87 %86
|
||||
%88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
|
||||
%89 = OpLoad %int %88
|
||||
%90 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%91 = OpLoad %int %90
|
||||
%92 = OpSNegate %int %91
|
||||
%93 = OpAccessChain %_ptr_Function_int %ref %89
|
||||
%93 = OpAccessChain %_ptr_Function_int %r %89
|
||||
OpStore %93 %92
|
||||
%94 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
|
||||
%95 = OpLoad %int %94
|
||||
%96 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||||
%97 = OpLoad %int %96
|
||||
%98 = OpSNegate %int %97
|
||||
%99 = OpAccessChain %_ptr_Function_int %ref %95
|
||||
%99 = OpAccessChain %_ptr_Function_int %r %95
|
||||
OpStore %99 %98
|
||||
%100 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||||
%101 = OpLoad %int %100
|
||||
%102 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%103 = OpLoad %int %102
|
||||
%104 = OpSNegate %int %103
|
||||
%105 = OpAccessChain %_ptr_Function_int %ref %101
|
||||
%105 = OpAccessChain %_ptr_Function_int %r %101
|
||||
OpStore %105 %104
|
||||
%106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_12
|
||||
%107 = OpLoad %int %106
|
||||
%108 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%109 = OpLoad %int %108
|
||||
%110 = OpSNegate %int %109
|
||||
%111 = OpAccessChain %_ptr_Function_int %ref %107
|
||||
%111 = OpAccessChain %_ptr_Function_int %r %107
|
||||
OpStore %111 %110
|
||||
%112 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_13
|
||||
%113 = OpLoad %int %112
|
||||
%114 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%115 = OpLoad %int %114
|
||||
%116 = OpSNegate %int %115
|
||||
%117 = OpAccessChain %_ptr_Function_int %ref %113
|
||||
%117 = OpAccessChain %_ptr_Function_int %r %113
|
||||
OpStore %117 %116
|
||||
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_14
|
||||
%119 = OpLoad %int %118
|
||||
%120 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%121 = OpLoad %int %120
|
||||
%122 = OpSNegate %int %121
|
||||
%123 = OpAccessChain %_ptr_Function_int %ref %119
|
||||
%123 = OpAccessChain %_ptr_Function_int %r %119
|
||||
OpStore %123 %122
|
||||
%124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_15
|
||||
%125 = OpLoad %int %124
|
||||
%126 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||||
%127 = OpLoad %int %126
|
||||
%128 = OpSNegate %int %127
|
||||
%129 = OpAccessChain %_ptr_Function_int %ref %125
|
||||
%129 = OpAccessChain %_ptr_Function_int %r %125
|
||||
OpStore %129 %128
|
||||
OpStore %i %int_0
|
||||
OpBranch %130
|
||||
|
@ -267,7 +267,7 @@
|
|||
%200 = OpAccessChain %_ptr_Function_int %data %199
|
||||
%201 = OpLoad %int %200
|
||||
%202 = OpLoad %int %i_2
|
||||
%203 = OpAccessChain %_ptr_Function_int %ref %202
|
||||
%203 = OpAccessChain %_ptr_Function_int %r %202
|
||||
%204 = OpLoad %int %203
|
||||
%205 = OpINotEqual %bool %201 %204
|
||||
OpSelectionMerge %206 None
|
||||
|
|
|
@ -14,7 +14,7 @@ struct buf0 {
|
|||
var<private> x_GLF_color : vec4<f32>;
|
||||
|
||||
fn main_1() {
|
||||
var ref : array<i32, 15u>;
|
||||
var r : array<i32, 15u>;
|
||||
var i : i32;
|
||||
var data : array<i32, 15u>;
|
||||
var i_1 : i32;
|
||||
|
@ -22,49 +22,49 @@ fn main_1() {
|
|||
var i_3 : i32;
|
||||
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;
|
||||
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_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_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_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_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_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_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_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_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_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_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_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_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_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_127 : i32 = x_6.x_GLF_uniform_int_values[2].el;
|
||||
ref[x_125] = -(x_127);
|
||||
r[x_125] = -(x_127);
|
||||
i = 0;
|
||||
loop {
|
||||
let x_134 : i32 = i;
|
||||
|
@ -132,7 +132,7 @@ fn main_1() {
|
|||
let x_199 : i32 = i_3;
|
||||
let x_201 : i32 = data[x_199];
|
||||
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)) {
|
||||
let x_209 : i32 = x_6.x_GLF_uniform_int_values[0].el;
|
||||
let x_210 : f32 = f32(x_209);
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -365,7 +365,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %37
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%253 = OpLabel
|
||||
|
@ -373,9 +373,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%254 = OpLoad %int %from
|
||||
%254 = OpLoad %int %f
|
||||
OpStore %k %254
|
||||
%255 = OpLoad %int %from
|
||||
%255 = OpLoad %int %f
|
||||
OpStore %i %255
|
||||
%256 = OpLoad %int %mid
|
||||
%257 = OpIAdd %int %256 %int_1
|
||||
|
@ -459,7 +459,7 @@
|
|||
%296 = OpLabel
|
||||
OpBranch %294
|
||||
%295 = OpLabel
|
||||
%312 = OpLoad %int %from
|
||||
%312 = OpLoad %int %f
|
||||
OpStore %i_0 %312
|
||||
OpBranch %313
|
||||
%313 = OpLabel
|
||||
|
@ -492,7 +492,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -524,7 +524,7 @@
|
|||
OpBranchConditional %344 %345 %339
|
||||
%345 = OpLabel
|
||||
%346 = OpLoad %int %i_1
|
||||
OpStore %from_0 %346
|
||||
OpStore %f_0 %346
|
||||
%347 = OpLoad %int %i_1
|
||||
%348 = OpLoad %int %m
|
||||
%349 = OpIAdd %int %347 %348
|
||||
|
@ -538,7 +538,7 @@
|
|||
%356 = OpLoad %int %high
|
||||
%357 = OpExtInst %int %1 SMin %355 %356
|
||||
OpStore %to_0 %357
|
||||
%358 = OpLoad %int %from_0
|
||||
%358 = OpLoad %int %f_0
|
||||
OpStore %param %358
|
||||
%359 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %359
|
||||
|
|
|
@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
|
||||
@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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_254 : i32 = *(from);
|
||||
let x_254 : i32 = *(f);
|
||||
k = x_254;
|
||||
let x_255 : i32 = *(from);
|
||||
let x_255 : i32 = *(f);
|
||||
i = x_255;
|
||||
let x_256 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_305] = x_310;
|
||||
}
|
||||
let x_312 : i32 = *(from);
|
||||
let x_312 : i32 = *(f);
|
||||
i_1 = x_312;
|
||||
loop {
|
||||
let x_317 : i32 = i_1;
|
||||
|
@ -100,7 +100,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -126,7 +126,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_346 : i32 = i_2;
|
||||
from_1 = x_346;
|
||||
f_1 = x_346;
|
||||
let x_347 : i32 = i_2;
|
||||
let x_348 : i32 = m;
|
||||
mid_1 = ((x_347 + x_348) - 1);
|
||||
|
@ -134,7 +134,7 @@ fn mergeSort_() {
|
|||
let x_352 : i32 = m;
|
||||
let x_356 : i32 = high;
|
||||
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;
|
||||
let x_359 : i32 = mid_1;
|
||||
param_1 = x_359;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -366,7 +366,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %37
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%254 = OpLabel
|
||||
|
@ -374,9 +374,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%255 = OpLoad %int %from
|
||||
%255 = OpLoad %int %f
|
||||
OpStore %k %255
|
||||
%256 = OpLoad %int %from
|
||||
%256 = OpLoad %int %f
|
||||
OpStore %i %256
|
||||
%257 = OpLoad %int %mid
|
||||
%258 = OpIAdd %int %257 %int_1
|
||||
|
@ -460,7 +460,7 @@
|
|||
%297 = OpLabel
|
||||
OpBranch %295
|
||||
%296 = OpLabel
|
||||
%313 = OpLoad %int %from
|
||||
%313 = OpLoad %int %f
|
||||
OpStore %i_0 %313
|
||||
OpBranch %314
|
||||
%314 = OpLabel
|
||||
|
@ -493,7 +493,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -525,7 +525,7 @@
|
|||
OpBranchConditional %345 %346 %340
|
||||
%346 = OpLabel
|
||||
%347 = OpLoad %int %i_1
|
||||
OpStore %from_0 %347
|
||||
OpStore %f_0 %347
|
||||
%348 = OpLoad %int %i_1
|
||||
%349 = OpLoad %int %m
|
||||
%350 = OpIAdd %int %348 %349
|
||||
|
@ -539,7 +539,7 @@
|
|||
%357 = OpLoad %int %high
|
||||
%358 = OpExtInst %int %1 SMin %356 %357
|
||||
OpStore %to_0 %358
|
||||
%359 = OpLoad %int %from_0
|
||||
%359 = OpLoad %int %f_0
|
||||
OpStore %param %359
|
||||
%360 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %360
|
||||
|
|
|
@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
|
||||
@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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_255 : i32 = *(from);
|
||||
let x_255 : i32 = *(f);
|
||||
k = x_255;
|
||||
let x_256 : i32 = *(from);
|
||||
let x_256 : i32 = *(f);
|
||||
i = x_256;
|
||||
let x_257 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_306] = x_311;
|
||||
}
|
||||
let x_313 : i32 = *(from);
|
||||
let x_313 : i32 = *(f);
|
||||
i_1 = x_313;
|
||||
loop {
|
||||
let x_318 : i32 = i_1;
|
||||
|
@ -100,7 +100,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -126,7 +126,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_347 : i32 = i_2;
|
||||
from_1 = x_347;
|
||||
f_1 = x_347;
|
||||
let x_348 : i32 = i_2;
|
||||
let x_349 : i32 = m;
|
||||
mid_1 = ((x_348 + x_349) - 1);
|
||||
|
@ -134,7 +134,7 @@ fn mergeSort_() {
|
|||
let x_353 : i32 = m;
|
||||
let x_357 : i32 = high;
|
||||
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;
|
||||
let x_360 : i32 = mid_1;
|
||||
param_1 = x_360;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -367,7 +367,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %37
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%255 = OpLabel
|
||||
|
@ -375,9 +375,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%256 = OpLoad %int %from
|
||||
%256 = OpLoad %int %f
|
||||
OpStore %k %256
|
||||
%257 = OpLoad %int %from
|
||||
%257 = OpLoad %int %f
|
||||
OpStore %i %257
|
||||
%258 = OpLoad %int %mid
|
||||
%259 = OpIAdd %int %258 %int_1
|
||||
|
@ -464,7 +464,7 @@
|
|||
%299 = OpLabel
|
||||
OpBranch %296
|
||||
%298 = OpLabel
|
||||
%316 = OpLoad %int %from
|
||||
%316 = OpLoad %int %f
|
||||
OpStore %i_0 %316
|
||||
OpBranch %317
|
||||
%317 = OpLabel
|
||||
|
@ -497,7 +497,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -529,7 +529,7 @@
|
|||
OpBranchConditional %348 %349 %343
|
||||
%349 = OpLabel
|
||||
%350 = OpLoad %int %i_1
|
||||
OpStore %from_0 %350
|
||||
OpStore %f_0 %350
|
||||
%351 = OpLoad %int %i_1
|
||||
%352 = OpLoad %int %m
|
||||
%353 = OpIAdd %int %351 %352
|
||||
|
@ -543,7 +543,7 @@
|
|||
%360 = OpLoad %int %high
|
||||
%361 = OpExtInst %int %1 SMin %359 %360
|
||||
OpStore %to_0 %361
|
||||
%362 = OpLoad %int %from_0
|
||||
%362 = OpLoad %int %f_0
|
||||
OpStore %param %362
|
||||
%363 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %363
|
||||
|
|
|
@ -18,14 +18,14 @@ var<private> x_GLF_color : vec4<f32>;
|
|||
|
||||
@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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_256 : i32 = *(from);
|
||||
let x_256 : i32 = *(f);
|
||||
k = x_256;
|
||||
let x_257 : i32 = *(from);
|
||||
let x_257 : i32 = *(f);
|
||||
i = x_257;
|
||||
let x_258 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_309] = x_314;
|
||||
}
|
||||
let x_316 : i32 = *(from);
|
||||
let x_316 : i32 = *(f);
|
||||
i_1 = x_316;
|
||||
loop {
|
||||
let x_321 : i32 = i_1;
|
||||
|
@ -104,7 +104,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -130,7 +130,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_350 : i32 = i_2;
|
||||
from_1 = x_350;
|
||||
f_1 = x_350;
|
||||
let x_351 : i32 = i_2;
|
||||
let x_352 : i32 = m;
|
||||
mid_1 = ((x_351 + x_352) - 1);
|
||||
|
@ -138,7 +138,7 @@ fn mergeSort_() {
|
|||
let x_356 : i32 = m;
|
||||
let x_360 : i32 = high;
|
||||
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;
|
||||
let x_363 : i32 = mid_1;
|
||||
param_1 = x_363;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -355,7 +355,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%250 = OpLabel
|
||||
|
@ -363,9 +363,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%251 = OpLoad %int %from
|
||||
%251 = OpLoad %int %f
|
||||
OpStore %k %251
|
||||
%252 = OpLoad %int %from
|
||||
%252 = OpLoad %int %f
|
||||
OpStore %i %252
|
||||
%253 = OpLoad %int %mid
|
||||
%254 = OpIAdd %int %253 %int_1
|
||||
|
@ -449,7 +449,7 @@
|
|||
%293 = OpLabel
|
||||
OpBranch %291
|
||||
%292 = OpLabel
|
||||
%309 = OpLoad %int %from
|
||||
%309 = OpLoad %int %f
|
||||
OpStore %i_0 %309
|
||||
OpBranch %310
|
||||
%310 = OpLabel
|
||||
|
@ -482,7 +482,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -514,7 +514,7 @@
|
|||
OpBranchConditional %341 %342 %336
|
||||
%342 = OpLabel
|
||||
%343 = OpLoad %int %i_1
|
||||
OpStore %from_0 %343
|
||||
OpStore %f_0 %343
|
||||
%344 = OpLoad %int %i_1
|
||||
%345 = OpLoad %int %m
|
||||
%346 = OpIAdd %int %344 %345
|
||||
|
@ -528,7 +528,7 @@
|
|||
%353 = OpLoad %int %high
|
||||
%354 = OpExtInst %int %1 SMin %352 %353
|
||||
OpStore %to_0 %354
|
||||
%355 = OpLoad %int %from_0
|
||||
%355 = OpLoad %int %f_0
|
||||
OpStore %param %355
|
||||
%356 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %356
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_251 : i32 = *(from);
|
||||
let x_251 : i32 = *(f);
|
||||
k = x_251;
|
||||
let x_252 : i32 = *(from);
|
||||
let x_252 : i32 = *(f);
|
||||
i = x_252;
|
||||
let x_253 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_302] = x_307;
|
||||
}
|
||||
let x_309 : i32 = *(from);
|
||||
let x_309 : i32 = *(f);
|
||||
i_1 = x_309;
|
||||
loop {
|
||||
let x_314 : i32 = i_1;
|
||||
|
@ -94,7 +94,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -120,7 +120,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_343 : i32 = i_2;
|
||||
from_1 = x_343;
|
||||
f_1 = x_343;
|
||||
let x_344 : i32 = i_2;
|
||||
let x_345 : i32 = m;
|
||||
mid_1 = ((x_344 + x_345) - 1);
|
||||
|
@ -128,7 +128,7 @@ fn mergeSort_() {
|
|||
let x_349 : i32 = m;
|
||||
let x_353 : i32 = high;
|
||||
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;
|
||||
let x_356 : i32 = mid_1;
|
||||
param_1 = x_356;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -371,7 +371,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%261 = OpLabel
|
||||
|
@ -379,9 +379,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%262 = OpLoad %int %from
|
||||
%262 = OpLoad %int %f
|
||||
OpStore %k %262
|
||||
%263 = OpLoad %int %from
|
||||
%263 = OpLoad %int %f
|
||||
OpStore %i %263
|
||||
%264 = OpLoad %int %mid
|
||||
%265 = OpIAdd %int %264 %int_1
|
||||
|
@ -465,7 +465,7 @@
|
|||
%304 = OpLabel
|
||||
OpBranch %302
|
||||
%303 = OpLabel
|
||||
%320 = OpLoad %int %from
|
||||
%320 = OpLoad %int %f
|
||||
OpStore %i_0 %320
|
||||
OpBranch %321
|
||||
%321 = OpLabel
|
||||
|
@ -498,7 +498,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -530,7 +530,7 @@
|
|||
OpBranchConditional %352 %353 %347
|
||||
%353 = OpLabel
|
||||
%354 = OpLoad %int %i_1
|
||||
OpStore %from_0 %354
|
||||
OpStore %f_0 %354
|
||||
%355 = OpLoad %int %i_1
|
||||
%356 = OpLoad %int %m
|
||||
%357 = OpIAdd %int %355 %356
|
||||
|
@ -544,7 +544,7 @@
|
|||
%364 = OpLoad %int %high
|
||||
%365 = OpExtInst %int %1 SMin %363 %364
|
||||
OpStore %to_0 %365
|
||||
%366 = OpLoad %int %from_0
|
||||
%366 = OpLoad %int %f_0
|
||||
OpStore %param %366
|
||||
%367 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %367
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_262 : i32 = *(from);
|
||||
let x_262 : i32 = *(f);
|
||||
k = x_262;
|
||||
let x_263 : i32 = *(from);
|
||||
let x_263 : i32 = *(f);
|
||||
i = x_263;
|
||||
let x_264 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_313] = x_318;
|
||||
}
|
||||
let x_320 : i32 = *(from);
|
||||
let x_320 : i32 = *(f);
|
||||
i_1 = x_320;
|
||||
loop {
|
||||
let x_325 : i32 = i_1;
|
||||
|
@ -94,7 +94,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -120,7 +120,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_354 : i32 = i_2;
|
||||
from_1 = x_354;
|
||||
f_1 = x_354;
|
||||
let x_355 : i32 = i_2;
|
||||
let x_356 : i32 = m;
|
||||
mid_1 = ((x_355 + x_356) - 1);
|
||||
|
@ -128,7 +128,7 @@ fn mergeSort_() {
|
|||
let x_360 : i32 = m;
|
||||
let x_364 : i32 = high;
|
||||
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;
|
||||
let x_367 : i32 = mid_1;
|
||||
param_1 = x_367;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -359,7 +359,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%254 = OpLabel
|
||||
|
@ -367,9 +367,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%255 = OpLoad %int %from
|
||||
%255 = OpLoad %int %f
|
||||
OpStore %k %255
|
||||
%256 = OpLoad %int %from
|
||||
%256 = OpLoad %int %f
|
||||
OpStore %i %256
|
||||
%257 = OpLoad %int %mid
|
||||
%258 = OpIAdd %int %257 %int_1
|
||||
|
@ -582,7 +582,7 @@
|
|||
%374 = OpLabel
|
||||
OpBranch %372
|
||||
%373 = OpLabel
|
||||
%390 = OpLoad %int %from
|
||||
%390 = OpLoad %int %f
|
||||
OpStore %i_0 %390
|
||||
OpBranch %391
|
||||
%391 = OpLabel
|
||||
|
@ -615,7 +615,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -647,7 +647,7 @@
|
|||
OpBranchConditional %422 %423 %417
|
||||
%423 = OpLabel
|
||||
%424 = OpLoad %int %i_1
|
||||
OpStore %from_0 %424
|
||||
OpStore %f_0 %424
|
||||
%425 = OpLoad %int %i_1
|
||||
%426 = OpLoad %int %m
|
||||
%427 = OpIAdd %int %425 %426
|
||||
|
@ -661,7 +661,7 @@
|
|||
%434 = OpLoad %int %high
|
||||
%435 = OpExtInst %int %1 SMin %433 %434
|
||||
OpStore %to_0 %435
|
||||
%436 = OpLoad %int %from_0
|
||||
%436 = OpLoad %int %f_0
|
||||
OpStore %param %436
|
||||
%437 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %437
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_255 : i32 = *(from);
|
||||
let x_255 : i32 = *(f);
|
||||
k = x_255;
|
||||
let x_256 : i32 = *(from);
|
||||
let x_256 : i32 = *(f);
|
||||
i = x_256;
|
||||
let x_257 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_383] = x_388;
|
||||
}
|
||||
let x_390 : i32 = *(from);
|
||||
let x_390 : i32 = *(f);
|
||||
i_1 = x_390;
|
||||
loop {
|
||||
let x_395 : i32 = i_1;
|
||||
|
@ -202,7 +202,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -228,7 +228,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_424 : i32 = i_2;
|
||||
from_1 = x_424;
|
||||
f_1 = x_424;
|
||||
let x_425 : i32 = i_2;
|
||||
let x_426 : i32 = m;
|
||||
mid_1 = ((x_425 + x_426) - 1);
|
||||
|
@ -236,7 +236,7 @@ fn mergeSort_() {
|
|||
let x_430 : i32 = m;
|
||||
let x_434 : i32 = high;
|
||||
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;
|
||||
let x_437 : i32 = mid_1;
|
||||
param_1 = x_437;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -359,7 +359,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%254 = OpLabel
|
||||
|
@ -367,9 +367,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%255 = OpLoad %int %from
|
||||
%255 = OpLoad %int %f
|
||||
OpStore %k %255
|
||||
%256 = OpLoad %int %from
|
||||
%256 = OpLoad %int %f
|
||||
OpStore %i %256
|
||||
%257 = OpLoad %int %mid
|
||||
%258 = OpIAdd %int %257 %int_1
|
||||
|
@ -580,7 +580,7 @@
|
|||
%372 = OpLabel
|
||||
OpBranch %370
|
||||
%371 = OpLabel
|
||||
%388 = OpLoad %int %from
|
||||
%388 = OpLoad %int %f
|
||||
OpStore %i_0 %388
|
||||
OpBranch %389
|
||||
%389 = OpLabel
|
||||
|
@ -613,7 +613,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -645,7 +645,7 @@
|
|||
OpBranchConditional %420 %421 %415
|
||||
%421 = OpLabel
|
||||
%422 = OpLoad %int %i_1
|
||||
OpStore %from_0 %422
|
||||
OpStore %f_0 %422
|
||||
%423 = OpLoad %int %i_1
|
||||
%424 = OpLoad %int %m
|
||||
%425 = OpIAdd %int %423 %424
|
||||
|
@ -659,7 +659,7 @@
|
|||
%432 = OpLoad %int %high
|
||||
%433 = OpExtInst %int %1 SMin %431 %432
|
||||
OpStore %to_0 %433
|
||||
%434 = OpLoad %int %from_0
|
||||
%434 = OpLoad %int %f_0
|
||||
OpStore %param %434
|
||||
%435 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %435
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_255 : i32 = *(from);
|
||||
let x_255 : i32 = *(f);
|
||||
k = x_255;
|
||||
let x_256 : i32 = *(from);
|
||||
let x_256 : i32 = *(f);
|
||||
i = x_256;
|
||||
let x_257 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_381] = x_386;
|
||||
}
|
||||
let x_388 : i32 = *(from);
|
||||
let x_388 : i32 = *(f);
|
||||
i_1 = x_388;
|
||||
loop {
|
||||
let x_393 : i32 = i_1;
|
||||
|
@ -201,7 +201,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -227,7 +227,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_422 : i32 = i_2;
|
||||
from_1 = x_422;
|
||||
f_1 = x_422;
|
||||
let x_423 : i32 = i_2;
|
||||
let x_424 : i32 = m;
|
||||
mid_1 = ((x_423 + x_424) - 1);
|
||||
|
@ -235,7 +235,7 @@ fn mergeSort_() {
|
|||
let x_428 : i32 = m;
|
||||
let x_432 : i32 = high;
|
||||
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;
|
||||
let x_435 : i32 = mid_1;
|
||||
param_1 = x_435;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -434,7 +434,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%302 = OpLabel
|
||||
|
@ -442,9 +442,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%303 = OpLoad %int %from
|
||||
%303 = OpLoad %int %f
|
||||
OpStore %k %303
|
||||
%304 = OpLoad %int %from
|
||||
%304 = OpLoad %int %f
|
||||
OpStore %i %304
|
||||
%305 = OpLoad %int %mid
|
||||
%306 = OpIAdd %int %305 %int_1
|
||||
|
@ -528,7 +528,7 @@
|
|||
%345 = OpLabel
|
||||
OpBranch %343
|
||||
%344 = OpLabel
|
||||
%361 = OpLoad %int %from
|
||||
%361 = OpLoad %int %f
|
||||
OpStore %i_0 %361
|
||||
OpBranch %362
|
||||
%362 = OpLabel
|
||||
|
@ -561,7 +561,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -593,7 +593,7 @@
|
|||
OpBranchConditional %393 %394 %388
|
||||
%394 = OpLabel
|
||||
%395 = OpLoad %int %i_1
|
||||
OpStore %from_0 %395
|
||||
OpStore %f_0 %395
|
||||
%396 = OpLoad %int %i_1
|
||||
%397 = OpLoad %int %m
|
||||
%398 = OpIAdd %int %396 %397
|
||||
|
@ -607,7 +607,7 @@
|
|||
%405 = OpLoad %int %high
|
||||
%406 = OpExtInst %int %1 SMin %404 %405
|
||||
OpStore %to_0 %406
|
||||
%407 = OpLoad %int %from_0
|
||||
%407 = OpLoad %int %f_0
|
||||
OpStore %param %407
|
||||
%408 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %408
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_303 : i32 = *(from);
|
||||
let x_303 : i32 = *(f);
|
||||
k = x_303;
|
||||
let x_304 : i32 = *(from);
|
||||
let x_304 : i32 = *(f);
|
||||
i = x_304;
|
||||
let x_305 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_354] = x_359;
|
||||
}
|
||||
let x_361 : i32 = *(from);
|
||||
let x_361 : i32 = *(f);
|
||||
i_1 = x_361;
|
||||
loop {
|
||||
let x_366 : i32 = i_1;
|
||||
|
@ -307,7 +307,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -333,7 +333,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_395 : i32 = i_2;
|
||||
from_1 = x_395;
|
||||
f_1 = x_395;
|
||||
let x_396 : i32 = i_2;
|
||||
let x_397 : i32 = m;
|
||||
mid_1 = ((x_396 + x_397) - 1);
|
||||
|
@ -341,7 +341,7 @@ fn mergeSort_() {
|
|||
let x_401 : i32 = m;
|
||||
let x_405 : i32 = high;
|
||||
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;
|
||||
let x_408 : i32 = mid_1;
|
||||
param_1 = x_408;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -431,7 +431,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %35
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%301 = OpLabel
|
||||
|
@ -439,9 +439,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%302 = OpLoad %int %from
|
||||
%302 = OpLoad %int %f
|
||||
OpStore %k %302
|
||||
%303 = OpLoad %int %from
|
||||
%303 = OpLoad %int %f
|
||||
OpStore %i %303
|
||||
%304 = OpLoad %int %mid
|
||||
%305 = OpIAdd %int %304 %int_1
|
||||
|
@ -525,7 +525,7 @@
|
|||
%344 = OpLabel
|
||||
OpBranch %342
|
||||
%343 = OpLabel
|
||||
%360 = OpLoad %int %from
|
||||
%360 = OpLoad %int %f
|
||||
OpStore %i_0 %360
|
||||
OpBranch %361
|
||||
%361 = OpLabel
|
||||
|
@ -558,7 +558,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -590,7 +590,7 @@
|
|||
OpBranchConditional %392 %393 %387
|
||||
%393 = OpLabel
|
||||
%394 = OpLoad %int %i_1
|
||||
OpStore %from_0 %394
|
||||
OpStore %f_0 %394
|
||||
%395 = OpLoad %int %i_1
|
||||
%396 = OpLoad %int %m
|
||||
%397 = OpIAdd %int %395 %396
|
||||
|
@ -604,7 +604,7 @@
|
|||
%404 = OpLoad %int %high
|
||||
%405 = OpExtInst %int %1 SMin %403 %404
|
||||
OpStore %to_0 %405
|
||||
%406 = OpLoad %int %from_0
|
||||
%406 = OpLoad %int %f_0
|
||||
OpStore %param %406
|
||||
%407 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %407
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_302 : i32 = *(from);
|
||||
let x_302 : i32 = *(f);
|
||||
k = x_302;
|
||||
let x_303 : i32 = *(from);
|
||||
let x_303 : i32 = *(f);
|
||||
i = x_303;
|
||||
let x_304 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_353] = x_358;
|
||||
}
|
||||
let x_360 : i32 = *(from);
|
||||
let x_360 : i32 = *(f);
|
||||
i_1 = x_360;
|
||||
loop {
|
||||
let x_365 : i32 = i_1;
|
||||
|
@ -304,7 +304,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -330,7 +330,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_394 : i32 = i_2;
|
||||
from_1 = x_394;
|
||||
f_1 = x_394;
|
||||
let x_395 : i32 = i_2;
|
||||
let x_396 : i32 = m;
|
||||
mid_1 = ((x_395 + x_396) - 1);
|
||||
|
@ -338,7 +338,7 @@ fn mergeSort_() {
|
|||
let x_400 : i32 = m;
|
||||
let x_404 : i32 = high;
|
||||
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;
|
||||
let x_407 : i32 = mid_1;
|
||||
param_1 = x_407;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %baseIndex "baseIndex"
|
||||
OpName %tree_0 "tree"
|
||||
OpName %param "param"
|
||||
|
@ -364,7 +364,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %53
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%219 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -385,15 +385,15 @@
|
|||
OpStore %currentNode %230
|
||||
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%232 = OpLoad %int %231
|
||||
%233 = OpLoad %int %target
|
||||
%233 = OpLoad %int %t
|
||||
%234 = OpIEqual %bool %232 %233
|
||||
OpSelectionMerge %235 None
|
||||
OpBranchConditional %234 %236 %235
|
||||
%236 = OpLabel
|
||||
%237 = OpLoad %int %target
|
||||
%237 = OpLoad %int %t
|
||||
OpReturnValue %237
|
||||
%235 = OpLabel
|
||||
%238 = OpLoad %int %target
|
||||
%238 = OpLoad %int %t
|
||||
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%240 = OpLoad %int %239
|
||||
%241 = OpSGreaterThan %bool %238 %240
|
||||
|
|
|
@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
|
|||
return;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t: ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_220 : i32;
|
||||
|
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_230 : BST = tree_1[x_228];
|
||||
currentNode = x_230;
|
||||
let x_232 : i32 = currentNode.data;
|
||||
let x_233 : i32 = *(target);
|
||||
let x_233 : i32 = *(t);
|
||||
if ((x_232 == x_233)) {
|
||||
let x_237 : i32 = *(target);
|
||||
let x_237 : i32 = *(t);
|
||||
return x_237;
|
||||
}
|
||||
let x_238 : i32 = *(target);
|
||||
let x_238 : i32 = *(t);
|
||||
let x_240 : i32 = currentNode.data;
|
||||
if ((x_238 > x_240)) {
|
||||
let x_246 : i32 = currentNode.rightIndex;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %baseIndex "baseIndex"
|
||||
OpName %tree_0 "tree"
|
||||
OpName %param "param"
|
||||
|
@ -380,7 +380,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %54
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%230 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -401,15 +401,15 @@
|
|||
OpStore %currentNode %241
|
||||
%242 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%243 = OpLoad %int %242
|
||||
%244 = OpLoad %int %target
|
||||
%244 = OpLoad %int %t
|
||||
%245 = OpIEqual %bool %243 %244
|
||||
OpSelectionMerge %246 None
|
||||
OpBranchConditional %245 %247 %246
|
||||
%247 = OpLabel
|
||||
%248 = OpLoad %int %target
|
||||
%248 = OpLoad %int %t
|
||||
OpReturnValue %248
|
||||
%246 = OpLabel
|
||||
%249 = OpLoad %int %target
|
||||
%249 = OpLoad %int %t
|
||||
%250 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%251 = OpLoad %int %250
|
||||
%252 = OpSGreaterThan %bool %249 %251
|
||||
|
|
|
@ -84,7 +84,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
|
|||
return;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t : ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_231 : i32;
|
||||
|
@ -99,12 +99,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_241 : BST = tree_1[x_239];
|
||||
currentNode = x_241;
|
||||
let x_243 : i32 = currentNode.data;
|
||||
let x_244 : i32 = *(target);
|
||||
let x_244 : i32 = *(t);
|
||||
if ((x_243 == x_244)) {
|
||||
let x_248 : i32 = *(target);
|
||||
let x_248 : i32 = *(t);
|
||||
return x_248;
|
||||
}
|
||||
let x_249 : i32 = *(target);
|
||||
let x_249 : i32 = *(t);
|
||||
let x_251 : i32 = currentNode.data;
|
||||
if ((x_249 > x_251)) {
|
||||
let x_257 : i32 = currentNode.rightIndex;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %baseIndex "baseIndex"
|
||||
OpName %tree_0 "tree"
|
||||
OpName %buf0 "buf0"
|
||||
|
@ -427,7 +427,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %55
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%260 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -448,15 +448,15 @@
|
|||
OpStore %currentNode %271
|
||||
%272 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%273 = OpLoad %int %272
|
||||
%274 = OpLoad %int %target
|
||||
%274 = OpLoad %int %t
|
||||
%275 = OpIEqual %bool %273 %274
|
||||
OpSelectionMerge %276 None
|
||||
OpBranchConditional %275 %277 %276
|
||||
%277 = OpLabel
|
||||
%278 = OpLoad %int %target
|
||||
%278 = OpLoad %int %t
|
||||
OpReturnValue %278
|
||||
%276 = OpLabel
|
||||
%279 = OpLoad %int %target
|
||||
%279 = OpLoad %int %t
|
||||
%280 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%281 = OpLoad %int %280
|
||||
%282 = OpSGreaterThan %bool %279 %281
|
||||
|
|
|
@ -112,7 +112,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
|
|||
return;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t : ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_261 : i32;
|
||||
|
@ -127,12 +127,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_271 : BST = tree_1[x_269];
|
||||
currentNode = x_271;
|
||||
let x_273 : i32 = currentNode.data;
|
||||
let x_274 : i32 = *(target);
|
||||
let x_274 : i32 = *(t);
|
||||
if ((x_273 == x_274)) {
|
||||
let x_278 : i32 = *(target);
|
||||
let x_278 : i32 = *(t);
|
||||
return x_278;
|
||||
}
|
||||
let x_279 : i32 = *(target);
|
||||
let x_279 : i32 = *(t);
|
||||
let x_281 : i32 = currentNode.data;
|
||||
if ((x_279 > x_281)) {
|
||||
let x_287 : i32 = currentNode.rightIndex;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %baseIndex "baseIndex"
|
||||
OpName %tree "tree"
|
||||
OpName %param "param"
|
||||
|
@ -364,7 +364,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %53
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%219 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -385,15 +385,15 @@
|
|||
OpStore %currentNode %230
|
||||
%231 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%232 = OpLoad %int %231
|
||||
%233 = OpLoad %int %target
|
||||
%233 = OpLoad %int %t
|
||||
%234 = OpIEqual %bool %232 %233
|
||||
OpSelectionMerge %235 None
|
||||
OpBranchConditional %234 %236 %235
|
||||
%236 = OpLabel
|
||||
%237 = OpLoad %int %target
|
||||
%237 = OpLoad %int %t
|
||||
OpReturnValue %237
|
||||
%235 = OpLabel
|
||||
%238 = OpLoad %int %target
|
||||
%238 = OpLoad %int %t
|
||||
%239 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%240 = OpLoad %int %239
|
||||
%241 = OpSGreaterThan %bool %238 %240
|
||||
|
|
|
@ -82,7 +82,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
|
|||
return;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t : ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_220 : i32;
|
||||
|
@ -97,12 +97,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_230 : BST = tree[x_228];
|
||||
currentNode = x_230;
|
||||
let x_232 : i32 = currentNode.data;
|
||||
let x_233 : i32 = *(target);
|
||||
let x_233 : i32 = *(t);
|
||||
if ((x_232 == x_233)) {
|
||||
let x_237 : i32 = *(target);
|
||||
let x_237 : i32 = *(t);
|
||||
return x_237;
|
||||
}
|
||||
let x_238 : i32 = *(target);
|
||||
let x_238 : i32 = *(t);
|
||||
let x_240 : i32 = currentNode.data;
|
||||
if ((x_238 > x_240)) {
|
||||
let x_246 : i32 = currentNode.rightIndex;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %QuicksortObject "QuicksortObject"
|
||||
OpMemberName %QuicksortObject 0 "numbers"
|
||||
OpName %obj "obj"
|
||||
|
@ -452,7 +452,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %60
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%269 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -473,15 +473,15 @@
|
|||
OpStore %currentNode %280
|
||||
%281 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%282 = OpLoad %int %281
|
||||
%283 = OpLoad %int %target
|
||||
%283 = OpLoad %int %t
|
||||
%284 = OpIEqual %bool %282 %283
|
||||
OpSelectionMerge %285 None
|
||||
OpBranchConditional %284 %286 %285
|
||||
%286 = OpLabel
|
||||
%287 = OpLoad %int %target
|
||||
%287 = OpLoad %int %t
|
||||
OpReturnValue %287
|
||||
%285 = OpLabel
|
||||
%288 = OpLoad %int %target
|
||||
%288 = OpLoad %int %t
|
||||
%289 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%290 = OpLoad %int %289
|
||||
%291 = OpSGreaterThan %bool %288 %290
|
||||
|
|
|
@ -102,7 +102,7 @@ fn identity_i1_(a : ptr<function, i32>) -> i32 {
|
|||
return x_206;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t : ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_270 : i32;
|
||||
|
@ -117,12 +117,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_280 : BST = tree[x_278];
|
||||
currentNode = x_280;
|
||||
let x_282 : i32 = currentNode.data;
|
||||
let x_283 : i32 = *(target);
|
||||
let x_283 : i32 = *(t);
|
||||
if ((x_282 == x_283)) {
|
||||
let x_287 : i32 = *(target);
|
||||
let x_287 : i32 = *(t);
|
||||
return x_287;
|
||||
}
|
||||
let x_288 : i32 = *(target);
|
||||
let x_288 : i32 = *(t);
|
||||
let x_290 : i32 = currentNode.data;
|
||||
if ((x_288 > x_290)) {
|
||||
let x_296 : i32 = currentNode.rightIndex;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %func_i1_i1_ "func(i1;i1;"
|
||||
|
@ -25,7 +25,7 @@
|
|||
OpName %high_0 "high"
|
||||
OpName %m_0 "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -364,7 +364,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %41
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%259 = OpLabel
|
||||
|
@ -372,9 +372,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%260 = OpLoad %int %from
|
||||
%260 = OpLoad %int %f
|
||||
OpStore %k %260
|
||||
%261 = OpLoad %int %from
|
||||
%261 = OpLoad %int %f
|
||||
OpStore %i %261
|
||||
%262 = OpLoad %int %mid
|
||||
%263 = OpIAdd %int %262 %int_1
|
||||
|
@ -458,7 +458,7 @@
|
|||
%302 = OpLabel
|
||||
OpBranch %300
|
||||
%301 = OpLabel
|
||||
%318 = OpLoad %int %from
|
||||
%318 = OpLoad %int %f
|
||||
OpStore %i_0 %318
|
||||
OpBranch %319
|
||||
%319 = OpLabel
|
||||
|
@ -539,7 +539,7 @@
|
|||
%high_0 = OpVariable %_ptr_Function_int Function
|
||||
%m_0 = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -573,7 +573,7 @@
|
|||
OpBranchConditional %378 %379 %373
|
||||
%379 = OpLabel
|
||||
%380 = OpLoad %int %i_1
|
||||
OpStore %from_0 %380
|
||||
OpStore %f_0 %380
|
||||
%381 = OpLoad %int %i_1
|
||||
%382 = OpLoad %int %m_0
|
||||
%383 = OpIAdd %int %381 %382
|
||||
|
@ -587,7 +587,7 @@
|
|||
%390 = OpLoad %int %high_0
|
||||
%391 = OpExtInst %int %1 SMin %389 %390
|
||||
OpStore %to_0 %391
|
||||
%392 = OpLoad %int %from_0
|
||||
%392 = OpLoad %int %f_0
|
||||
OpStore %param %392
|
||||
%393 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %393
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_260 : i32 = *(from);
|
||||
let x_260 : i32 = *(f);
|
||||
k = x_260;
|
||||
let x_261 : i32 = *(from);
|
||||
let x_261 : i32 = *(f);
|
||||
i = x_261;
|
||||
let x_262 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_311] = x_316;
|
||||
}
|
||||
let x_318 : i32 = *(from);
|
||||
let x_318 : i32 = *(f);
|
||||
i_1 = x_318;
|
||||
loop {
|
||||
let x_323 : i32 = i_1;
|
||||
|
@ -122,7 +122,7 @@ fn mergeSort_() {
|
|||
var high_1 : i32;
|
||||
var m_1 : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -150,7 +150,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_380 : i32 = i_2;
|
||||
from_1 = x_380;
|
||||
f_1 = x_380;
|
||||
let x_381 : i32 = i_2;
|
||||
let x_382 : i32 = m_1;
|
||||
mid_1 = ((x_381 + x_382) - 1);
|
||||
|
@ -158,7 +158,7 @@ fn mergeSort_() {
|
|||
let x_386 : i32 = m_1;
|
||||
let x_390 : i32 = high_1;
|
||||
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;
|
||||
let x_393 : i32 = mid_1;
|
||||
param_1 = x_393;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
OpSource ESSL 320
|
||||
OpName %main "main"
|
||||
OpName %merge_i1_i1_i1_ "merge(i1;i1;i1;"
|
||||
OpName %from "from"
|
||||
OpName %f "f"
|
||||
OpName %mid "mid"
|
||||
OpName %to "to"
|
||||
OpName %mergeSort_ "mergeSort("
|
||||
|
@ -20,7 +20,7 @@
|
|||
OpName %high "high"
|
||||
OpName %m "m"
|
||||
OpName %i_1 "i"
|
||||
OpName %from_0 "from"
|
||||
OpName %f_0 "f"
|
||||
OpName %mid_0 "mid"
|
||||
OpName %to_0 "to"
|
||||
OpName %param "param"
|
||||
|
@ -374,7 +374,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%merge_i1_i1_i1_ = OpFunction %void None %36
|
||||
%from = OpFunctionParameter %_ptr_Function_int
|
||||
%f = OpFunctionParameter %_ptr_Function_int
|
||||
%mid = OpFunctionParameter %_ptr_Function_int
|
||||
%to = OpFunctionParameter %_ptr_Function_int
|
||||
%261 = OpLabel
|
||||
|
@ -382,9 +382,9 @@
|
|||
%i = OpVariable %_ptr_Function_int Function
|
||||
%j = OpVariable %_ptr_Function_int Function
|
||||
%i_0 = OpVariable %_ptr_Function_int Function
|
||||
%262 = OpLoad %int %from
|
||||
%262 = OpLoad %int %f
|
||||
OpStore %k %262
|
||||
%263 = OpLoad %int %from
|
||||
%263 = OpLoad %int %f
|
||||
OpStore %i %263
|
||||
%264 = OpLoad %int %mid
|
||||
%265 = OpIAdd %int %264 %int_1
|
||||
|
@ -468,7 +468,7 @@
|
|||
%304 = OpLabel
|
||||
OpBranch %302
|
||||
%303 = OpLabel
|
||||
%320 = OpLoad %int %from
|
||||
%320 = OpLoad %int %f
|
||||
OpStore %i_0 %320
|
||||
OpBranch %321
|
||||
%321 = OpLabel
|
||||
|
@ -501,7 +501,7 @@
|
|||
%high = OpVariable %_ptr_Function_int Function
|
||||
%m = 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
|
||||
%to_0 = OpVariable %_ptr_Function_int Function
|
||||
%param = OpVariable %_ptr_Function_int Function
|
||||
|
@ -533,7 +533,7 @@
|
|||
OpBranchConditional %352 %353 %347
|
||||
%353 = OpLabel
|
||||
%354 = OpLoad %int %i_1
|
||||
OpStore %from_0 %354
|
||||
OpStore %f_0 %354
|
||||
%355 = OpLoad %int %i_1
|
||||
%356 = OpLoad %int %m
|
||||
%357 = OpIAdd %int %355 %356
|
||||
|
@ -547,7 +547,7 @@
|
|||
%364 = OpLoad %int %high
|
||||
%365 = OpExtInst %int %1 SMin %363 %364
|
||||
OpStore %to_0 %365
|
||||
%366 = OpLoad %int %from_0
|
||||
%366 = OpLoad %int %f_0
|
||||
OpStore %param %366
|
||||
%367 = OpLoad %int %mid_0
|
||||
OpStore %param_0 %367
|
||||
|
|
|
@ -12,14 +12,14 @@ var<private> gl_FragCoord : 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 i : i32;
|
||||
var j : i32;
|
||||
var i_1 : i32;
|
||||
let x_262 : i32 = *(from);
|
||||
let x_262 : i32 = *(f);
|
||||
k = x_262;
|
||||
let x_263 : i32 = *(from);
|
||||
let x_263 : i32 = *(f);
|
||||
i = x_263;
|
||||
let x_264 : i32 = *(mid);
|
||||
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];
|
||||
temp[x_313] = x_318;
|
||||
}
|
||||
let x_320 : i32 = *(from);
|
||||
let x_320 : i32 = *(f);
|
||||
i_1 = x_320;
|
||||
loop {
|
||||
let x_325 : i32 = i_1;
|
||||
|
@ -94,7 +94,7 @@ fn mergeSort_() {
|
|||
var high : i32;
|
||||
var m : i32;
|
||||
var i_2 : i32;
|
||||
var from_1 : i32;
|
||||
var f_1 : i32;
|
||||
var mid_1 : i32;
|
||||
var to_1 : i32;
|
||||
var param : i32;
|
||||
|
@ -120,7 +120,7 @@ fn mergeSort_() {
|
|||
break;
|
||||
}
|
||||
let x_354 : i32 = i_2;
|
||||
from_1 = x_354;
|
||||
f_1 = x_354;
|
||||
let x_355 : i32 = i_2;
|
||||
let x_356 : i32 = m;
|
||||
mid_1 = ((x_355 + x_356) - 1);
|
||||
|
@ -128,7 +128,7 @@ fn mergeSort_() {
|
|||
let x_360 : i32 = m;
|
||||
let x_364 : i32 = high;
|
||||
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;
|
||||
let x_367 : i32 = mid_1;
|
||||
param_1 = x_367;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
OpName %treeIndex "treeIndex"
|
||||
OpName %data_0 "data"
|
||||
OpName %search_i1_ "search(i1;"
|
||||
OpName %target "target"
|
||||
OpName %t "t"
|
||||
OpName %hueColor_f1_ "hueColor(f1;"
|
||||
OpName %angle "angle"
|
||||
OpName %makeFrame_f1_ "makeFrame(f1;"
|
||||
|
@ -76,7 +76,7 @@
|
|||
OpName %y "y"
|
||||
OpName %param_28 "param"
|
||||
OpName %sum "sum"
|
||||
OpName %target_0 "target"
|
||||
OpName %t_0 "t"
|
||||
OpName %result "result"
|
||||
OpName %param_29 "param"
|
||||
OpName %a "a"
|
||||
|
@ -89,7 +89,7 @@
|
|||
OpDecorate %treeIndex RelaxedPrecision
|
||||
OpDecorate %data_0 RelaxedPrecision
|
||||
OpDecorate %search_i1_ RelaxedPrecision
|
||||
OpDecorate %target RelaxedPrecision
|
||||
OpDecorate %t RelaxedPrecision
|
||||
OpDecorate %74 RelaxedPrecision
|
||||
OpDecorate %baseIndex RelaxedPrecision
|
||||
OpDecorate %75 RelaxedPrecision
|
||||
|
@ -187,7 +187,7 @@
|
|||
OpDecorate %155 RelaxedPrecision
|
||||
OpDecorate %gl_FragCoord BuiltIn FragCoord
|
||||
OpDecorate %sum RelaxedPrecision
|
||||
OpDecorate %target_0 RelaxedPrecision
|
||||
OpDecorate %t_0 RelaxedPrecision
|
||||
OpDecorate %156 RelaxedPrecision
|
||||
OpDecorate %result RelaxedPrecision
|
||||
OpDecorate %157 RelaxedPrecision
|
||||
|
@ -310,7 +310,7 @@
|
|||
%y = OpVariable %_ptr_Function_float Function
|
||||
%param_28 = OpVariable %_ptr_Function_float 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
|
||||
%param_29 = OpVariable %_ptr_Function_int Function
|
||||
%a = OpVariable %_ptr_Function_float Function
|
||||
|
@ -486,17 +486,17 @@
|
|||
%293 = OpFunctionCall %float %makeFrame_f1_ %param_28
|
||||
OpStore %y %293
|
||||
OpStore %sum %int_n100
|
||||
OpStore %target_0 %int_0
|
||||
OpStore %t_0 %int_0
|
||||
OpBranch %294
|
||||
%294 = OpLabel
|
||||
OpLoopMerge %295 %296 None
|
||||
OpBranch %297
|
||||
%297 = OpLabel
|
||||
%156 = OpLoad %int %target_0
|
||||
%156 = OpLoad %int %t_0
|
||||
%298 = OpSLessThan %bool %156 %int_20
|
||||
OpBranchConditional %298 %299 %295
|
||||
%299 = OpLabel
|
||||
%157 = OpLoad %int %target_0
|
||||
%157 = OpLoad %int %t_0
|
||||
OpStore %param_29 %157
|
||||
%158 = OpFunctionCall %int %search_i1_ %param_29
|
||||
OpStore %result %158
|
||||
|
@ -522,9 +522,9 @@
|
|||
%301 = OpLabel
|
||||
OpBranch %296
|
||||
%296 = OpLabel
|
||||
%163 = OpLoad %int %target_0
|
||||
%163 = OpLoad %int %t_0
|
||||
%164 = OpIAdd %int %163 %int_1
|
||||
OpStore %target_0 %164
|
||||
OpStore %t_0 %164
|
||||
OpBranch %294
|
||||
%295 = OpLabel
|
||||
%307 = OpLoad %float %x
|
||||
|
@ -700,7 +700,7 @@
|
|||
OpReturn
|
||||
OpFunctionEnd
|
||||
%search_i1_ = OpFunction %int None %173
|
||||
%target = OpFunctionParameter %_ptr_Function_int
|
||||
%t = OpFunctionParameter %_ptr_Function_int
|
||||
%386 = OpLabel
|
||||
%index = OpVariable %_ptr_Function_int Function
|
||||
%currentNode = OpVariable %_ptr_Function_BST Function
|
||||
|
@ -721,15 +721,15 @@
|
|||
OpStore %currentNode %395
|
||||
%396 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%101 = OpLoad %int %396
|
||||
%102 = OpLoad %int %target
|
||||
%102 = OpLoad %int %t
|
||||
%397 = OpIEqual %bool %101 %102
|
||||
OpSelectionMerge %398 None
|
||||
OpBranchConditional %397 %399 %398
|
||||
%399 = OpLabel
|
||||
%103 = OpLoad %int %target
|
||||
%103 = OpLoad %int %t
|
||||
OpReturnValue %103
|
||||
%398 = OpLabel
|
||||
%104 = OpLoad %int %target
|
||||
%104 = OpLoad %int %t
|
||||
%400 = OpAccessChain %_ptr_Function_int %currentNode %int_0
|
||||
%105 = OpLoad %int %400
|
||||
%401 = OpSGreaterThan %bool %104 %105
|
||||
|
|
|
@ -116,7 +116,7 @@ fn insert_i1_i1_(treeIndex : ptr<function, i32>, data_1 : ptr<function, i32>) {
|
|||
return;
|
||||
}
|
||||
|
||||
fn search_i1_(target : ptr<function, i32>) -> i32 {
|
||||
fn search_i1_(t : ptr<function, i32>) -> i32 {
|
||||
var index : i32;
|
||||
var currentNode : BST;
|
||||
var x_387 : i32;
|
||||
|
@ -131,12 +131,12 @@ fn search_i1_(target : ptr<function, i32>) -> i32 {
|
|||
let x_395 : BST = tree_1[x_100];
|
||||
currentNode = x_395;
|
||||
let x_101 : i32 = currentNode.data;
|
||||
let x_102 : i32 = *(target);
|
||||
let x_102 : i32 = *(t);
|
||||
if ((x_101 == x_102)) {
|
||||
let x_103 : i32 = *(target);
|
||||
let x_103 : i32 = *(t);
|
||||
return x_103;
|
||||
}
|
||||
let x_104 : i32 = *(target);
|
||||
let x_104 : i32 = *(t);
|
||||
let x_105 : i32 = currentNode.data;
|
||||
if ((x_104 > x_105)) {
|
||||
let x_106 : i32 = currentNode.rightIndex;
|
||||
|
@ -223,7 +223,7 @@ fn main_1() {
|
|||
var y : f32;
|
||||
var param_29 : f32;
|
||||
var sum : i32;
|
||||
var target_1 : i32;
|
||||
var t_1 : i32;
|
||||
var result : i32;
|
||||
var param_30 : i32;
|
||||
var a : f32;
|
||||
|
@ -354,14 +354,14 @@ fn main_1() {
|
|||
let x_293 : f32 = makeFrame_f1_(&(param_29));
|
||||
y = x_293;
|
||||
sum = -100;
|
||||
target_1 = 0;
|
||||
t_1 = 0;
|
||||
loop {
|
||||
let x_156 : i32 = target_1;
|
||||
let x_156 : i32 = t_1;
|
||||
if ((x_156 < 20)) {
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
let x_157 : i32 = target_1;
|
||||
let x_157 : i32 = t_1;
|
||||
param_30 = x_157;
|
||||
let x_158 : i32 = search_i1_(&(param_30));
|
||||
result = x_158;
|
||||
|
@ -383,8 +383,8 @@ fn main_1() {
|
|||
}
|
||||
|
||||
continuing {
|
||||
let x_163 : i32 = target_1;
|
||||
target_1 = (x_163 + 1);
|
||||
let x_163 : i32 = t_1;
|
||||
t_1 = (x_163 + 1);
|
||||
}
|
||||
}
|
||||
let x_307 : f32 = x;
|
||||
|
|
Loading…
Reference in New Issue