spirv-reflect-types-0.1: lib/Data/SpirV/Reflect/InterfaceVariable.hs
module Data.SpirV.Reflect.InterfaceVariable
( InterfaceVariable(..)
, WordOffset(..)
) where
import Data.Text (Text)
import Data.Vector (Vector)
import Data.Word (Word32)
import GHC.Generics (Generic)
import Data.SpirV.Reflect.Enums qualified as Enums
import Data.SpirV.Reflect.Traits qualified as Traits
import Data.SpirV.Reflect.TypeDescription (TypeDescription)
data InterfaceVariable = InterfaceVariable
{ spirv_id :: Maybe Word32
, name :: Maybe Text
, location :: Word32
, storage_class :: Enums.StorageClass
, semantic :: Maybe Text
, decoration_flags :: Enums.DecorationFlags
, built_in :: Enums.BuiltIn
, numeric :: Traits.Numeric
, array :: Traits.Array
, members :: Vector TypeDescription
, format :: Enums.Format
, type_description :: Maybe TypeDescription
, word_offset :: WordOffset
}
deriving (Eq, Show, Generic)
newtype WordOffset = WordOffset
{ location :: Word32
}
deriving (Eq, Show, Generic)