Flutter Engine
The Flutter Engine
|
Namespaces | |
namespace | Analysis |
namespace | Constructor |
namespace | Intrinsics |
namespace | PipelineStage |
namespace | RP |
namespace | String |
namespace | SwizzleComponent |
namespace | Transform |
Typedefs | |
using | IntrinsicArguments = std::array< const Expression *, 3 > |
using | CoalesceFn = double(*)(double, double, double) |
using | FinalizeFn = double(*)(double) |
using | CompareFn = bool(*)(double, double) |
using | EvaluateFn = double(*)(double, double, double) |
using | LayoutFlags = SkEnumBitMask< SkSL::LayoutFlag > |
using | ComponentArray = skia_private::FixedArray< 4, int8_t > |
using | StatementArray = skia_private::STArray< 2, std::unique_ptr< Statement > > |
using | IntrinsicMap = skia_private::THashMap< std::string_view, IntrinsicKind > |
using | State = uint16_t |
using | IndexEntry = int16_t |
using | BuiltinTypePtr = const std::unique_ptr< Type > BuiltinTypes::* |
Functions | |
static int | calculate_count (double start, double end, double delta, bool forwards, bool inclusive) |
static int | count_returns_at_end_of_control_flow (const FunctionDefinition &funcDef) |
static bool | contains_matching_data (const ProgramUsage &a, const ProgramUsage &b) |
static bool | is_abs (Expression &expr) |
bool | is_sk_position (const Expression &expr) |
bool | is_sk_samplemask (const Expression &expr) |
bool | ToGLSL (Program &program, const ShaderCaps *caps, OutputStream &out) |
bool | ToGLSL (Program &program, const ShaderCaps *caps, std::string *out) |
bool | ToHLSL (Program &program, const ShaderCaps *caps, OutputStream &out) |
bool | ToHLSL (Program &program, const ShaderCaps *caps, std::string *out) |
static const char * | operator_name (Operator op) |
static bool | pass_by_reference (const Type &type, ModifierFlags flags) |
static bool | needs_address_space (const Type &type, ModifierFlags modifiers) |
static bool | is_buffer (const InterfaceBlock &block) |
static bool | is_readonly (const InterfaceBlock &block) |
static bool | is_compute_builtin (const Variable &var) |
static bool | is_input (const Variable &var) |
static bool | is_output (const Variable &var) |
static bool | is_uniforms (const Variable &var) |
static bool | is_threadgroup (const Variable &var) |
static bool | is_in_globals (const Variable &var) |
static bool | is_block_ending_with_return (const Statement *stmt) |
bool | ToMetal (Program &program, const ShaderCaps *caps, OutputStream &out) |
bool | ToMetal (Program &program, const ShaderCaps *caps, std::string *out) |
std::unique_ptr< RP::Program > | MakeRasterPipelineProgram (const SkSL::Program &program, const FunctionDefinition &function, DebugTracePriv *debugTrace, bool writeTraceOps) |
static bool | is_float (const Type &type) |
static bool | is_signed (const Type &type) |
static bool | is_unsigned (const Type &type) |
static bool | is_bool (const Type &type) |
template<typename T > | |
static T | pick_by_type (const Type &type, T ifFloat, T ifInt, T ifUInt, T ifBool) |
static bool | is_out (ModifierFlags f) |
static bool | is_in (ModifierFlags f) |
static bool | is_control_flow_op (SpvOp_ op) |
static bool | is_globally_reachable_op (SpvOp_ op) |
static SpvImageFormat | layout_flags_to_image_format (LayoutFlags flags) |
static SpvStorageClass_ | get_storage_class_for_global_variable (const Variable &var, SpvStorageClass_ fallbackStorageClass) |
static SpvStorageClass_ | get_storage_class (const Expression &expr) |
static bool | types_match (const Type &a, const Type &b) |
static bool | is_vardecl_compile_time_constant (const VarDeclaration &varDecl) |
static SymbolTable * | get_top_level_symbol_table (const FunctionDeclaration &anyFunc) |
bool | ToSPIRV (Program &program, const ShaderCaps *caps, OutputStream &out) |
bool | ToSPIRV (Program &program, const ShaderCaps *caps, std::string *out) |
bool | SPIRVtoHLSL (const std::string &, std::string *) |
static bool | is_nontrivial_expression (const Expression &expr) |
static bool | binary_op_is_ambiguous_in_wgsl (Operator op) |
static bool | all_arguments_constant (const ExpressionArray &arguments) |
bool | ToWGSL (Program &program, const ShaderCaps *caps, OutputStream &out) |
bool | ToWGSL (Program &program, const ShaderCaps *caps, std::string *out) |
static bool | call_signature_is_valid (const Context &context, const Variable &child, const ExpressionArray &arguments) |
static std::unique_ptr< Expression > | convert_compound_constructor (const Context &context, Position pos, const Type &type, ExpressionArray args) |
static std::unique_ptr< Expression > | cast_constant_array (const Context &context, Position pos, const Type &destType, std::unique_ptr< Expression > constCtor) |
static bool | is_safe_to_eliminate (const Type &type, const Expression &arg) |
static const Expression * | make_splat_from_arguments (const Type &type, const ExpressionArray &args) |
static std::unique_ptr< Expression > | cast_constant_composite (const Context &context, Position pos, const Type &destType, std::unique_ptr< Expression > constCtor) |
static bool | arguments_match_field_types (const ExpressionArray &args, const Type &type) |
static std::unique_ptr< Expression > | extract_field (Position pos, const ConstructorStruct &ctor, int fieldIndex) |
static bool | is_vardecl_block_initializer (const Statement *stmt) |
static bool | is_simple_initializer (const Statement *stmt) |
static void | hoist_vardecl_symbols_into_outer_scope (const Context &context, const Block &initBlock, SymbolTable *innerSymbols, SymbolTable *hoistedSymbols) |
static bool | has_compile_time_constant_arguments (const ExpressionArray &arguments) |
template<typename T > | |
static void | type_check_expression (const Expression &expr) |
template<> | |
void | type_check_expression< float > (const Expression &expr) |
template<> | |
void | type_check_expression< SKSL_INT > (const Expression &expr) |
template<> | |
void | type_check_expression< bool > (const Expression &expr) |
static std::unique_ptr< Expression > | coalesce_n_way_vector (const Expression *arg0, const Expression *arg1, double startingState, const Type &returnType, CoalesceFn coalesce, FinalizeFn finalize) |
template<typename T > | |
static std::unique_ptr< Expression > | coalesce_vector (const IntrinsicArguments &arguments, double startingState, const Type &returnType, CoalesceFn coalesce, FinalizeFn finalize) |
template<typename T > | |
static std::unique_ptr< Expression > | coalesce_pairwise_vectors (const IntrinsicArguments &arguments, double startingState, const Type &returnType, CoalesceFn coalesce, FinalizeFn finalize) |
static std::unique_ptr< Expression > | optimize_comparison (const Context &context, const IntrinsicArguments &arguments, CompareFn compare) |
static std::unique_ptr< Expression > | evaluate_n_way_intrinsic (const Context &context, const Expression *arg0, const Expression *arg1, const Expression *arg2, const Type &returnType, EvaluateFn eval) |
template<typename T > | |
static std::unique_ptr< Expression > | evaluate_intrinsic (const Context &context, const IntrinsicArguments &arguments, const Type &returnType, EvaluateFn eval) |
static std::unique_ptr< Expression > | evaluate_intrinsic_numeric (const Context &context, const IntrinsicArguments &arguments, const Type &returnType, EvaluateFn eval) |
static std::unique_ptr< Expression > | evaluate_pairwise_intrinsic (const Context &context, const IntrinsicArguments &arguments, const Type &returnType, EvaluateFn eval) |
static std::unique_ptr< Expression > | evaluate_3_way_intrinsic (const Context &context, const IntrinsicArguments &arguments, const Type &returnType, EvaluateFn eval) |
template<typename T1 , typename T2 > | |
static double | pun_value (double val) |
static void | extract_matrix (const Expression *expr, float mat[16]) |
static std::unique_ptr< Expression > | optimize_intrinsic_call (const Context &context, Position pos, IntrinsicKind intrinsic, const ExpressionArray &argArray, const Type &returnType) |
static bool | argument_and_parameter_flags_match (const Expression &argument, const Variable ¶meter) |
static CoercionCost | call_cost (const Context &context, const FunctionDeclaration &function, const ExpressionArray &arguments) |
static std::string | build_argument_type_list (SkSpan< const std::unique_ptr< Expression > > arguments) |
static bool | check_modifiers (const Context &context, Position pos, ModifierFlags modifierFlags) |
static bool | check_return_type (const Context &context, Position pos, const Type &returnType) |
static bool | check_parameters (const Context &context, TArray< std::unique_ptr< Variable > > ¶meters, ModifierFlags modifierFlags, IntrinsicKind intrinsicKind) |
static bool | type_is_valid_for_color (const Type &type) |
static bool | type_is_valid_for_coords (const Type &type) |
static bool | check_main_signature (const Context &context, Position pos, const Type &returnType, TArray< std::unique_ptr< Variable > > ¶meters) |
static int | find_generic_index (const Type &concreteType, const Type &genericType, bool allowNarrowing) |
static bool | type_generically_matches (const Type &concreteType, const Type &maybeGenericType) |
static bool | parameters_match (SkSpan< const std::unique_ptr< Variable > > params, SkSpan< Variable *const > otherParams) |
static bool | find_existing_declaration (const Context &context, Position pos, ModifierFlags modifierFlags, IntrinsicKind intrinsicKind, std::string_view name, TArray< std::unique_ptr< Variable > > ¶meters, Position returnTypePos, const Type *returnType, FunctionDeclaration **outExistingDecl) |
static void | append_rtadjust_fixup_to_vertex_main (const Context &context, const FunctionDeclaration &decl, Block &body) |
static std::unique_ptr< Statement > | replace_empty_with_nop (std::unique_ptr< Statement > stmt, bool isEmpty) |
static bool | index_out_of_range (const Context &context, Position pos, SKSL_INT index, const Expression &base) |
static std::optional< int > | find_rt_adjust_index (SkSpan< const Field > fields) |
static ExpressionArray | negate_operands (const Context &context, Position pos, const ExpressionArray &operands) |
static double | negate_value (double value) |
static double | bitwise_not_value (double value) |
static std::unique_ptr< Expression > | apply_to_elements (const Context &context, Position pos, const Expression &expr, double(*fn)(double)) |
static std::unique_ptr< Expression > | simplify_negation (const Context &context, Position pos, const Expression &originalExpr) |
static std::unique_ptr< Expression > | negate_operand (const Context &context, Position pos, std::unique_ptr< Expression > value) |
static std::unique_ptr< Expression > | logical_not_operand (const Context &context, Position pos, std::unique_ptr< Expression > operand) |
static std::unique_ptr< Expression > | bitwise_not_operand (const Context &context, Position pos, std::unique_ptr< Expression > operand) |
static TArray< const SwitchCase * > | find_duplicate_case_values (const StatementArray &cases) |
static void | remove_break_statements (std::unique_ptr< Statement > &stmt) |
static bool | block_for_case (Statement *caseBlock, SwitchCase *caseToCapture) |
static bool | validate_swizzle_domain (const ComponentArray &fields) |
static char | mask_char (int8_t component) |
static std::unique_ptr< Expression > | optimize_constructor_swizzle (const Context &context, Position pos, const ConstructorCompound &base, ComponentArray components) |
static bool | is_vec_or_mat (const Type &type) |
static std::unique_ptr< Expression > | eliminate_no_op_boolean (Position pos, const Expression &left, Operator op, const Expression &right) |
static std::unique_ptr< Expression > | short_circuit_boolean (Position pos, const Expression &left, Operator op, const Expression &right) |
static std::unique_ptr< Expression > | simplify_constant_equality (const Context &context, Position pos, const Expression &left, Operator op, const Expression &right) |
static std::unique_ptr< Expression > | simplify_matrix_multiplication (const Context &context, Position pos, const Expression &left, const Expression &right, int leftColumns, int leftRows, int rightColumns, int rightRows) |
static std::unique_ptr< Expression > | simplify_matrix_times_matrix (const Context &context, Position pos, const Expression &left, const Expression &right) |
static std::unique_ptr< Expression > | simplify_vector_times_matrix (const Context &context, Position pos, const Expression &left, const Expression &right) |
static std::unique_ptr< Expression > | simplify_matrix_times_vector (const Context &context, Position pos, const Expression &left, const Expression &right) |
static std::unique_ptr< Expression > | simplify_componentwise (const Context &context, Position pos, const Expression &left, Operator op, const Expression &right) |
static std::unique_ptr< Expression > | splat_scalar (const Context &context, const Expression &scalar, const Type &type) |
static std::unique_ptr< Expression > | cast_expression (const Context &context, Position pos, const Expression &expr, const Type &type) |
static std::unique_ptr< Expression > | zero_expression (const Context &context, Position pos, const Type &type) |
static std::unique_ptr< Expression > | negate_expression (const Context &context, Position pos, const Expression &expr, const Type &type) |
static bool | contains_constant_zero (const Expression &expr) |
static bool | is_constant_diagonal (const Expression &expr, double value) |
static bool | is_constant_value (const Expression &expr, double value) |
static std::unique_ptr< Expression > | make_reciprocal_expression (const Context &context, const Expression &right) |
static bool | error_on_divide_by_zero (const Context &context, Position pos, Operator op, const Expression &right) |
static bool | is_scalar_op_matrix (const Expression &left, const Expression &right) |
static bool | is_matrix_op_scalar (const Expression &left, const Expression &right) |
static std::unique_ptr< Expression > | simplify_arithmetic (const Context &context, Position pos, const Expression &left, Operator op, const Expression &right, const Type &resultType) |
static std::unique_ptr< Expression > | one_over_scalar (const Context &context, const Expression &right) |
static std::unique_ptr< Expression > | simplify_matrix_division (const Context &context, Position pos, const Expression &left, Operator op, const Expression &right, const Type &resultType) |
static std::unique_ptr< Expression > | fold_expression (Position pos, double result, const Type *resultType) |
static std::unique_ptr< Expression > | fold_two_constants (const Context &context, Position pos, const Expression *left, Operator op, const Expression *right, const Type &resultType) |
static bool | argument_needs_scratch_variable (const Expression *arg, const Variable *param, const ProgramUsage &usage) |
static const FunctionDeclaration & | candidate_func (const InlineCandidate &candidate) |
const IntrinsicMap & | GetIntrinsicMap () |
IntrinsicKind | FindIntrinsicKind (std::string_view functionName) |
static State | get_transition (uint8_t transition, State state) |
std::string | GetModuleData (ModuleName name, const char *filename) |
static std::unique_ptr< Module > | compile_and_shrink (SkSL::Compiler *compiler, ProgramKind kind, const char *moduleName, std::string moduleSource, const Module *parent) |
static ModifierFlags | parse_modifier_token (Token::Kind token) |
static bool | is_whitespace (Token::Kind kind) |
static Position | range_of_at_least_one_char (int start, int end) |
static MemoryPool * | get_thread_local_memory_pool () |
static void | set_thread_local_memory_pool (MemoryPool *memPool) |
bool | stod (std::string_view s, SKSL_FLOAT *value) |
bool | stoi (std::string_view s, SKSL_INT *value) |
void | write_stringstream (const StringStream &s, OutputStream &out) |
bool | type_to_sksltype (const Context &context, const Type &type, SkSLType *outType) |
static bool | dead_function_predicate (const ProgramElement *element, ProgramUsage *usage) |
static bool | is_dead_variable (const ProgramElement &element, ProgramUsage *usage, bool onlyPrivateGlobals) |
static bool | eliminate_dead_local_variables (const Context &context, SkSpan< std::unique_ptr< ProgramElement > > elements, ProgramUsage *usage) |
static void | eliminate_empty_statements (SkSpan< std::unique_ptr< ProgramElement > > elements) |
static void | eliminate_unnecessary_braces (SkSpan< std::unique_ptr< ProgramElement > > elements) |
static void | eliminate_unreachable_code (SkSpan< std::unique_ptr< ProgramElement > > elements, ProgramUsage *usage) |
static bool | contains_builtin_struct (const ProgramUsage &usage) |
static void | get_struct_definitions_from_module (Program &program, const Module &module, std::vector< const ProgramElement * > *addedStructDefs) |
static void | strip_export_flag (Context &context, const FunctionDeclaration *funcDecl, SymbolTable *symbols) |
Variables | |
static constexpr int | kLoopTerminationLimit = 100000 |
static constexpr char | kDeterminant2 [] |
static constexpr char | kDeterminant3 [] |
static constexpr char | kDeterminant4 [] |
static constexpr char | kInverse2 [] |
static constexpr char | kInverse3 [] |
static constexpr char | kInverse4 [] |
static constexpr char | kInverse2x2 [] |
static constexpr char | kInverse3x3 [] |
static constexpr char | kInverse4x4 [] |
static const int32_t | SKSL_MAGIC = 0x001F0000 |
static constexpr char | kInverse2x2 [] |
static constexpr char | kInverse3x3 [] |
static constexpr char | kInverse4x4 [] |
static constexpr int | kMaxStructDepth = 8 |
static constexpr Layout | kDefaultLayout |
static constexpr int | kDefaultInlineThreshold = 50 |
static constexpr int | kVariableSlotLimit = 100000 |
static constexpr uint8_t | kInvalidChar = 18 |
static constexpr uint8_t | kMappings [118] |
static constexpr FullEntry | kFull [] |
static constexpr CompactEntry | kCompact [] |
static constexpr IndexEntry | kIndices [] |
static const uint8_t | kAccepts [427] |
static constexpr BuiltinTypePtr | kRootTypes [] |
static constexpr BuiltinTypePtr | kPrivateTypes [] |
static constexpr int | kMaxParseDepth = 50 |
static thread_local MemoryPool * | sMemPool = nullptr |
using SkSL::BuiltinTypePtr = typedef const std::unique_ptr<Type> BuiltinTypes::* |
Definition at line 20 of file SkSLModuleLoader.h.
using SkSL::CoalesceFn = typedef double (*)(double, double, double) |
Definition at line 81 of file SkSLFunctionCall.cpp.
using SkSL::CompareFn = typedef bool (*)(double, double) |
Definition at line 174 of file SkSLFunctionCall.cpp.
using SkSL::ComponentArray = typedef skia_private::FixedArray<4, int8_t> |
Represents the components of a vector swizzle.
Definition at line 46 of file SkSLSwizzle.h.
using SkSL::EvaluateFn = typedef double (*)(double, double, double) |
Definition at line 204 of file SkSLFunctionCall.cpp.
using SkSL::FinalizeFn = typedef double (*)(double) |
Definition at line 82 of file SkSLFunctionCall.cpp.
using SkSL::IndexEntry = typedef int16_t |
Definition at line 24 of file SkSLLexer.cpp.
using SkSL::IntrinsicArguments = typedef std::array<const Expression*, 3> |
Definition at line 51 of file SkSLFunctionCall.cpp.
using SkSL::IntrinsicMap = typedef skia_private::THashMap<std::string_view, IntrinsicKind> |
Definition at line 135 of file SkSLIntrinsicList.h.
using SkSL::LayoutFlags = typedef SkEnumBitMask<SkSL::LayoutFlag> |
Definition at line 68 of file SkSLLayout.h.
using SkSL::State = typedef uint16_t |
Definition at line 14 of file SkSLLexer.cpp.
using SkSL::StatementArray = typedef skia_private::STArray<2, std::unique_ptr<Statement> > |
Definition at line 32 of file SkSLDefines.h.
|
strong |
Definition at line 62 of file SkSLIRNode.h.
|
strong |
Enumerator | |
---|---|
kDefault | |
kAnonymousInterfaceBlock |
Definition at line 29 of file SkSLFieldAccess.h.
|
strong |
Definition at line 15 of file SkSLGLSL.h.
enum SkSL::IntrinsicKind : int8_t |
Enumerator | |
---|---|
kNotIntrinsic | |
SKSL_INTRINSIC_LIST |
Definition at line 128 of file SkSLIntrinsicList.h.
|
strong |
Definition at line 20 of file SkSLLayout.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kFlat | |
kNoPerspective | |
kConst | |
kUniform | |
kIn | |
kOut | |
kHighp | |
kMediump | |
kLowp | |
kReadOnly | |
kWriteOnly | |
kBuffer | |
kPixelLocal | |
kWorkgroup | |
kExport | |
kES3 | |
kPure | |
kInline | |
kNoInline |
Definition at line 21 of file SkSLModifierFlags.h.
|
strong |
Enumerator | |
---|---|
sksl_shared | |
sksl_compute | |
sksl_frag | |
sksl_gpu | |
sksl_public | |
sksl_rt_shader | |
sksl_vert | |
sksl_graphite_frag | |
sksl_graphite_frag_es2 | |
sksl_graphite_vert | |
sksl_graphite_vert_es2 |
Definition at line 15 of file SkSLModuleData.h.
|
strong |
Definition at line 19 of file SkSLOperator.h.
|
strong |
Definition at line 57 of file SkSLOperator.h.
|
strong |
Enumerator | |
---|---|
kExtension | |
kFunction | |
kFunctionPrototype | |
kGlobalVar | |
kInterfaceBlock | |
kModifiers | |
kStructDefinition | |
kFirst | |
kLast |
Definition at line 19 of file SkSLIRNode.h.
|
strong |
SkSL supports several different program kinds.
Definition at line 18 of file SkSLProgramKind.h.
|
strong |
Enumerator | |
---|---|
kBlock | |
kBreak | |
kContinue | |
kDiscard | |
kDo | |
kExpression | |
kFor | |
kIf | |
kNop | |
kReturn | |
kSwitch | |
kSwitchCase | |
kVarDeclaration | |
kFirst | |
kLast |
Definition at line 43 of file SkSLIRNode.h.
|
strong |
Enumerator | |
---|---|
kExternal | |
kField | |
kFunctionDeclaration | |
kType | |
kVariable | |
kFirst | |
kLast |
Definition at line 32 of file SkSLIRNode.h.
|
strong |
Enumerator | |
---|---|
kRead | |
kWrite | |
kReadWrite | |
kPointer |
Definition at line 25 of file SkSLVariableReference.h.
|
strong |
Enumerator | |
---|---|
kGlobal | |
kInterfaceBlock | |
kLocal | |
kParameter |
Definition at line 36 of file SkSLVariable.h.
|
strong |
Enumerator | |
---|---|
k100 | Desktop GLSL 1.10, GLSL ES 1.00, WebGL 1.0 |
k300 | Desktop GLSL 3.30, GLSL ES 3.00, WebGL 2.0 |
Definition at line 13 of file SkSLVersion.h.
|
static |
Definition at line 2820 of file SkSLWGSLCodeGenerator.cpp.
|
static |
Definition at line 43 of file SkSLFunctionDefinition.cpp.
|
static |
Definition at line 43 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 1021 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 518 of file SkSLInliner.cpp.
|
static |
Definition at line 62 of file SkSLConstructorStruct.cpp.
|
static |
Definition at line 2536 of file SkSLWGSLCodeGenerator.cpp.
|
static |
Definition at line 198 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 39 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 84 of file SkSLSwitchStatement.cpp.
|
static |
Definition at line 1107 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 38 of file SkSLGetLoopUnrollInfo.cpp.
|
static |
Used to determine the best overload for a function call by calculating the cost of coercing the arguments of the function to the required types. Cost has no particular meaning other than "lower costs are preferred". Returns CoercionCost::Impossible() if the call is not valid. This is never called for functions with only one definition.
Definition at line 1054 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 39 of file SkSLChildCall.cpp.
|
static |
Definition at line 964 of file SkSLInliner.cpp.
|
static |
Definition at line 22 of file SkSLConstructorArrayCast.cpp.
|
static |
Definition at line 25 of file SkSLConstructorCompoundCast.cpp.
|
static |
Definition at line 279 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 132 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 38 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 71 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 53 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 84 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 159 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 145 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 147 of file SkSLModuleLoader.cpp.
|
static |
|
static |
Definition at line 343 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 220 of file SkSLProgramUsage.cpp.
|
static |
Definition at line 28 of file SkSLConstructor.cpp.
|
static |
Definition at line 23 of file SkSLGetReturnComplexity.cpp.
|
static |
Definition at line 25 of file SkSLEliminateDeadFunctions.cpp.
|
static |
Definition at line 39 of file SkSLEliminateDeadLocalVariables.cpp.
|
static |
Definition at line 27 of file SkSLEliminateEmptyStatements.cpp.
|
static |
Definition at line 52 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 31 of file SkSLEliminateUnnecessaryBraces.cpp.
|
static |
Definition at line 35 of file SkSLEliminateUnreachableCode.cpp.
|
static |
Definition at line 423 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 319 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 264 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 276 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 206 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 295 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 65 of file SkSLFieldAccess.cpp.
|
static |
Definition at line 628 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 40 of file SkSLSwitchStatement.cpp.
|
static |
Checks for a previously existing declaration of this function, reporting errors if there is an incompatible symbol. Returns true and sets outExistingDecl to point to the existing declaration (or null if none) on success, returns false on error.
Definition at line 346 of file SkSLFunctionDeclaration.cpp.
|
static |
Given a concrete type (float3
) and a generic type ($genType
), returns the index of the concrete type within the generic type's typelist. Returns -1 if there is no match.
Definition at line 270 of file SkSLFunctionDeclaration.cpp.
Definition at line 41 of file SkSLInterfaceBlock.cpp.
IntrinsicKind SkSL::FindIntrinsicKind | ( | std::string_view | functionName | ) |
Definition at line 26 of file SkSLIntrinsicList.cpp.
|
static |
Definition at line 653 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 668 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 3024 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 2983 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 37 of file SkSLFindAndDeclareBuiltinStructs.cpp.
|
static |
Definition at line 18 of file SkSLPool.cpp.
|
static |
Definition at line 4940 of file SkSLSPIRVCodeGenerator.cpp.
Definition at line 763 of file SkSLLexer.cpp.
const IntrinsicMap & SkSL::GetIntrinsicMap | ( | ) |
Definition at line 16 of file SkSLIntrinsicList.cpp.
std::string SkSL::GetModuleData | ( | ModuleName | name, |
const char * | filename | ||
) |
Definition at line 46 of file SkSLModuleDataDefault.cpp.
|
static |
Definition at line 53 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 70 of file SkSLForStatement.cpp.
|
static |
Definition at line 32 of file SkSLIndexExpression.cpp.
|
static |
Definition at line 447 of file SkSLGLSLCodeGenerator.cpp.
|
static |
Definition at line 2637 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 927 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 559 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 1713 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 366 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 387 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 961 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 26 of file SkSLEliminateDeadGlobalVariables.cpp.
|
static |
|
static |
Definition at line 975 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 953 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 1759 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 1728 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 476 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 2521 of file SkSLWGSLCodeGenerator.cpp.
|
static |
Definition at line 949 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 1736 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 564 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 28 of file SkSLConstructorCompound.cpp.
|
static |
Definition at line 472 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 919 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 46 of file SkSLForStatement.cpp.
bool SkSL::is_sk_position | ( | const Expression & | expr | ) |
Definition at line 1123 of file SkSLGLSLCodeGenerator.cpp.
bool SkSL::is_sk_samplemask | ( | const Expression & | expr | ) |
Definition at line 1131 of file SkSLGLSLCodeGenerator.cpp.
|
static |
Definition at line 1753 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 1746 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 923 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 27 of file SkSLForStatement.cpp.
|
static |
Definition at line 4537 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 41 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 273 of file SkSLParser.cpp.
|
static |
Definition at line 1639 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 151 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 396 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 47 of file SkSLConstructorCompound.cpp.
std::unique_ptr< RP::Program > SkSL::MakeRasterPipelineProgram | ( | const SkSL::Program & | program, |
const FunctionDefinition & | function, | ||
DebugTracePriv * | debugTrace, | ||
bool | writeTraceOps | ||
) |
Definition at line 4070 of file SkSLRasterPipelineCodeGenerator.cpp.
|
static |
Definition at line 88 of file SkSLSwizzle.cpp.
|
static |
Definition at line 554 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 316 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 139 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 122 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 35 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 615 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 372 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 176 of file SkSLFunctionCall.cpp.
|
static |
Definition at line 120 of file SkSLSwizzle.cpp.
|
static |
Definition at line 635 of file SkSLFunctionCall.cpp.
|
static |
Checks a parameter list (params) against the parameters of a function that was declared earlier (otherParams). Returns true if they match, even if the parameters in otherParams
contain generic types.
Definition at line 294 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 77 of file SkSLParser.cpp.
|
static |
Definition at line 549 of file SkSLMetalCodeGenerator.cpp.
|
static |
Definition at line 932 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 346 of file SkSLFunctionCall.cpp.
Definition at line 1580 of file SkSLParser.cpp.
|
static |
Definition at line 66 of file SkSLSwitchStatement.cpp.
|
static |
Definition at line 51 of file SkSLIfStatement.cpp.
|
static |
Definition at line 22 of file SkSLPool.cpp.
|
static |
Definition at line 71 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 480 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 215 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 89 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 625 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 112 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 170 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 200 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 71 of file SkSLPrefixExpression.cpp.
|
static |
Definition at line 185 of file SkSLConstantFolder.cpp.
bool SkSL::SPIRVtoHLSL | ( | const std::string & | , |
std::string * | |||
) |
Definition at line 47 of file SkSLSPIRVtoHLSL.cpp.
|
static |
Definition at line 260 of file SkSLConstantFolder.cpp.
bool SkSL::stod | ( | std::string_view | s, |
SKSL_FLOAT * | value | ||
) |
Definition at line 58 of file SkSLString.cpp.
bool SkSL::stoi | ( | std::string_view | s, |
SKSL_INT * | value | ||
) |
Definition at line 66 of file SkSLString.cpp.
|
static |
Definition at line 42 of file SkSLRenamePrivateSymbols.cpp.
bool SkSL::ToGLSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
OutputStream & | out | ||
) |
Converts a Program into GLSL code.
Definition at line 2034 of file SkSLGLSLCodeGenerator.cpp.
bool SkSL::ToGLSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
std::string * | out | ||
) |
Definition at line 2046 of file SkSLGLSLCodeGenerator.cpp.
bool SkSL::ToHLSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
OutputStream & | out | ||
) |
Converts a Program into HLSL code. (SPIRV-Cross must be enabled.)
Definition at line 26 of file SkSLHLSLCodeGenerator.cpp.
bool SkSL::ToHLSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
std::string * | out | ||
) |
Definition at line 36 of file SkSLHLSLCodeGenerator.cpp.
bool SkSL::ToMetal | ( | Program & | program, |
const ShaderCaps * | caps, | ||
OutputStream & | out | ||
) |
Converts a Program into Metal code.
Definition at line 3653 of file SkSLMetalCodeGenerator.cpp.
bool SkSL::ToMetal | ( | Program & | program, |
const ShaderCaps * | caps, | ||
std::string * | out | ||
) |
Definition at line 3665 of file SkSLMetalCodeGenerator.cpp.
bool SkSL::ToSPIRV | ( | Program & | program, |
const ShaderCaps * | caps, | ||
OutputStream & | out | ||
) |
Converts a Program into a SPIR-V binary.
Definition at line 5408 of file SkSLSPIRVCodeGenerator.cpp.
bool SkSL::ToSPIRV | ( | Program & | program, |
const ShaderCaps * | caps, | ||
std::string * | out | ||
) |
Definition at line 5432 of file SkSLSPIRVCodeGenerator.cpp.
bool SkSL::ToWGSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
OutputStream & | out | ||
) |
Convert a Program into WGSL code.
Definition at line 4597 of file SkSLWGSLCodeGenerator.cpp.
bool SkSL::ToWGSL | ( | Program & | program, |
const ShaderCaps * | caps, | ||
std::string * | out | ||
) |
Definition at line 4624 of file SkSLWGSLCodeGenerator.cpp.
|
static |
void SkSL::type_check_expression< bool > | ( | const Expression & | expr | ) |
Definition at line 77 of file SkSLFunctionCall.cpp.
void SkSL::type_check_expression< float > | ( | const Expression & | expr | ) |
Definition at line 67 of file SkSLFunctionCall.cpp.
void SkSL::type_check_expression< SKSL_INT > | ( | const Expression & | expr | ) |
Definition at line 72 of file SkSLFunctionCall.cpp.
|
static |
Returns true if the types match, or if concreteType
can be found in maybeGenericType
.
Definition at line 283 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 123 of file SkSLFunctionDeclaration.cpp.
|
static |
Definition at line 46 of file SkSLUtil.cpp.
Definition at line 3698 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 34 of file SkSLSwizzle.cpp.
void SkSL::write_stringstream | ( | const StringStream & | s, |
OutputStream & | out | ||
) |
Definition at line 42 of file SkSLUtil.cpp.
|
static |
Definition at line 299 of file SkSLConstantFolder.cpp.
|
static |
Definition at line 775 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 121 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 38 of file SkSLDefines.h.
|
staticconstexpr |
Definition at line 29 of file SkSLVariable.cpp.
|
staticconstexpr |
Definition at line 475 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 481 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 494 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 32 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 737 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 15 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 548 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 731 of file SkSLMetalCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 3342 of file SkSLWGSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 554 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 738 of file SkSLMetalCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 3348 of file SkSLWGSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 571 of file SkSLGLSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 756 of file SkSLMetalCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 3363 of file SkSLWGSLCodeGenerator.cpp.
|
staticconstexpr |
Definition at line 36 of file SkSLGetLoopUnrollInfo.cpp.
|
staticconstexpr |
Definition at line 16 of file SkSLLexer.cpp.
|
staticconstexpr |
Definition at line 75 of file SkSLParser.cpp.
|
staticconstexpr |
Definition at line 40 of file SkSLType.cpp.
|
staticconstexpr |
Definition at line 75 of file SkSLModuleLoader.cpp.
|
staticconstexpr |
Definition at line 37 of file SkSLModuleLoader.cpp.
|
staticconstexpr |
Definition at line 43 of file SkSLDefines.h.
|
static |
Definition at line 745 of file SkSLSPIRVCodeGenerator.cpp.
|
static |
Definition at line 16 of file SkSLPool.cpp.