#pragma once #include #include 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);