Lines Matching defs:function

198     const FunctionDeclaration& function = call.function();
201 "_" + function.mangledName();
204 // Emit a prototype for the function we'll be calling through to in our helper.
205 if (!function.isBuiltin()) {
206 this->writeFunctionDeclaration(function);
210 // Synthesize a helper function that takes the same inputs as `function`, except in places where
218 this->writeFunctionRequirementParams(function, separator);
221 SkASSERT(outVars.size() == function.parameters().size());
232 const Variable* param = function.parameters()[index];
266 const Variable* param = function.parameters()[index];
284 this->writeName(function.mangledName());
287 this->writeFunctionRequirementArgs(function, separator);
326 const FunctionDeclaration& function = c.function();
329 if (function.isIntrinsic()) {
330 if (this->writeIntrinsicCall(c, function.intrinsicKind())) {
336 // helper function. (Specifically, out-parameters in GLSL are only written back to the original
337 // variable at the end of the function call; also, swizzles are supported, whereas Metal doesn't
340 const std::vector<const Variable*>& parameters = function.parameters();
360 // Out parameters need to be written back to at the end of the function. To do this, we
361 // synthesize a helper function which evaluates the out-param expression into a temporary
362 // variable, calls the original function, then writes the temp var back into the out param
367 this->write(function.mangledName());
372 this->writeFunctionRequirementArgs(function, separator);
449 // Only use polyfills for a function taking a single-argument square matrix.
520 // Write out an intrinsic function call exactly as-is. No muss no fuss.
521 this->write(c.function().name());
1082 // scalars can be constructed trivially. In more complex cases, we generate a helper function
1102 // If an input argument is a matrix, we need a helper function.
1108 // An input argument would span multiple rows; a helper function is required.
1197 // GLSL supports vec4(mat2x2), so we detect that case here and emit a helper function.
1909 // This function detects (potentially nested) blocks that end in a return statement.
1959 // If the main function doesn't end with a return, we need to synthesize one here.
2559 Requirements result = this->requirements(f.function());
2702 // We never found a definition for this declared function, but it's legal to prototype a
2703 // function without ever giving a definition, as long as you don't call it.