44 lines
840 B
C
44 lines
840 B
C
#pragma once
|
|
|
|
#include <Core/Common/CoreTypes.h>
|
|
#include <Core/Common/String.h>
|
|
|
|
typedef uint8 SourceLanguage;
|
|
enum
|
|
{
|
|
SourceLanguage_HLSL = 0,
|
|
SourceLanguage_Count = 1,
|
|
SourceLanguage_Invalid = SourceLanguage_Count
|
|
};
|
|
|
|
typedef uint8 ShaderFormat;
|
|
enum
|
|
{
|
|
ShaderFormat_DXIL = 0,
|
|
ShaderFormat_Count = 1,
|
|
ShaderFormat_Invalid = ShaderFormat_Count
|
|
};
|
|
|
|
typedef uint8 ShaderStage;
|
|
enum
|
|
{
|
|
ShaderStage_Vertex = 0,
|
|
ShaderStage_Fragment = 1,
|
|
ShaderStage_Compute = 2,
|
|
ShaderStage_Count = 3,
|
|
ShaderStage_Invalid = ShaderStage_Count
|
|
};
|
|
|
|
typedef struct ShaderInfo ShaderInfo;
|
|
struct ShaderInfo
|
|
{
|
|
ByteBuffer ByteCodeBuffer;
|
|
String EntryPoint;
|
|
String Name;
|
|
ShaderStage Stage;
|
|
};
|
|
|
|
typedef ShaderInfo HLSLShaderInfo;
|
|
|
|
ByteBuffer CompileDXIL(const HLSLShaderInfo* info);
|