blob: 211d8ab37ad184bcc876c5b65bf2e1a86e0cde2c [file] [log] [blame] [edit]
/*
* Copyright 2024 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "include/core/SkTypes.h"
#include "src/sksl/SkSLModuleData.h"
#include <string>
// We include minified SkSL module code and pass it directly to the compiler.
#if defined(SK_ENABLE_OPTIMIZE_SIZE) || !defined(SK_DEBUG)
#include "src/sksl/generated/sksl_shared.minified.sksl"
#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_vert.minified.sksl"
#if defined(SK_GRAPHITE)
#include "src/sksl/generated/sksl_graphite_frag.minified.sksl"
#include "src/sksl/generated/sksl_graphite_vert.minified.sksl"
#include "src/sksl/generated/sksl_graphite_frag_es2.minified.sksl"
#include "src/sksl/generated/sksl_graphite_vert_es2.minified.sksl"
#endif
#else
#include "src/sksl/generated/sksl_shared.unoptimized.sksl"
#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_vert.unoptimized.sksl"
#if defined(SK_GRAPHITE)
#include "src/sksl/generated/sksl_graphite_frag.unoptimized.sksl"
#include "src/sksl/generated/sksl_graphite_vert.unoptimized.sksl"
#include "src/sksl/generated/sksl_graphite_frag_es2.unoptimized.sksl"
#include "src/sksl/generated/sksl_graphite_vert_es2.unoptimized.sksl"
#endif
#endif
namespace SkSL {
std::string GetModuleData(ModuleName name, const char* /*filename*/) {
#define M(name) case ModuleName::name: return std::string(SKSL_MINIFIED_##name);
switch (name) {
M(sksl_shared)
M(sksl_compute)
M(sksl_frag)
M(sksl_gpu)
M(sksl_public)
M(sksl_rt_shader)
M(sksl_vert)
#if defined(SK_GRAPHITE)
M(sksl_graphite_frag)
M(sksl_graphite_frag_es2)
M(sksl_graphite_vert)
M(sksl_graphite_vert_es2)
#endif
default:
SkUNREACHABLE;
}
#undef M
}
} // namespace SkSL