// We include minified SkSL module code and pass it directly to the compiler. #ifdefined(SK_ENABLE_OPTIMIZE_SIZE) || !defined(SK_DEBUG) #include"src/sksl/generated/sksl_compute.minified.sksl" #include"src/sksl/generated/sksl_frag.minified.sksl" #include"src/sksl/generated/sksl_gpu.minified.sksl" #include"src/sksl/generated/sksl_public.minified.sksl" #include"src/sksl/generated/sksl_rt_shader.minified.sksl" #include"src/sksl/generated/sksl_shared.minified.sksl" #include"src/sksl/generated/sksl_vert.minified.sksl" #else #include"src/sksl/generated/sksl_compute.unoptimized.sksl" #include"src/sksl/generated/sksl_frag.unoptimized.sksl" #include"src/sksl/generated/sksl_gpu.unoptimized.sksl" #include"src/sksl/generated/sksl_public.unoptimized.sksl" #include"src/sksl/generated/sksl_rt_shader.unoptimized.sksl" #include"src/sksl/generated/sksl_shared.unoptimized.sksl" #include"src/sksl/generated/sksl_vert.unoptimized.sksl" #endif
// We don't load the graphite modules by default because we don't want to bloat the Ganesh-only // build with Graphite's modules. These will be filled in during initialization of the // Graphite backend. staticconstchar* sdata_sksl_graphite_frag = ""; staticconstchar* sdata_sksl_graphite_frag_es2 = ""; staticconstchar* sdata_sksl_graphite_vert = ""; staticconstchar* sdata_sksl_graphite_vert_es2 = "";
namespace SkSL {
std::string GetModuleData(ModuleType type, constchar* /*filename*/) { #define M(name) case ModuleType::name: return std::string(SKSL_MINIFIED_##name); // Creating a std::string with a nullptr is UB #define G(name) \ case ModuleType::name: \ if (sdata_##name) { \ return std::string(sdata_##name); \
} else { \ return""; \
}
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.