Lines Matching defs:function_definition
4567 std::string function_definition;
4571 function_definition = "void my_function(out ";
4572 function_definition += var_iterator->second.type;
4573 function_definition += " output_array[2][2][2][2]) {\n";
4574 function_definition += iterator_declaration;
4575 function_definition += iteration_loop_start;
4576 function_definition += " output_array[a][b][c][d] = " +
4578 function_definition +=
4580 function_definition += iteration_loop_end;
4581 function_definition += "}";
4601 execute_draw_test(tested_shader_type, function_definition, function_use, verification);
4605 execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
4623 * @param function_definition Definition used to prepare shader
4629 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
4633 prepare_compute_shader(tested_shader_type, function_definition, function_use, verification);
4717 * @param function_definition Definition used to prepare shader
4723 const std::string& function_definition,
4732 this->prepare_fragment_shader(tested_shader_type, function_definition, function_use, verification);
4734 this->prepare_geometry_shader(tested_shader_type, function_definition, function_use, verification);
4736 this->prepare_tess_ctrl_shader(tested_shader_type, function_definition, function_use, verification);
4738 this->prepare_tess_eval_shader(tested_shader_type, function_definition, function_use, verification);
4740 this->prepare_vertex_shader(tested_shader_type, function_definition, function_use, verification);
4766 this->prepare_fragment_shader(tested_shader_type, function_definition, function_use, verification);
4768 this->prepare_vertex_shader(tested_shader_type, function_definition, function_use, verification);
4863 * @param function_definition Definition used to prepare shader
4869 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
4880 compute_shader_source += function_definition;
4903 * @param function_definition Definition used to prepare shader
4909 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
4923 fragment_shader_source += function_definition;
4962 * @param function_definition Definition used to prepare shader
4968 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
5013 geometry_shader_source += function_definition;
5050 * @param function_definition Definition used to prepare shader
5056 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
5076 tess_ctrl_shader_source += function_definition;
5113 * @param function_definition Definition used to prepare shader
5119 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
5151 tess_eval_shader_source += function_definition;
5177 * @param function_definition Definition used to prepare shader
5183 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
5222 vertex_shader_source += function_definition;
5308 std::string function_definition;
5312 function_definition += multiplier_array;
5313 function_definition += "void my_function(inout ";
5314 function_definition += var_iterator->second.type;
5315 function_definition += " inout_array[2][2][2][2]) {\n"
5317 function_definition += iteration_loop_start;
5318 function_definition += " inout_array[a][b][c][d] *= " +
5320 function_definition += " i+= 1u;\n";
5321 function_definition += iteration_loop_end;
5322 function_definition += "}";
5345 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5349 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
5413 std::string function_definition;
5417 function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], ";
5418 function_definition += var_iterator->second.type + " y[2][2][2][2])\n";
5419 function_definition += "{\n";
5420 function_definition += " " + iteration_loop_start;
5421 function_definition +=
5423 function_definition += " " + iteration_loop_end;
5424 function_definition += "\n";
5425 function_definition += " " + iteration_loop_start;
5426 function_definition += " if(y[a][b][c][d]";
5429 function_definition += "[0][0]";
5430 function_definition += " != float";
5434 function_definition += "[0][0]";
5435 function_definition += " != double";
5439 function_definition += " != ";
5440 function_definition += var_iterator->second.type;
5442 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
5443 function_definition += " " + iteration_loop_end;
5444 function_definition += " return true;\n";
5445 function_definition += "}";
5466 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5470 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
5534 std::string function_definition;
5538 function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], ";
5539 function_definition += var_iterator->second.type + " y[2][2][2][2])\n";
5540 function_definition += "{\n";
5541 function_definition += " " + iteration_loop_start;
5542 function_definition +=
5545 function_definition += " " + iteration_loop_end;
5546 function_definition += "\n";
5547 function_definition += " " + iteration_loop_start;
5548 function_definition += " if(x[a][b][c][d]";
5551 function_definition += "[0][0]";
5552 function_definition += " != float";
5556 function_definition += "[0][0]";
5557 function_definition += " != double";
5561 function_definition += " != ";
5562 function_definition += var_iterator->second.type;
5564 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
5565 function_definition += " " + iteration_loop_end;
5566 function_definition += " return true;\n";
5567 function_definition += "}";
5588 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5592 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
5656 std::string function_definition;
5660 function_definition += "bool gfunc(out " + var_iterator->second.type + " x[2][2][2][2], ";
5661 function_definition += var_iterator->second.type + " y[2][2][2][2])\n";
5662 function_definition += "{\n";
5663 function_definition += " " + iteration_loop_start;
5664 function_definition +=
5667 function_definition += " " + iteration_loop_end;
5668 function_definition += "\n";
5669 function_definition += " " + iteration_loop_start;
5670 function_definition += " if(y[a][b][c][d]";
5673 function_definition += "[0][0]";
5674 function_definition += " != float";
5678 function_definition += "[0][0]";
5679 function_definition += " != double";
5683 function_definition += " != ";
5684 function_definition += var_iterator->second.type;
5686 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
5687 function_definition += " " + iteration_loop_end;
5688 function_definition += " return true;\n";
5689 function_definition += "}\n\n";
5710 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5714 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
5778 std::string function_definition;
5782 function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], ";
5783 function_definition += "out " + var_iterator->second.type + " y[2][2][2][2])\n";
5784 function_definition += "{\n";
5785 function_definition += " " + iteration_loop_start;
5786 function_definition +=
5789 function_definition += " " + iteration_loop_end;
5790 function_definition += "\n";
5791 function_definition += " " + iteration_loop_start;
5792 function_definition += " if(x[a][b][c][d]";
5795 function_definition += "[0][0]";
5796 function_definition += " != float";
5800 function_definition += "[0][0]";
5801 function_definition += " != double";
5805 function_definition += " != ";
5806 function_definition += var_iterator->second.type;
5808 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
5809 function_definition += " " + iteration_loop_end;
5810 function_definition += " return true;\n";
5811 function_definition += "}\n\n";
5832 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5836 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
5900 std::string function_definition;
5904 function_definition += "bool gfunc(inout " + var_iterator->second.type + " x[2][2][2][2], ";
5905 function_definition += var_iterator->second.type + " y[2][2][2][2])\n";
5906 function_definition += "{\n";
5907 function_definition += " " + iteration_loop_start;
5908 function_definition +=
5911 function_definition += " " + iteration_loop_end;
5912 function_definition += "\n";
5913 function_definition += " " + iteration_loop_start;
5914 function_definition += " if(y[a][b][c][d]";
5917 function_definition += "[0][0]";
5918 function_definition += " != float";
5922 function_definition += "[0][0]";
5923 function_definition += " != double";
5927 function_definition += " != ";
5928 function_definition += var_iterator->second.type;
5930 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
5931 function_definition += " " + iteration_loop_end;
5932 function_definition += " return true;\n";
5933 function_definition += "}\n\n";
5954 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
5958 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
6022 std::string function_definition;
6026 function_definition += "bool gfunc(" + var_iterator->second.type + " x[2][2][2][2], ";
6027 function_definition += "inout " + var_iterator->second.type + " y[2][2][2][2])\n";
6028 function_definition += "{\n";
6029 function_definition += " " + iteration_loop_start;
6030 function_definition +=
6033 function_definition += " " + iteration_loop_end;
6034 function_definition += "\n";
6035 function_definition += " " + iteration_loop_start;
6036 function_definition += " if(x[a][b][c][d]";
6039 function_definition += "[0][0]";
6040 function_definition += " != float";
6044 function_definition += "[0][0]";
6045 function_definition += " != double";
6049 function_definition += " != ";
6050 function_definition += var_iterator->second.type;
6052 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
6053 function_definition += " " + iteration_loop_end;
6054 function_definition += " return true;\n";
6055 function_definition += "}\n\n";
6076 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification);
6080 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification);
9064 std::string function_definition;
9068 function_definition += "// Subroutine types\n"
9070 function_definition += var_iterator->second.type;
9071 function_definition += " output_array[2][2][2][2]);\n\n"
9074 function_definition += var_iterator->second.type;
9075 function_definition += " output_array[2][2][2][2]) {\n";
9076 function_definition += iterator_declaration;
9077 function_definition += iteration_loop_start;
9078 function_definition += " output_array[a][b][c][d] = " +
9080 function_definition +=
9082 function_definition += iteration_loop_end;
9083 function_definition += "}\n\n";
9084 function_definition += "subroutine(out_routine_type) void new_routine(out ";
9085 function_definition += var_iterator->second.type;
9086 function_definition += " output_array[2][2][2][2]) {\n";
9087 function_definition += iterator_declaration;
9088 function_definition += iteration_loop_start;
9089 function_definition += " output_array[a][b][c][d] = " +
9091 function_definition +=
9093 function_definition += iteration_loop_end;
9094 function_definition += "}\n\n"
9116 execute_draw_test(tested_shader_type, function_definition, function_use, verification, false, true);
9117 execute_draw_test(tested_shader_type, function_definition, function_use, verification, true, false);
9121 execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false, true);
9122 execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true, false);
9140 * @param function_definition Definition used to prepare shader
9148 const std::string& function_definition,
9154 prepare_compute_shader(tested_shader_type, function_definition, function_use, verification);
9264 * @param function_definition Definition used to prepare shader
9272 const std::string& function_definition,
9282 this->prepare_fragment_shader(tested_shader_type, function_definition, function_use, verification);
9284 this->prepare_geometry_shader(tested_shader_type, function_definition, function_use, verification);
9286 this->prepare_tess_ctrl_shader(tested_shader_type, function_definition, function_use, verification);
9288 this->prepare_tess_eval_shader(tested_shader_type, function_definition, function_use, verification);
9290 this->prepare_vertex_shader(tested_shader_type, function_definition, function_use, verification);
9316 this->prepare_fragment_shader(tested_shader_type, function_definition, function_use, verification);
9318 this->prepare_vertex_shader(tested_shader_type, function_definition, function_use, verification);
9482 * @param function_definition Definition used to prepare shader
9488 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9499 compute_shader_source += function_definition;
9522 * @param function_definition Definition used to prepare shader
9528 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9542 fragment_shader_source += function_definition;
9581 * @param function_definition Definition used to prepare shader
9587 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9632 geometry_shader_source += function_definition;
9669 * @param function_definition Definition used to prepare shader
9675 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9695 tess_ctrl_shader_source += function_definition;
9732 * @param function_definition Definition used to prepare shader
9738 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9770 tess_eval_shader_source += function_definition;
9796 * @param function_definition Definition used to prepare shader
9802 typename TestCaseBase<API>::TestShaderType tested_shader_type, const std::string& function_definition,
9841 vertex_shader_source += function_definition;
9925 std::string function_definition;
9929 function_definition += multiplier_array;
9931 function_definition += "// Subroutine types\n"
9933 function_definition += var_iterator->second.type;
9934 function_definition += " inout_array[2][2][2][2]);\n\n"
9937 function_definition += var_iterator->second.type;
9938 function_definition += " inout_array[2][2][2][2]) {\n"
9940 function_definition += iteration_loop_start;
9941 function_definition += " inout_array[a][b][c][d] *= " +
9943 function_definition += " i+= 1u;\n";
9944 function_definition += iteration_loop_end;
9945 function_definition += "}\n\n"
9947 function_definition += var_iterator->second.type;
9948 function_definition += " inout_array[2][2][2][2]) {\n"
9950 function_definition += iteration_loop_start;
9951 function_definition += " inout_array[a][b][c][d] /= " +
9953 function_definition += " i+= 1u;\n";
9954 function_definition += iteration_loop_end;
9955 function_definition += "}\n\n"
9980 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, false,
9982 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, true,
9987 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false,
9989 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true,
10056 std::string function_definition;
10060 function_definition += "// Subroutine types\n"
10062 function_definition += var_iterator->second.type;
10063 function_definition += " x[2][2][2][2], ";
10064 function_definition += var_iterator->second.type;
10065 function_definition += " y[2][2][2][2]);\n\n"
10068 function_definition += var_iterator->second.type;
10069 function_definition += " x[2][2][2][2], ";
10070 function_definition += var_iterator->second.type;
10071 function_definition += " y[2][2][2][2])\n{\n";
10072 function_definition += iteration_loop_start;
10073 function_definition +=
10075 function_definition += iteration_loop_end;
10076 function_definition += "\n";
10077 function_definition += iteration_loop_start;
10078 function_definition += " if(y[a][b][c][d]";
10081 function_definition += "[0][0]";
10082 function_definition += " != float";
10086 function_definition += "[0][0]";
10087 function_definition += " != double";
10091 function_definition += " != ";
10092 function_definition += var_iterator->second.type;
10094 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10095 function_definition += iteration_loop_end;
10096 function_definition += "\n return true;\n";
10097 function_definition += "}\n\n"
10099 function_definition += var_iterator->second.type;
10100 function_definition += " x[2][2][2][2], ";
10101 function_definition += var_iterator->second.type;
10102 function_definition += " y[2][2][2][2])\n{\n";
10103 function_definition += iteration_loop_start;
10104 function_definition +=
10106 function_definition += iteration_loop_end;
10107 function_definition += "\n";
10108 function_definition += iteration_loop_start;
10109 function_definition += " if(x[a][b][c][d]";
10112 function_definition += "[0][0]";
10113 function_definition += " != float";
10117 function_definition += "[0][0]";
10118 function_definition += " != double";
10122 function_definition += " != ";
10123 function_definition += var_iterator->second.type;
10125 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10126 function_definition += iteration_loop_end;
10127 function_definition += "\n return true;\n";
10128 function_definition += "}\n\n"
10151 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, false,
10153 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, true,
10158 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false,
10160 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true,
10227 std::string function_definition;
10231 function_definition += "// Subroutine types\n"
10233 function_definition += var_iterator->second.type;
10234 function_definition += " x[2][2][2][2], inout ";
10235 function_definition += var_iterator->second.type;
10236 function_definition += " y[2][2][2][2]);\n\n"
10239 function_definition += var_iterator->second.type;
10240 function_definition += " x[2][2][2][2], inout ";
10241 function_definition += var_iterator->second.type;
10242 function_definition += " y[2][2][2][2])\n{\n";
10243 function_definition += iteration_loop_start;
10244 function_definition +=
10246 function_definition += iteration_loop_end;
10247 function_definition += "\n";
10248 function_definition += iteration_loop_start;
10249 function_definition += " if(y[a][b][c][d]";
10252 function_definition += "[0][0]";
10253 function_definition += " != float";
10257 function_definition += "[0][0]";
10258 function_definition += " != double";
10262 function_definition += " != ";
10263 function_definition += var_iterator->second.type;
10265 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10266 function_definition += iteration_loop_end;
10267 function_definition += "\n return true;\n";
10268 function_definition += "}\n\n"
10270 function_definition += var_iterator->second.type;
10271 function_definition += " x[2][2][2][2], inout ";
10272 function_definition += var_iterator->second.type;
10273 function_definition += " y[2][2][2][2])\n{\n";
10274 function_definition += iteration_loop_start;
10275 function_definition +=
10277 function_definition += iteration_loop_end;
10278 function_definition += "\n";
10279 function_definition += iteration_loop_start;
10280 function_definition += " if(x[a][b][c][d]";
10283 function_definition += "[0][0]";
10284 function_definition += " != float";
10288 function_definition += "[0][0]";
10289 function_definition += " != double";
10293 function_definition += " != ";
10294 function_definition += var_iterator->second.type;
10296 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10297 function_definition += iteration_loop_end;
10298 function_definition += "\n return true;\n";
10299 function_definition += "}\n\n"
10322 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, false,
10324 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, true,
10329 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false,
10331 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true,
10398 std::string function_definition;
10402 function_definition += "// Subroutine types\n"
10404 function_definition += var_iterator->second.type;
10405 function_definition += " x[2][2][2][2], ";
10406 function_definition += var_iterator->second.type;
10407 function_definition += " y[2][2][2][2]);\n\n"
10410 function_definition += var_iterator->second.type;
10411 function_definition += " x[2][2][2][2], ";
10412 function_definition += var_iterator->second.type;
10413 function_definition += " y[2][2][2][2])\n{\n";
10414 function_definition += iteration_loop_start;
10415 function_definition +=
10417 function_definition += iteration_loop_end;
10418 function_definition += "\n";
10419 function_definition += iteration_loop_start;
10420 function_definition += " if(y[a][b][c][d]";
10423 function_definition += "[0][0]";
10424 function_definition += " != float";
10428 function_definition += "[0][0]";
10429 function_definition += " != double";
10433 function_definition += " != ";
10434 function_definition += var_iterator->second.type;
10436 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10437 function_definition += iteration_loop_end;
10438 function_definition += "\n return true;\n";
10439 function_definition += "}\n\n"
10441 function_definition += var_iterator->second.type;
10442 function_definition += " x[2][2][2][2], ";
10443 function_definition += var_iterator->second.type;
10444 function_definition += " y[2][2][2][2])\n{\n";
10445 function_definition += iteration_loop_start;
10446 function_definition +=
10448 function_definition += iteration_loop_end;
10449 function_definition += "\n";
10450 function_definition += iteration_loop_start;
10451 function_definition += " if(y[a][b][c][d]";
10454 function_definition += "[0][0]";
10455 function_definition += " != float";
10459 function_definition += "[0][0]";
10460 function_definition += " != double";
10464 function_definition += " != ";
10465 function_definition += var_iterator->second.type;
10467 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10468 function_definition += iteration_loop_end;
10469 function_definition += "\n return true;\n";
10470 function_definition += "}\n\n"
10493 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, false,
10495 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, true,
10500 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false,
10502 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true,
10569 std::string function_definition;
10573 function_definition += "// Subroutine types\n"
10575 function_definition += var_iterator->second.type;
10576 function_definition += " x[2][2][2][2], out ";
10577 function_definition += var_iterator->second.type;
10578 function_definition += " y[2][2][2][2]);\n\n"
10581 function_definition += var_iterator->second.type;
10582 function_definition += " x[2][2][2][2], out ";
10583 function_definition += var_iterator->second.type;
10584 function_definition += " y[2][2][2][2])\n{\n";
10585 function_definition += iteration_loop_start;
10586 function_definition +=
10588 function_definition += iteration_loop_end;
10589 function_definition += "\n";
10590 function_definition += iteration_loop_start;
10591 function_definition += " if(x[a][b][c][d]";
10594 function_definition += "[0][0]";
10595 function_definition += " != float";
10599 function_definition += "[0][0]";
10600 function_definition += " != double";
10604 function_definition += " != ";
10605 function_definition += var_iterator->second.type;
10607 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10608 function_definition += iteration_loop_end;
10609 function_definition += "\n return true;\n";
10610 function_definition += "}\n\n"
10612 function_definition += var_iterator->second.type;
10613 function_definition += " x[2][2][2][2], out ";
10614 function_definition += var_iterator->second.type;
10615 function_definition += " y[2][2][2][2])\n{\n";
10616 function_definition += iteration_loop_start;
10617 function_definition +=
10619 function_definition += iteration_loop_end;
10620 function_definition += "\n";
10621 function_definition += iteration_loop_start;
10622 function_definition += " if(x[a][b][c][d]";
10625 function_definition += "[0][0]";
10626 function_definition += " != float";
10630 function_definition += "[0][0]";
10631 function_definition += " != double";
10635 function_definition += " != ";
10636 function_definition += var_iterator->second.type;
10638 function_definition += "(((a*8u)+(b*4u)+(c*2u)+d))) {return false;}\n";
10639 function_definition += iteration_loop_end;
10640 function_definition += "\n return true;\n";
10641 function_definition += "}\n\n"
10664 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, false,
10666 this->execute_draw_test(tested_shader_type, function_definition, function_use, verification, true,
10671 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, false,
10673 this->execute_dispatch_test(tested_shader_type, function_definition, function_use, verification, true,