mirror of https://github.com/axmolengine/axmol.git
30 lines
532 B
C
30 lines
532 B
C
|
#pragma once
|
||
|
|
||
|
#include "LLGI.Base.h"
|
||
|
|
||
|
namespace LLGI
|
||
|
{
|
||
|
|
||
|
Compiler* CreateCompiler(DeviceType device);
|
||
|
|
||
|
struct CompilerResult
|
||
|
{
|
||
|
std::string Message;
|
||
|
std::vector<std::vector<uint8_t>> Binary;
|
||
|
};
|
||
|
|
||
|
class Compiler : public ReferenceObject
|
||
|
{
|
||
|
private:
|
||
|
public:
|
||
|
Compiler() = default;
|
||
|
~Compiler() override = default;
|
||
|
|
||
|
virtual void Initialize();
|
||
|
virtual void Compile(CompilerResult& result, const char* code, ShaderStageType shaderStage);
|
||
|
|
||
|
virtual DeviceType GetDeviceType() const { return DeviceType::Default; }
|
||
|
};
|
||
|
|
||
|
} // namespace LLGI
|