chromium/third_party/skia/src/sksl/SkSLModuleLoader.cpp

/*
 * Copyright 2022 Google LLC
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "src/sksl/SkSLModuleLoader.h"

#include "include/core/SkTypes.h"
#include "include/private/base/SkMutex.h"
#include "src/base/SkNoDestructor.h"
#include "src/sksl/SkSLBuiltinTypes.h"
#include "src/sksl/SkSLCompiler.h"
#include "src/sksl/SkSLModule.h"
#include "src/sksl/SkSLPosition.h"
#include "src/sksl/SkSLProgramKind.h"
#include "src/sksl/ir/SkSLIRNode.h"
#include "src/sksl/ir/SkSLLayout.h"
#include "src/sksl/ir/SkSLModifierFlags.h"
#include "src/sksl/ir/SkSLProgramElement.h"
#include "src/sksl/ir/SkSLSymbolTable.h"
#include "src/sksl/ir/SkSLType.h"
#include "src/sksl/ir/SkSLVariable.h"

#include <algorithm>
#include <memory>
#include <string>
#include <utility>
#include <vector>

#define MODULE_DATA(type)

namespace SkSL {

#define TYPE

static constexpr BuiltinTypePtr kRootTypes[] =;

static constexpr BuiltinTypePtr kPrivateTypes[] =;

#undef TYPE

struct ModuleLoader::Impl {};

ModuleLoader ModuleLoader::Get() {}

ModuleLoader::ModuleLoader(ModuleLoader::Impl& m) :{}

ModuleLoader::~ModuleLoader() {}

void ModuleLoader::unloadModules() {}

ModuleLoader::Impl::Impl() {}

static std::unique_ptr<Module> compile_and_shrink(SkSL::Compiler* compiler,
                                                  ProgramKind kind,
                                                  ModuleType moduleType,
                                                  std::string moduleSource,
                                                  const Module* parent) {}

const BuiltinTypes& ModuleLoader::builtinTypes() {}

const Module* ModuleLoader::rootModule() {}

void ModuleLoader::addPublicTypeAliases(const SkSL::Module* module) {}

const Module* ModuleLoader::loadPublicModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadPrivateRTShaderModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadSharedModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadGPUModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadFragmentModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadVertexModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadComputeModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadGraphiteFragmentModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadGraphiteFragmentES2Module(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadGraphiteVertexModule(SkSL::Compiler* compiler) {}

const Module* ModuleLoader::loadGraphiteVertexES2Module(SkSL::Compiler* compiler) {}

void ModuleLoader::Impl::makeRootSymbolTable() {}

}  // namespace SkSL