X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=external%2Fopenglcts%2Fmodules%2Fgles31%2Fes31cArrayOfArraysTests.cpp;h=de5a07b7c96cb59101e9cff3c181888555800a3d;hb=2372b7f745577a34af8ab5585c8ca3bf575b4a4a;hp=7934f7da7d694903bae216d842daa81229bf966b;hpb=92af0d51778d2271368f806b68f006bb811fc3fe;p=platform%2Fupstream%2FVK-GL-CTS.git diff --git a/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp b/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp index 7934f7d..de5a07b 100644 --- a/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp +++ b/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp @@ -4466,11 +4466,7 @@ void InteractionFunctionCalls1::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -4481,15 +4477,7 @@ void InteractionFunctionCalls1::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -4516,23 +4504,23 @@ void InteractionFunctionCalls1::test_shader_compilation( function_definition = "void my_function(out "; function_definition += var_iterator->second.type; - function_definition += " output_array[2][2][2][2][2][2][2][2]) {\n"; + function_definition += " output_array[2][2][2][2]) {\n"; function_definition += iterator_declaration; function_definition += iteration_loop_start; - function_definition += " output_array[a][b][c][d][e][f][g][h] = " + + function_definition += " output_array[a][b][c][d] = " + var_iterator->second.variable_type_initializer1 + ";\n"; function_definition += " iterator += " + var_iterator->second.iterator_type + "(1);\n"; function_definition += iteration_loop_end; function_definition += "}"; - function_use = " " + var_iterator->second.type + " my_array[2][2][2][2][2][2][2][2];\n"; + function_use = " " + var_iterator->second.type + " my_array[2][2][2][2];\n"; function_use += " my_function(my_array);"; verification = iterator_declaration; verification += " float result = 1.0;\n"; verification += iteration_loop_start; - verification += " if (my_array[a][b][c][d][e][f][g][h] " + + verification += " if (my_array[a][b][c][d] " + var_iterator->second.specific_element + " != iterator)\n" " {\n" @@ -5213,11 +5201,7 @@ void InteractionFunctionCalls2::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5228,15 +5212,7 @@ void InteractionFunctionCalls2::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const std::string multiplier_array = "const int[] multiplier_array = int[]( 1, 2, 3, 4, 5, 6, 7, 8,\n" " 11, 12, 13, 14, 15, 16, 17, 18,\n" " 21, 22, 23, 24, 25, 26, 27, 28,\n" @@ -5270,10 +5246,10 @@ void InteractionFunctionCalls2::test_shader_compilation( function_definition += multiplier_array; function_definition += "void my_function(inout "; function_definition += var_iterator->second.type; - function_definition += " inout_array[2][2][2][2][2][2][2][2]) {\n" + function_definition += " inout_array[2][2][2][2]) {\n" " uint i = 0u;\n"; function_definition += iteration_loop_start; - function_definition += " inout_array[a][b][c][d][e][f][g][h] *= " + + function_definition += " inout_array[a][b][c][d] *= " + var_iterator->second.iterator_type + "(multiplier_array[i % 64u]);\n"; function_definition += " i+= 1u;\n"; function_definition += iteration_loop_end; @@ -5281,15 +5257,15 @@ void InteractionFunctionCalls2::test_shader_compilation( function_use += " float result = 1.0;\n"; function_use += " uint iterator = 0u;\n"; - function_use += " " + var_iterator->second.type + " my_array[2][2][2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " my_array[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " my_array[a][b][c][d][e][f][g][h] = " + + function_use += " my_array[a][b][c][d] = " + var_iterator->second.variable_type_initializer2 + ";\n"; function_use += iteration_loop_end; function_use += " my_function(my_array);"; verification += iteration_loop_start; - verification += " if (my_array[a][b][c][d][e][f][g][h] " + + verification += " if (my_array[a][b][c][d] " + var_iterator->second.specific_element + "!= " + var_iterator->second.iterator_type + "(multiplier_array[iterator % 64u]))\n" " {\n" @@ -5337,11 +5313,7 @@ void InteractionArgumentAliasing1::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5352,15 +5324,7 @@ void InteractionArgumentAliasing1::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -5378,22 +5342,22 @@ void InteractionArgumentAliasing1::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + " z[2][2][2][2][2][2][2][2];\n\n"; + std::string array_declaration = var_iterator->second.type + " z[2][2][2][2];\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " x[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + "(123);\n"; + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f][g][h]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -5409,16 +5373,16 @@ void InteractionArgumentAliasing1::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -5470,11 +5434,7 @@ void InteractionArgumentAliasing2::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5485,15 +5445,7 @@ void InteractionArgumentAliasing2::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -5511,23 +5463,23 @@ void InteractionArgumentAliasing2::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + " z[2][2][2][2][2][2][2][2];\n\n"; + std::string array_declaration = var_iterator->second.type + " z[2][2][2][2];\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " y[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f][g][h]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -5543,16 +5495,16 @@ void InteractionArgumentAliasing2::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -5604,11 +5556,7 @@ void InteractionArgumentAliasing3::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5619,15 +5567,7 @@ void InteractionArgumentAliasing3::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -5645,23 +5585,23 @@ void InteractionArgumentAliasing3::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + " z[2][2][2][2][2][2][2][2];\n\n"; + std::string array_declaration = var_iterator->second.type + " z[2][2][2][2];\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(out " + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(out " + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " x[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f][g][h]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -5677,16 +5617,16 @@ void InteractionArgumentAliasing3::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}\n\n"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -5738,11 +5678,7 @@ void InteractionArgumentAliasing4::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5753,15 +5689,7 @@ void InteractionArgumentAliasing4::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -5779,23 +5707,23 @@ void InteractionArgumentAliasing4::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + "[2][2][2][2][2][2][2][2] z;\n\n"; + std::string array_declaration = var_iterator->second.type + "[2][2][2][2] z;\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += "out " + var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += "out " + var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " y[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f][g][h]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -5811,16 +5739,16 @@ void InteractionArgumentAliasing4::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}\n\n"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -5872,11 +5800,7 @@ void InteractionArgumentAliasing5::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -5887,15 +5811,7 @@ void InteractionArgumentAliasing5::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -5913,23 +5829,23 @@ void InteractionArgumentAliasing5::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + "[2][2][2][2][2][2][2][2] z;\n\n"; + std::string array_declaration = var_iterator->second.type + "[2][2][2][2] z;\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(inout " + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(inout " + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " x[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f][g][h]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -5945,16 +5861,16 @@ void InteractionArgumentAliasing5::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}\n\n"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -6006,11 +5922,7 @@ void InteractionArgumentAliasing6::test_shader_compilation( VAR_TYPE_DOUBLE, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -6021,15 +5933,7 @@ void InteractionArgumentAliasing6::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -6047,23 +5951,23 @@ void InteractionArgumentAliasing6::test_shader_compilation( if (var_iterator != supported_variable_types_map.end()) { - std::string array_declaration = var_iterator->second.type + "[2][2][2][2][2][2][2][2] z;\n\n"; + std::string array_declaration = var_iterator->second.type + "[2][2][2][2] z;\n\n"; std::string function_definition; std::string function_use; std::string verification; - function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2][2][2][2][2], "; - function_definition += "inout " + var_iterator->second.type + " y[2][2][2][2][2][2][2][2])\n"; + function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], "; + function_definition += "inout " + var_iterator->second.type + " y[2][2][2][2])\n"; function_definition += "{\n"; function_definition += " " + iteration_loop_start; function_definition += - " y[a][b][c][d][e][f][g][h] = " + var_iterator->second.type + + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += " " + iteration_loop_end; function_definition += "\n"; function_definition += " " + iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f][g][h]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -6079,16 +5983,16 @@ void InteractionArgumentAliasing6::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += " " + iteration_loop_end; function_definition += " return true;\n"; function_definition += "}\n\n"; function_use += " " + array_declaration; function_use += " " + iteration_loop_start; - function_use += " z[a][b][c][d][e][f][g][h] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*128u)+(b*64u)+(c*32u)+(d*16u)+(e*8u)+(f*4u)+(g*2u)+h));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += " " + iteration_loop_end; verification += " float result = 0.0;\n"; @@ -9062,11 +8966,7 @@ void SubroutineFunctionCalls1::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -9077,15 +8977,7 @@ void SubroutineFunctionCalls1::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -9113,14 +9005,14 @@ void SubroutineFunctionCalls1::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine void out_routine_type(out "; function_definition += var_iterator->second.type; - function_definition += " output_array[2][2][2][2][2][2][2][2]);\n\n" + function_definition += " output_array[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(out_routine_type) void original_routine(out "; function_definition += var_iterator->second.type; - function_definition += " output_array[2][2][2][2][2][2][2][2]) {\n"; + function_definition += " output_array[2][2][2][2]) {\n"; function_definition += iterator_declaration; function_definition += iteration_loop_start; - function_definition += " output_array[a][b][c][d][e][f][g][h] = " + + function_definition += " output_array[a][b][c][d] = " + var_iterator->second.variable_type_initializer1 + ";\n"; function_definition += " iterator += " + var_iterator->second.iterator_type + "(1);\n"; @@ -9128,10 +9020,10 @@ void SubroutineFunctionCalls1::test_shader_compilation( function_definition += "}\n\n"; function_definition += "subroutine(out_routine_type) void new_routine(out "; function_definition += var_iterator->second.type; - function_definition += " output_array[2][2][2][2][2][2][2][2]) {\n"; + function_definition += " output_array[2][2][2][2]) {\n"; function_definition += iterator_declaration; function_definition += iteration_loop_start; - function_definition += " output_array[a][b][c][d][e][f][g][h] = " + + function_definition += " output_array[a][b][c][d] = " + var_iterator->second.variable_type_initializer1 + ";\n"; function_definition += " iterator -= " + var_iterator->second.iterator_type + "(1);\n"; @@ -9140,13 +9032,13 @@ void SubroutineFunctionCalls1::test_shader_compilation( "// Subroutine uniform\n" "subroutine uniform out_routine_type routine;\n"; - function_use = " " + var_iterator->second.type + " my_array[2][2][2][2][2][2][2][2];\n"; + function_use = " " + var_iterator->second.type + " my_array[2][2][2][2];\n"; function_use += " routine(my_array);"; verification = iterator_declaration; verification += " float result = 1.0;\n"; verification += iteration_loop_start; - verification += " if (my_array[a][b][c][d][e][f][g][h] " + + verification += " if (my_array[a][b][c][d] " + var_iterator->second.specific_element + " != iterator)\n" " {\n" @@ -9289,6 +9181,13 @@ void SubroutineFunctionCalls1::execute_dispatch_test(typename TestCaseBase< } /* Delete generated objects. */ + gl.useProgram(0); + gl.bindTexture(GL_TEXTURE_2D, 0); + gl.bindFramebuffer(GL_FRAMEBUFFER, 0); + + gl.deleteProgram(this->program_object_id); + this->program_object_id = 0; + gl.deleteTextures(1, &texture_object_id); gl.deleteFramebuffers(1, &framebuffer_object_id); GLU_EXPECT_NO_ERROR(gl.getError(), "An error ocurred while deleting generated objects."); @@ -9922,11 +9821,7 @@ void SubroutineFunctionCalls2::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -9937,15 +9832,7 @@ void SubroutineFunctionCalls2::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n" - " for (uint g = 0u; g < 2u; g++)\n" - " {\n" - " for (uint h = 0u; h < 2u; h++)\n" - " {\n"; + " {\n"; const std::string multiplier_array = "const int[] multiplier_array = int[]( 1, 2, 3, 4, 5, 6, 7, 8,\n" " 11, 12, 13, 14, 15, 16, 17, 18,\n" " 21, 22, 23, 24, 25, 26, 27, 28,\n" @@ -9981,24 +9868,24 @@ void SubroutineFunctionCalls2::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine void inout_routine_type(inout "; function_definition += var_iterator->second.type; - function_definition += " inout_array[2][2][2][2][2][2][2][2]);\n\n" + function_definition += " inout_array[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(inout_routine_type) void original_routine(inout "; function_definition += var_iterator->second.type; - function_definition += " inout_array[2][2][2][2][2][2][2][2]) {\n" + function_definition += " inout_array[2][2][2][2]) {\n" " uint i = 0u;\n"; function_definition += iteration_loop_start; - function_definition += " inout_array[a][b][c][d][e][f][g][h] *= " + + function_definition += " inout_array[a][b][c][d] *= " + var_iterator->second.iterator_type + "(multiplier_array[i % 64u]);\n"; function_definition += " i+= 1u;\n"; function_definition += iteration_loop_end; function_definition += "}\n\n" "subroutine(inout_routine_type) void new_routine(inout "; function_definition += var_iterator->second.type; - function_definition += " inout_array[2][2][2][2][2][2][2][2]) {\n" + function_definition += " inout_array[2][2][2][2]) {\n" " uint i = 0u;\n"; function_definition += iteration_loop_start; - function_definition += " inout_array[a][b][c][d][e][f][g][h] /= " + + function_definition += " inout_array[a][b][c][d] /= " + var_iterator->second.iterator_type + "(multiplier_array[i % 64u]);\n"; function_definition += " i+= 1u;\n"; function_definition += iteration_loop_end; @@ -10008,15 +9895,15 @@ void SubroutineFunctionCalls2::test_shader_compilation( function_use += " float result = 1.0;\n"; function_use += " uint iterator = 0u;\n"; - function_use += " " + var_iterator->second.type + " my_array[2][2][2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " my_array[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " my_array[a][b][c][d][e][f][g][h] = " + + function_use += " my_array[a][b][c][d] = " + var_iterator->second.variable_type_initializer2 + ";\n"; function_use += iteration_loop_end; function_use += " routine(my_array);"; verification += iteration_loop_start; - verification += " if (my_array[a][b][c][d][e][f][g][h] " + + verification += " if (my_array[a][b][c][d] " + var_iterator->second.specific_element + "!= " + var_iterator->second.iterator_type + "(multiplier_array[iterator % 64u]))\n" " {\n" @@ -10074,9 +9961,7 @@ void SubroutineArgumentAliasing1::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -10087,11 +9972,7 @@ void SubroutineArgumentAliasing1::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -10116,22 +9997,22 @@ void SubroutineArgumentAliasing1::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine bool in_routine_type("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2]);\n\n" + function_definition += " y[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(in_routine_type) bool original_routine("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " x[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10147,22 +10028,22 @@ void SubroutineArgumentAliasing1::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "subroutine(in_routine_type) bool new_routine("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " y[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10178,18 +10059,18 @@ void SubroutineArgumentAliasing1::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "// Subroutine uniform\n" "subroutine uniform in_routine_type routine;\n"; - function_use += " " + var_iterator->second.type + " z[2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " z[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " z[a][b][c][d][e][f] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += iteration_loop_end; verification = " float result = 0.0;\n" @@ -10251,9 +10132,7 @@ void SubroutineArgumentAliasing2::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -10264,11 +10143,7 @@ void SubroutineArgumentAliasing2::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -10293,22 +10168,22 @@ void SubroutineArgumentAliasing2::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine bool inout_routine_type(inout "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], inout "; + function_definition += " x[2][2][2][2], inout "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2]);\n\n" + function_definition += " y[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(inout_routine_type) bool original_routine(inout "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], inout "; + function_definition += " x[2][2][2][2], inout "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " x[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10324,22 +10199,22 @@ void SubroutineArgumentAliasing2::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "subroutine(inout_routine_type) bool new_routine(inout "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], inout "; + function_definition += " x[2][2][2][2], inout "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " y[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10355,18 +10230,18 @@ void SubroutineArgumentAliasing2::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "// Subroutine uniform\n" "subroutine uniform inout_routine_type routine;\n"; - function_use += " " + var_iterator->second.type + " z[2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " z[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " z[a][b][c][d][e][f] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += iteration_loop_end; verification = " float result = 0.0;\n" @@ -10428,9 +10303,7 @@ void SubroutineArgumentAliasing3::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -10441,11 +10314,7 @@ void SubroutineArgumentAliasing3::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -10470,22 +10339,22 @@ void SubroutineArgumentAliasing3::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine bool out_routine_type(out "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2]);\n\n" + function_definition += " y[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(out_routine_type) bool original_routine(out "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " x[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " x[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10501,22 +10370,22 @@ void SubroutineArgumentAliasing3::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "subroutine(out_routine_type) bool new_routine(out "; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], "; + function_definition += " x[2][2][2][2], "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " x[a][b][c][d][e][f] = " + var_iterator->second.type + "(321);\n"; + " x[a][b][c][d] = " + var_iterator->second.type + "(321);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(y[a][b][c][d][e][f]"; + function_definition += " if(y[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10532,18 +10401,18 @@ void SubroutineArgumentAliasing3::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "// Subroutine uniform\n" "subroutine uniform out_routine_type routine;\n"; - function_use += " " + var_iterator->second.type + " z[2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " z[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " z[a][b][c][d][e][f] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += iteration_loop_end; verification = " float result = 0.0;\n" @@ -10605,9 +10474,7 @@ void SubroutineArgumentAliasing4::test_shader_compilation( VAR_TYPE_DMAT2, VAR_TYPE_DMAT3, VAR_TYPE_DMAT4 }; static const size_t num_var_types_gl = sizeof(var_types_set_gl) / sizeof(var_types_set_gl[0]); - const std::string iteration_loop_end = " }\n" - " }\n" - " }\n" + const std::string iteration_loop_end = " }\n" " }\n" " }\n" " }\n"; @@ -10618,11 +10485,7 @@ void SubroutineArgumentAliasing4::test_shader_compilation( " for (uint c = 0u; c < 2u; c++)\n" " {\n" " for (uint d = 0u; d < 2u; d++)\n" - " {\n" - " for (uint e = 0u; e < 2u; e++)\n" - " {\n" - " for (uint f = 0u; f < 2u; f++)\n" - " {\n"; + " {\n"; const glcts::test_var_type* var_types_set = var_types_set_es; size_t num_var_types = num_var_types_es; const bool test_compute = (TestCaseBase::COMPUTE_SHADER_TYPE == tested_shader_type); @@ -10647,22 +10510,22 @@ void SubroutineArgumentAliasing4::test_shader_compilation( function_definition += "// Subroutine types\n" "subroutine bool out_routine_type("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], out "; + function_definition += " x[2][2][2][2], out "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2]);\n\n" + function_definition += " y[2][2][2][2]);\n\n" "// Subroutine definitions\n" "subroutine(out_routine_type) bool original_routine("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], out "; + function_definition += " x[2][2][2][2], out "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " y[a][b][c][d][e][f] = " + var_iterator->second.type + "(123);\n"; + " y[a][b][c][d] = " + var_iterator->second.type + "(123);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10678,22 +10541,22 @@ void SubroutineArgumentAliasing4::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "subroutine(out_routine_type) bool new_routine("; function_definition += var_iterator->second.type; - function_definition += " x[2][2][2][2][2][2], out "; + function_definition += " x[2][2][2][2], out "; function_definition += var_iterator->second.type; - function_definition += " y[2][2][2][2][2][2])\n{\n"; + function_definition += " y[2][2][2][2])\n{\n"; function_definition += iteration_loop_start; function_definition += - " y[a][b][c][d][e][f] = " + var_iterator->second.type + "(321);\n"; + " y[a][b][c][d] = " + var_iterator->second.type + "(321);\n"; function_definition += iteration_loop_end; function_definition += "\n"; function_definition += iteration_loop_start; - function_definition += " if(x[a][b][c][d][e][f]"; + function_definition += " if(x[a][b][c][d]"; if (var_iterator->second.type == "mat4") // mat4 comparison { function_definition += "[0][0]"; @@ -10709,18 +10572,18 @@ void SubroutineArgumentAliasing4::test_shader_compilation( function_definition += " != "; function_definition += var_iterator->second.type; } - function_definition += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f))) {return false;}\n"; + function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n"; function_definition += iteration_loop_end; function_definition += "\n return true;\n"; function_definition += "}\n\n" "// Subroutine uniform\n" "subroutine uniform out_routine_type routine;\n"; - function_use += " " + var_iterator->second.type + " z[2][2][2][2][2][2];\n"; + function_use += " " + var_iterator->second.type + " z[2][2][2][2];\n"; function_use += iteration_loop_start; - function_use += " z[a][b][c][d][e][f] = "; + function_use += " z[a][b][c][d] = "; function_use += var_iterator->second.type; - function_use += "(((a*32u)+(b*16u)+(c*8u)+(d*4u)+(e*2u)+f));\n"; + function_use += "(((a*8u)+(b*4u)+(c*2u)+d));\n"; function_use += iteration_loop_end; verification = " float result = 0.0;\n"