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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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"
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";
" 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"
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;
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"
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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";
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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";
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";
"// 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"
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";
" 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"
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;
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"
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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]";
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"
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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]";
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"
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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]";
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"
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";
" 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<API>::COMPUTE_SHADER_TYPE == tested_shader_type);
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]";
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]";
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"