// name of the uniform used to handle features that are sensitive to whether Y is flipped. #define SKSL_RTFLIP_NAME "u_skRTFlip"
namespace SkSL {
class Context; class FunctionDeclaration; class Pool; class ProgramElement; class ProgramUsage; class SymbolTable; struct ProgramConfig;
/** Represents a list the Uniforms contained within a Program. */ struct UniformInfo { struct Uniform {
std::string fName;
SkSL::Type::NumberKind fKind; int fColumns; int fRows; int fSlot;
};
std::vector<Uniform> fUniforms; int fUniformSlotCount = 0;
};
/** * Iterates over *all* elements in this Program, both owned and shared (builtin). The iterator's * value type is `const ProgramElement*`, so it's clear that you *must not* modify anything (as * you might be mutating shared data).
*/
ElementsCollection elements() const { return ElementsCollection(*this); }
/** * Returns a function declaration with the given name; null is returned if the function doesn't * exist or has no definition. If the function might have overloads, you can use nextOverload() * to search for the function with the expected parameter list.
*/ const FunctionDeclaration* getFunction(constchar* functionName) const;
std::unique_ptr<std::string> fSource;
std::unique_ptr<ProgramConfig> fConfig;
std::shared_ptr<Context> fContext;
std::unique_ptr<ProgramUsage> fUsage; // it's important to keep fOwnedElements defined after (and thus destroyed before) fSymbols, // because an IR element might access the symbol table during its destruction
std::unique_ptr<SymbolTable> fSymbols;
std::unique_ptr<Pool> fPool; // Contains *only* elements owned exclusively by this program.
std::vector<std::unique_ptr<ProgramElement>> fOwnedElements; // Contains *only* elements owned by a built-in module that are included in this program. // Use elements() to iterate over the combined set of owned + shared elements.
std::vector<const ProgramElement*> fSharedElements;
ProgramInterface fInterface;
using Interface = ProgramInterface;
};
} // namespace SkSL
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.