{-# LINE 1 "src/Shaderc/Core.hsc" #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE PatternSynonyms #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Shaderc.Core where import Foreign.Ptr import Foreign.C.Types import Foreign.C.String import Data.Word import Language.SpirV.ShaderKind.Core import qualified Shaderc.CompileOptions.Core as CompileOptions import qualified Shaderc.CompilationResult.Core as CompilationResult data CompilerTag type CompilerT = Ptr CompilerTag foreign import ccall "shaderc_compiler_initialize" compilerInitialize :: IO CompilerT foreign import ccall "shaderc_compiler_release" compilerRelease :: CompilerT -> IO () foreign import ccall "shaderc_compile_into_spv" compileIntoSpv :: CompilerT -> Ptr CChar -> Word64 -> {-# LINE 30 "src/Shaderc/Core.hsc" #-} ShaderKind -> CString -> CString -> CompileOptions.C -> IO CompilationResult.T foreign import ccall "shaderc_compile_into_spv_assembly" compileIntoSpvAssembly :: CompilerT -> Ptr CChar -> Word64 -> {-# LINE 36 "src/Shaderc/Core.hsc" #-} ShaderKind -> CString -> CString -> CompileOptions.C -> IO CompilationResult.T foreign import ccall "shaderc_compile_into_preprocessed_text" compileIntoPreprocessedText :: CompilerT -> Ptr CChar -> Word64 -> {-# LINE 42 "src/Shaderc/Core.hsc" #-} ShaderKind -> CString -> CString -> CompileOptions.C -> IO CompilationResult.T glslVertexShader :: Word32 {-# LINE 46 "src/Shaderc/Core.hsc" #-} glslVertexShader = 0 {-# LINE 47 "src/Shaderc/Core.hsc" #-} vertexShader :: Word32 {-# LINE 49 "src/Shaderc/Core.hsc" #-} vertexShader = 0 {-# LINE 50 "src/Shaderc/Core.hsc" #-} sourceLanguageHlsl :: Word32 {-# LINE 52 "src/Shaderc/Core.hsc" #-} sourceLanguageHlsl = 1 {-# LINE 53 "src/Shaderc/Core.hsc" #-} optimizationLevelZero :: Word32 {-# LINE 55 "src/Shaderc/Core.hsc" #-} optimizationLevelZero = 0 {-# LINE 56 "src/Shaderc/Core.hsc" #-} optimizationLevelSize :: Word32 {-# LINE 58 "src/Shaderc/Core.hsc" #-} optimizationLevelSize = 1 {-# LINE 59 "src/Shaderc/Core.hsc" #-} optimizationLevelPerformance :: Word32 {-# LINE 61 "src/Shaderc/Core.hsc" #-} optimizationLevelPerformance = 2 {-# LINE 63 "src/Shaderc/Core.hsc" #-}