Lines Matching refs:function_object
12910 const functionObject& function_object) const;
12913 const functionObject& function_object) const;
12916 const functionObject& function_object) const;
12919 const functionObject& function_object) const;
12928 void prepareArgument(const functionObject& function_object, glw::GLuint vertex, glw::GLubyte* buffer);
12930 void prepareComponents(const functionObject& function_object, glw::GLuint vertex, glw::GLuint argument,
12933 void prepareProgram(const functionObject& function_object, Utils::programInfo& program_info);
12935 void prepareTestData(const functionObject& function_object);
12936 void prepareVertexShaderCode(const functionObject& function_object);
12940 void testBegin(const functionObject& function_object, glw::GLuint program_id, glw::GLuint vertex);
12944 bool isResultEdgeCase(const functionObject& function_object, glw::GLuint vertex,
12948 bool verifyResults(const functionObject& function_object, glw::GLuint vertex);
14484 * @param function_object Function object
14489 glw::GLuint argument, const functionObject& function_object) const
14491 const Utils::_variable_type argument_type = function_object.getArgumentType(argument);
14525 * @param function_object Function object
14530 glw::GLuint argument, const functionObject& function_object) const
14532 const Utils::_variable_type argument_type = function_object.getArgumentType(argument);
14555 * @param function_object Function object
14560 glw::GLuint argument, const functionObject& function_object) const
14562 const Utils::_variable_type argument_type = function_object.getArgumentType(argument);
14585 * @param function_object Function object
14590 glw::GLuint argument, const functionObject& function_object) const
14592 const Utils::_variable_type argument_type = function_object.getArgumentType(argument);
14777 * @param function_object Function object
14781 void BuiltinFunctionTest::prepareArgument(const functionObject& function_object, glw::GLuint vertex,
14784 const glw::GLuint n_arguments = function_object.getArgumentCount();
14788 const glw::GLuint offset = function_object.getArgumentOffset(argument);
14790 prepareComponents(function_object, vertex, argument, buffer + offset);
14794 /** Prepare components for given <function_object>, <vertex> and <argument>
14796 * @param function_object Function object
14801 void BuiltinFunctionTest::prepareComponents(const functionObject& function_object, glw::GLuint vertex,
14808 const Utils::_variable_type base_arg_type = Utils::getBaseVariableType(function_object.getArgumentType(argument));
14810 const glw::GLuint n_arguments = function_object.getArgumentCount();
14811 const glw::GLuint n_components = function_object.getArgumentComponents(argument);
14845 switch (function_object.getFunctionEnum())
14887 switch (function_object.getFunctionEnum())
14939 * @param function_object Function object
14942 void BuiltinFunctionTest::prepareProgram(const functionObject& function_object, Utils::programInfo& out_program_info)
14944 const glw::GLuint n_varying_names = function_object.getResultCount();
14947 prepareVertexShaderCode(function_object);
14955 * @param function_object Function object
14957 void BuiltinFunctionTest::prepareTestData(const functionObject& function_object)
14959 const glw::GLuint result_stride = function_object.getResultStride();
14961 const glw::GLuint argument_stride = function_object.getArgumentStride();
14977 prepareArgument(function_object, vertex, argument_dst);
14978 function_object.call(result_dst, argument_dst);
14984 * @param function_object Function object
14986 void BuiltinFunctionTest::prepareVertexShaderCode(const functionObject& function_object)
15018 const glw::GLuint n_arguments = function_object.getArgumentCount();
15019 const glw::GLuint n_results = function_object.getResultCount();
15021 std::string result_type = Utils::getVariableTypeString(function_object.getResultType(0));
15029 Utils::_variable_type argument_type = function_object.getArgumentType(argument);
15047 Utils::_variable_type variable_type = function_object.getResultType(result);
15069 Utils::replaceToken(function_name_token, search_position, function_object.getName(), string);
15125 de::UniquePtr<functionObject> function_object(getFunctionObject(function, type));
15127 prepareProgram(*function_object, program);
15128 prepareTestData(*function_object);
15136 testBegin(*function_object, program.m_program_object_id, vertex);
15147 if (false == verifyResults(*function_object, vertex))
15158 * @param function_object Function object
15162 void BuiltinFunctionTest::testBegin(const functionObject& function_object, glw::GLuint program_id, glw::GLuint vertex)
15164 const glw::GLuint arguments_stride = function_object.getArgumentStride();
15166 const glw::GLuint n_arguments = function_object.getArgumentCount();
15167 const glw::GLuint result_buffer_size = function_object.getResultStride();
15191 const glw::GLuint argument_offset = function_object.getArgumentOffset(argument);
15192 const Utils::_variable_type argument_type = function_object.getArgumentType(argument);
15211 uniformDVecFunctionPointer p_uniform_function = getUniformFunctionForDVec(argument, function_object);
15218 uniformUVecFunctionPointer p_uniform_function = getUniformFunctionForUVec(argument, function_object);
15225 uniformIVecFunctionPointer p_uniform_function = getUniformFunctionForIVec(argument, function_object);
15236 uniformDMatFunctionPointer p_uniform_function = getUniformFunctionForDMat(argument, function_object);
15261 * @param function_object Function object
15266 bool BuiltinFunctionTest::isResultEdgeCase(const functionObject& function_object, glw::GLuint vertex,
15270 FunctionEnum function_type = function_object.getFunctionEnum();
15279 const glw::GLuint arguments_stride = function_object.getArgumentStride();
15281 const glw::GLuint argument_1_offset = function_object.getArgumentOffset(0);
15282 const glw::GLuint argument_2_offset = function_object.getArgumentOffset(1);
15324 * @param function_object Function object
15329 bool BuiltinFunctionTest::verifyResults(const functionObject& function_object, glw::GLuint vertex)
15333 const glw::GLuint n_results = function_object.getResultCount();
15334 const glw::GLuint results_stride = function_object.getResultStride();
15347 const Utils::_variable_type result_type = function_object.getResultType(result);
15348 const glw::GLuint result_offset = function_object.getResultOffset(result);
15356 if (!isResultEdgeCase(function_object, vertex, result_type, expected_result_src, result_src))
15369 const glw::GLuint argument_stride = function_object.getArgumentStride();
15375 m_context.getTestContext().getLog() << tcu::TestLog::Message << "Function: " << function_object.getName()
15380 const Utils::_variable_type result_type = function_object.getResultType(result);
15381 const glw::GLuint result_offset = function_object.getResultOffset(result);
15390 for (glw::GLuint argument = 0; argument < function_object.getArgumentCount(); ++argument)
15392 const glw::GLuint argument_offset = function_object.getArgumentOffset(argument);
15395 logVariableType(argument_src, "Argument", function_object.getArgumentType(argument));