module Data.SpirV.Reflect.Module ( Module(..) ) where import Data.Text (Text) import Data.Vector (Vector) import GHC.Generics (Generic) import Data.SpirV.Reflect.BlockVariable (BlockVariable) import Data.SpirV.Reflect.DescriptorBinding (DescriptorBinding) import Data.SpirV.Reflect.DescriptorSet (DescriptorSet) import Data.SpirV.Reflect.Enums qualified as Enums import Data.SpirV.Reflect.InterfaceVariable (InterfaceVariable) import Data.SpirV.Reflect.SpecializationConstant (SpecializationConstant) data Module = Module { Module -> Generator generator :: Enums.Generator , Module -> Text entry_point_name :: Text , Module -> Int entry_point_id :: Int , Module -> Int source_language :: Int , Module -> Int source_language_version :: Int , Module -> Int spirv_execution_model :: Int , Module -> Int shader_stage :: Int , Module -> Vector DescriptorBinding descriptor_bindings :: Vector DescriptorBinding , Module -> Vector DescriptorSet descriptor_sets :: Vector DescriptorSet , Module -> Vector InterfaceVariable input_variables :: Vector InterfaceVariable , Module -> Vector InterfaceVariable output_variables :: Vector InterfaceVariable , Module -> Vector BlockVariable push_constants :: Vector BlockVariable , Module -> Vector SpecializationConstant spec_constants :: Vector SpecializationConstant } deriving (Module -> Module -> Bool (Module -> Module -> Bool) -> (Module -> Module -> Bool) -> Eq Module forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Module -> Module -> Bool == :: Module -> Module -> Bool $c/= :: Module -> Module -> Bool /= :: Module -> Module -> Bool Eq, Int -> Module -> ShowS [Module] -> ShowS Module -> String (Int -> Module -> ShowS) -> (Module -> String) -> ([Module] -> ShowS) -> Show Module forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Module -> ShowS showsPrec :: Int -> Module -> ShowS $cshow :: Module -> String show :: Module -> String $cshowList :: [Module] -> ShowS showList :: [Module] -> ShowS Show, (forall x. Module -> Rep Module x) -> (forall x. Rep Module x -> Module) -> Generic Module forall x. Rep Module x -> Module forall x. Module -> Rep Module x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. Module -> Rep Module x from :: forall x. Module -> Rep Module x $cto :: forall x. Rep Module x -> Module to :: forall x. Rep Module x -> Module Generic)