Esempio n. 1
0
        private byte[] CompileToSpirv(
            VesselShaderDescription shader,
            string fileName,
            ShaderStages stage)
        {
            GlslCompileOptions     glslOptions = VesselShaderUtil.GetOptions(shader);
            string                 glsl        = VesselShaderUtil.LoadGlsl(fileName);
            SpirvCompilationResult result      = SpirvCompilation.CompileGlslToSpirv(
                glsl,
                fileName,
                stage,
                glslOptions);

            return(result.SpirvBytes);
        }
Esempio n. 2
0
        public void GlslToSpirv_Succeeds(string name, ShaderStages stage)
        {
            SpirvCompilationResult result = SpirvCompilation.CompileGlslToSpirv(
                TestUtil.LoadShaderText(name),
                name,
                stage,
                new GlslCompileOptions(
                    false,
                    new MacroDefinition("Name0", "Value0"),
                    new MacroDefinition("Name1", "Value1"),
                    new MacroDefinition("Name2")));

            Assert.NotNull(result.SpirvBytes);
            Assert.True(result.SpirvBytes.Length > 4);
            Assert.True(result.SpirvBytes.Length % 4 == 0);
        }