Lines Matching refs:iteration
1167 * a) In the first iteration, (GL_MAX_VERTEX_ATTRIBS / 2) double
1183 * b) In the second iteration, (GL_MAX_VERTEX_ATTRIBS / 4) dvec3
1205 * c) In the third iteration, (GL_MAX_VERTEX_ATTRIBS / 2) dmat2 attributes
1217 * d) In the fourth iteration, (GL_MAX_VERTEX_ATTRIBS / 8) dmat3x2 and
1225 * e) In the fifth iteration, (GL_MAX_VERTEX_ATTRIBS / 8) dmat2x3 and
1233 * f) In the sixth iteration, (GL_MAX_VERTEX_ATTRIBS / 12) dmat3 and
1241 * g) In the seventh iteration, (GL_MAX_VERTEX_ATTRIBS / 16) dmat4x3 and
1362 void configureAttribute(_iteration iteration, const attributeConfiguration& configuration, GLint n_type,
1365 void getProgramDetails(_iteration iteration, bool use_arrays, bool use_locations, bool use_vertex_attrib_divisor,
1368 void getVertexArrayConfiguration(_iteration iteration, attributeConfiguration& out_configuration) const;
1370 void logTestIterationAndConfig(_iteration iteration, _attributeType attribute_type, bool use_arrays,
1373 void prepareProgram(_iteration iteration, bool use_arrays, bool use_locations, bool use_vertex_attrib_divisor,
1376 void prepareVertexArray(_iteration iteration, _attributeType attribute_type, GLuint program_id,
1379 void prepareVertexArrayBuffer(_iteration iteration);
1381 void setAttributes(_iteration iteration, const attributeConfiguration& configuration, GLuint vertex,
1404 bool testIteration(_iteration iteration);
1406 bool testProgram(_iteration iteration, GLuint program_id, bool use_arrays) const;
1408 bool testProgramWithConstant(_iteration iteration, GLuint program_id, bool use_arrays) const;
1410 bool testProgramWithDivisor(_iteration iteration, GLuint program_id, bool use_arrays) const;
1648 * @param iteration Iteration id
1655 void LimitTest::configureAttribute(_iteration iteration, const attributeConfiguration& configuration, GLint n_type,
1718 switch (iteration)
1808 * @param iteration Iteration id
1815 void LimitTest::getProgramDetails(_iteration iteration, bool use_arrays, bool use_locations,
1828 getVertexArrayConfiguration(iteration, configuration);
1924 /* Values for type constructor, depend on iteration */
1925 switch (iteration)
2020 * @param iteration Iteration id
2023 void LimitTest::getVertexArrayConfiguration(_iteration iteration, attributeConfiguration& out_configuration) const
2041 switch (iteration)
2178 /** Logs iteration and configuration of test
2180 * @param iteration Iteration id
2185 void LimitTest::logTestIterationAndConfig(_iteration iteration, _attributeType attribute_type, bool use_arrays,
2190 switch (iteration)
2267 * @param iteration Iteration id
2273 void LimitTest::prepareProgram(_iteration iteration, bool use_arrays, bool use_locations,
2291 getProgramDetails(iteration, use_arrays, use_locations, use_vertex_attrib_divisor, varying_name,
2308 * @param iteration Iteration id
2313 void LimitTest::prepareVertexArray(_iteration iteration, _attributeType attribute_type, GLuint program_id,
2321 getVertexArrayConfiguration(iteration, configuration);
2335 configureAttribute(iteration, configuration, n_type, program_id, use_arrays, (CONSTANT != attribute_type));
2339 /** Prepare vertex buffer data for given iteration
2341 * @param iteration Iteration id
2343 void LimitTest::prepareVertexArrayBuffer(_iteration iteration)
2348 getVertexArrayConfiguration(iteration, configuration);
2357 setAttributes(iteration, configuration, vertex, buffer_data);
2366 * @param iteration Iteration id
2371 void LimitTest::setAttributes(_iteration iteration, const attributeConfiguration& configuration, GLuint vertex,
2378 switch (iteration)
2405 /** Set attributes of given <n_type> for <vertex>, as described in "iteration a".
2427 /** Set scalar double attributes of given <n_type> for <vertex>, as described in "iteration a".
2454 /** Set dvec2 attributes of given <n_type> for <vertex>, as described in "iteration a".
2487 /** Set attributes of given <n_type> for <vertex>, as described in "iteration b".
2528 /** Set attributes of given <n_type> for <vertex>, as described in "iteration c".
2716 /** Tests specified "iteration"
2718 * @param iteration Iteration id
2722 bool LimitTest::testIteration(_iteration iteration)
2737 prepareProgram(iteration, false, false, false, _no_array__no_location______regular);
2738 prepareProgram(iteration, true, false, false, use_array__no_location______regular);
2739 prepareProgram(iteration, false, true, false, _no_array_use_location______regular);
2740 prepareProgram(iteration, true, true, false, use_array_use_location______regular);
2741 prepareProgram(iteration, false, false, true, _no_array__no_location_per_instance);
2742 prepareProgram(iteration, true, false, true, use_array__no_location_per_instance);
2743 prepareProgram(iteration, false, true, true, _no_array_use_location_per_instance);
2744 prepareProgram(iteration, true, true, true, use_array_use_location_per_instance);
2752 /* Prepare vertex array buffer for iteration */
2753 prepareVertexArrayBuffer(iteration);
2756 if (false == testProgram(iteration, _no_array__no_location______regular.m_program_id, false))
2758 logTestIterationAndConfig(iteration, REGULAR, false /* use_arrays */, false /* use_locations */);
2763 if (false == testProgram(iteration, use_array__no_location______regular.m_program_id, true))
2765 logTestIterationAndConfig(iteration, REGULAR, true /* use_arrays */, false /* use_locations */);
2770 if (false == testProgram(iteration, _no_array_use_location______regular.m_program_id, false))
2772 logTestIterationAndConfig(iteration, REGULAR, false /* use_arrays */, true /* use_locations */);
2777 if (false == testProgram(iteration, use_array_use_location______regular.m_program_id, true))
2779 logTestIterationAndConfig(iteration, REGULAR, true /* use_arrays */, true /* use_locations */);
2785 if (false == testProgramWithConstant(iteration, _no_array__no_location_per_instance.m_program_id, false))
2787 logTestIterationAndConfig(iteration, CONSTANT, false /* use_arrays */, false /* use_locations */);
2792 if (false == testProgramWithConstant(iteration, use_array__no_location_per_instance.m_program_id, true))
2794 logTestIterationAndConfig(iteration, CONSTANT, true /* use_arrays */, false /* use_locations */);
2799 if (false == testProgramWithConstant(iteration, _no_array_use_location_per_instance.m_program_id, false))
2801 logTestIterationAndConfig(iteration, CONSTANT, false /* use_arrays */, true /* use_locations */);
2806 if (false == testProgramWithConstant(iteration, use_array_use_location_per_instance.m_program_id, true))
2808 logTestIterationAndConfig(iteration, CONSTANT, true /* use_arrays */, true /* use_locations */);
2814 if (false == testProgramWithDivisor(iteration, _no_array__no_location_per_instance.m_program_id, false))
2816 logTestIterationAndConfig(iteration, PER_INSTANCE, false /* use_arrays */, false /* use_locations */);
2821 if (false == testProgramWithDivisor(iteration, use_array__no_location_per_instance.m_program_id, true))
2823 logTestIterationAndConfig(iteration, PER_INSTANCE, true /* use_arrays */, false /* use_locations */);
2828 if (false == testProgramWithDivisor(iteration, _no_array_use_location_per_instance.m_program_id, false))
2830 logTestIterationAndConfig(iteration, PER_INSTANCE, false /* use_arrays */, true /* use_locations */);
2835 if (false == testProgramWithDivisor(iteration, use_array_use_location_per_instance.m_program_id, true))
2837 logTestIterationAndConfig(iteration, PER_INSTANCE, true /* use_arrays */, true /* use_locations */);
2848 * @param iteration Iteration id
2854 bool LimitTest::testProgram(_iteration iteration, GLuint program_id, bool use_arrays) const
2861 prepareVertexArray(iteration, REGULAR, program_id, use_arrays);
2888 * @param iteration Iteration id
2894 bool LimitTest::testProgramWithConstant(_iteration iteration, GLuint program_id, bool use_arrays) const
2901 prepareVertexArray(iteration, CONSTANT, program_id, use_arrays);
2918 * @param iteration Iteration id
2924 bool LimitTest::testProgramWithDivisor(_iteration iteration, GLuint program_id, bool use_arrays) const
2931 prepareVertexArray(iteration, PER_INSTANCE, program_id, use_arrays);
3325 /** Executes a single test iteration.
3334 * @return true if the test iteration passed, false otherwise.