Skip to content

Releases: hyzboy/GLSLCompiler

1.05

18 Feb 08:07
Compare
Choose a tag to compare

Upgraded SPIRV-Cross to 2023.02.18 and Added GetLimit/SetLimit functions.
Optimized layout of codes marked it easier to read.

struct GLSLCompilerInterface
{
    bool        (*Init)();
    void        (*Close)();

    bool        (*GetLimit)(TBuiltInResource *,const int);
    bool        (*SetLimit)(TBuiltInResource *,const int);

    uint32_t    (*GetType)(const char *ext_name);
    SPVData *   (*Compile)(const uint32_t stage,const char *shader_source, const CompileInfo *compile_info);
    SPVData *   (*CompileFromPath)(const uint32_t stage,const char *shader_filename, const CompileInfo *compile_info);

    void        (*Free)(SPVData *);
};

v1.04

28 Jun 13:04
Compare
Choose a tag to compare

supported preamble and updated to the newest version(2022.05.10) of SPIRV-Cross.

v1.03

03 Sep 12:09
Compare
Choose a tag to compare

new interface.

enum class ShaderLanguageType
{
    GLSL=0,
    HLSL,

    MAX=0xff
};//enum class ShaderType

struct CompileInfo
{
    ShaderLanguageType shader_type = ShaderLanguageType::GLSL;
    const char *entrypoint; 
    uint32_t includes_count;
    const char **includes;
};

struct GLSLCompilerInterface
{
    bool        (*Init)();
    void        (*Close)();

    uint32_t    (*GetType)(const char *ext_name);
    SPVData *   (*Compile)(const uint32_t stage,const char *source, const CompileInfo *compile_info);
    SPVData *   (*CompileFromPath)(const uint32_t stage,const char *path, const CompileInfo *compile_info);

    void        (*Free)(SPVData *);
};

Force Vulkan1.2 and Core , desktop profile

05 Sep 02:22
Compare
Choose a tag to compare

set the target version to Vulkan 1.2 by glslang::TShader::setEnvClient
set use OpenGL Core profile by glslang::TShader::parse
set the default version to 110 by glslang::TShader::parse

v1.01

25 Aug 09:45
Compare
Choose a tag to compare

use self-define "enum class VertexAttribBaseType" instead "spirv_cross::SPIRType::BaseType"

first version

24 Aug 02:21
Compare
Choose a tag to compare
  1. generate .spv file (same glslangValidator)
  2. generate .shader file (include spv data and VkDescriptorSets info)