Lines Matching refs:src
13 #include "src/sksl/SkSLCompiler.h"
14 #include "src/sksl/SkSLOperators.h"
15 #include "src/sksl/codegen/SkSLCodeGenerator.h"
16 #include "src/sksl/codegen/SkSLVMCodeGenerator.h"
17 #include "src/sksl/ir/SkSLBinaryExpression.h"
18 #include "src/sksl/ir/SkSLBlock.h"
19 #include "src/sksl/ir/SkSLBreakStatement.h"
20 #include "src/sksl/ir/SkSLChildCall.h"
21 #include "src/sksl/ir/SkSLConstructor.h"
22 #include "src/sksl/ir/SkSLConstructorArray.h"
23 #include "src/sksl/ir/SkSLConstructorArrayCast.h"
24 #include "src/sksl/ir/SkSLConstructorDiagonalMatrix.h"
25 #include "src/sksl/ir/SkSLConstructorMatrixResize.h"
26 #include "src/sksl/ir/SkSLConstructorSplat.h"
27 #include "src/sksl/ir/SkSLConstructorStruct.h"
28 #include "src/sksl/ir/SkSLContinueStatement.h"
29 #include "src/sksl/ir/SkSLDoStatement.h"
30 #include "src/sksl/ir/SkSLExpressionStatement.h"
31 #include "src/sksl/ir/SkSLExternalFunctionCall.h"
32 #include "src/sksl/ir/SkSLExternalFunctionReference.h"
33 #include "src/sksl/ir/SkSLFieldAccess.h"
34 #include "src/sksl/ir/SkSLForStatement.h"
35 #include "src/sksl/ir/SkSLFunctionCall.h"
36 #include "src/sksl/ir/SkSLFunctionDeclaration.h"
37 #include "src/sksl/ir/SkSLFunctionDefinition.h"
38 #include "src/sksl/ir/SkSLIfStatement.h"
39 #include "src/sksl/ir/SkSLIndexExpression.h"
40 #include "src/sksl/ir/SkSLLiteral.h"
41 #include "src/sksl/ir/SkSLPostfixExpression.h"
42 #include "src/sksl/ir/SkSLPrefixExpression.h"
43 #include "src/sksl/ir/SkSLReturnStatement.h"
44 #include "src/sksl/ir/SkSLSwitchStatement.h"
45 #include "src/sksl/ir/SkSLSwizzle.h"
46 #include "src/sksl/ir/SkSLTernaryExpression.h"
47 #include "src/sksl/ir/SkSLVarDeclarations.h"
48 #include "src/sksl/ir/SkSLVariableReference.h"
230 Value writeTypeConversion(const Value& src, Type::NumberKind srcKind, Type::NumberKind dstKind);
760 Value SkVMGenerator::writeTypeConversion(const Value& src,
765 return src;
769 Value dst(src.slots());
774 for (size_t i = 0; i < src.slots(); ++i) {
775 dst[i] = skvm::to_F32(i32(src[i]));
781 for (size_t i = 0; i < src.slots(); ++i) {
782 dst[i] = skvm::select(i32(src[i]), 1.0f, 0.0f);
791 for (size_t i = 0; i < src.slots(); ++i) {
792 dst[i] = skvm::trunc(f32(src[i]));
798 for (size_t i = 0; i < src.slots(); ++i) {
799 dst[i] = skvm::select(i32(src[i]), 1, 0);
808 for (size_t i = 0; i < src.slots(); ++i) {
809 dst[i] = i32(src[i]) != 0;
815 for (size_t i = 0; i < src.slots(); ++i) {
816 dst[i] = f32(src[i]) != 0.0;
838 Value src = this->writeExpression(argument);
839 return this->writeTypeConversion(src, srcKind, dstKind);
848 Value src = this->writeExpression(*c.argument());
851 dst[i] = src[0];
861 Value src = this->writeExpression(*ctor.argument());
869 dst[dstIndex++] = (c == r ? f32(src) : zero);
880 Value src = this->writeExpression(*ctor.argument());
883 // Matrix-from-matrix uses src where it overlaps, and fills in missing fields with identity.
888 dst[dstIndex++] = src[c * srcType.rows() + r];