1617a3babSopenharmony_ci#version 450 2617a3babSopenharmony_ci 3617a3babSopenharmony_ciout vec4 outf4; 4617a3babSopenharmony_ciin flat ivec4 ini4; 5617a3babSopenharmony_ciin float inf; 6617a3babSopenharmony_ci 7617a3babSopenharmony_cifloat Test1(int bound) 8617a3babSopenharmony_ci{ 9617a3babSopenharmony_ci float r = 0; 10617a3babSopenharmony_ci for (int x=0; x<bound; ++x) 11617a3babSopenharmony_ci r += 0.5; 12617a3babSopenharmony_ci r += 0.2; 13617a3babSopenharmony_ci return r; 14617a3babSopenharmony_ci} 15617a3babSopenharmony_ci 16617a3babSopenharmony_cifloat Test2(int bound) 17617a3babSopenharmony_ci{ 18617a3babSopenharmony_ci if (bound > 2) { 19617a3babSopenharmony_ci return Test1(bound * 2); 20617a3babSopenharmony_ci } else 21617a3babSopenharmony_ci return float(bound * 4 + 22617a3babSopenharmony_ci ini4.y * ini4.z + 23617a3babSopenharmony_ci ini4.x); 24617a3babSopenharmony_ci} 25617a3babSopenharmony_ci 26617a3babSopenharmony_civoid main() 27617a3babSopenharmony_ci{ 28617a3babSopenharmony_ci outf4 = vec4(Test1(int(inf)) + 29617a3babSopenharmony_ci Test2(int(inf))); 30617a3babSopenharmony_ci} 31