{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE Strict #-} {-# LANGUAGE TypeSynonymInstances #-} module Graphics.Vulkan.Types.Enum.Geometry (VkGeometryFlagBitsNV(..), VkGeometryBitmaskKHR(VkGeometryBitmaskKHR, VkGeometryFlagsKHR, VkGeometryFlagBitsKHR, VK_GEOMETRY_OPAQUE_BIT_KHR, VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR), VkGeometryFlagsKHR, VkGeometryFlagBitsKHR, VkGeometryInstanceFlagBitsNV(..), VkGeometryInstanceBitmaskKHR(VkGeometryInstanceBitmaskKHR, VkGeometryInstanceFlagsKHR, VkGeometryInstanceFlagBitsKHR, VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR), VkGeometryInstanceFlagsKHR, VkGeometryInstanceFlagBitsKHR, VkGeometryTypeKHR(VkGeometryTypeKHR, VK_GEOMETRY_TYPE_TRIANGLES_KHR, VK_GEOMETRY_TYPE_AABBS_KHR), VkGeometryTypeNV(..)) where import Data.Bits (Bits, FiniteBits) import Data.Coerce (coerce) import Foreign.Storable (Storable) import GHC.Read (choose, expectP) import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..)) import Text.ParserCombinators.ReadPrec (prec, step, (+++)) import Text.Read (Read (..), parens) import Text.Read.Lex (Lexeme (..)) newtype VkGeometryFlagBitsNV = VkGeometryFlagBitsNV VkFlags deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable) instance Show VkGeometryFlagBitsNV where {-# INLINE showsPrec #-} showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS) instance Read VkGeometryFlagBitsNV where {-# INLINE readsPrec #-} readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) newtype VkGeometryBitmaskKHR (a :: FlagType) = VkGeometryBitmaskKHR VkFlags deriving (Eq, Ord, Storable) type VkGeometryFlagsKHR = VkGeometryBitmaskKHR FlagMask type VkGeometryFlagBitsKHR = VkGeometryBitmaskKHR FlagBit pattern VkGeometryFlagBitsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagBit pattern VkGeometryFlagBitsKHR n = VkGeometryBitmaskKHR n pattern VkGeometryFlagsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagMask pattern VkGeometryFlagsKHR n = VkGeometryBitmaskKHR n deriving instance Bits (VkGeometryBitmaskKHR FlagMask) deriving instance FiniteBits (VkGeometryBitmaskKHR FlagMask) instance Show (VkGeometryBitmaskKHR a) where showsPrec _ VK_GEOMETRY_OPAQUE_BIT_KHR = showString "VK_GEOMETRY_OPAQUE_BIT_KHR" showsPrec _ VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = showString "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR" showsPrec p (VkGeometryBitmaskKHR x) = showParen (p >= 11) (showString "VkGeometryBitmaskKHR " . showsPrec 11 x) instance Read (VkGeometryBitmaskKHR a) where readPrec = parens (choose [("VK_GEOMETRY_OPAQUE_BIT_KHR", pure VK_GEOMETRY_OPAQUE_BIT_KHR), ("VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR", pure VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR)] +++ prec 10 (expectP (Ident "VkGeometryBitmaskKHR") >> (VkGeometryBitmaskKHR <$> step readPrec))) -- | bitpos = @0@ pattern VK_GEOMETRY_OPAQUE_BIT_KHR :: VkGeometryBitmaskKHR a pattern VK_GEOMETRY_OPAQUE_BIT_KHR = VkGeometryBitmaskKHR 1 -- | bitpos = @1@ pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: VkGeometryBitmaskKHR a pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = VkGeometryBitmaskKHR 2 newtype VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsNV VkFlags deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable) instance Show VkGeometryInstanceFlagBitsNV where {-# INLINE showsPrec #-} showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS) instance Read VkGeometryInstanceFlagBitsNV where {-# INLINE readsPrec #-} readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) newtype VkGeometryInstanceBitmaskKHR (a :: FlagType) = VkGeometryInstanceBitmaskKHR VkFlags deriving (Eq, Ord, Storable) type VkGeometryInstanceFlagsKHR = VkGeometryInstanceBitmaskKHR FlagMask type VkGeometryInstanceFlagBitsKHR = VkGeometryInstanceBitmaskKHR FlagBit pattern VkGeometryInstanceFlagBitsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit pattern VkGeometryInstanceFlagBitsKHR n = VkGeometryInstanceBitmaskKHR n pattern VkGeometryInstanceFlagsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask pattern VkGeometryInstanceFlagsKHR n = VkGeometryInstanceBitmaskKHR n deriving instance Bits (VkGeometryInstanceBitmaskKHR FlagMask) deriving instance FiniteBits (VkGeometryInstanceBitmaskKHR FlagMask) instance Show (VkGeometryInstanceBitmaskKHR a) where showsPrec _ VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = showString "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR" showsPrec _ VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = showString "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR" showsPrec _ VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = showString "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR" showsPrec _ VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = showString "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR" showsPrec p (VkGeometryInstanceBitmaskKHR x) = showParen (p >= 11) (showString "VkGeometryInstanceBitmaskKHR " . showsPrec 11 x) instance Read (VkGeometryInstanceBitmaskKHR a) where readPrec = parens (choose [("VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR", pure VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR), ("VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR", pure VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR), ("VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR", pure VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR), ("VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR", pure VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR)] +++ prec 10 (expectP (Ident "VkGeometryInstanceBitmaskKHR") >> (VkGeometryInstanceBitmaskKHR <$> step readPrec))) -- | bitpos = @0@ pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = VkGeometryInstanceBitmaskKHR 1 -- | bitpos = @1@ pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VkGeometryInstanceBitmaskKHR 2 -- | bitpos = @2@ pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = VkGeometryInstanceBitmaskKHR 4 -- | bitpos = @3@ pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: VkGeometryInstanceBitmaskKHR a pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = VkGeometryInstanceBitmaskKHR 8 -- | type = @enum@ -- -- newtype VkGeometryTypeKHR = VkGeometryTypeKHR Int32 deriving (Eq, Ord, Enum, Storable) instance Show VkGeometryTypeKHR where showsPrec _ VK_GEOMETRY_TYPE_TRIANGLES_KHR = showString "VK_GEOMETRY_TYPE_TRIANGLES_KHR" showsPrec _ VK_GEOMETRY_TYPE_AABBS_KHR = showString "VK_GEOMETRY_TYPE_AABBS_KHR" showsPrec p (VkGeometryTypeKHR x) = showParen (p >= 11) (showString "VkGeometryTypeKHR " . showsPrec 11 x) instance Read VkGeometryTypeKHR where readPrec = parens (choose [("VK_GEOMETRY_TYPE_TRIANGLES_KHR", pure VK_GEOMETRY_TYPE_TRIANGLES_KHR), ("VK_GEOMETRY_TYPE_AABBS_KHR", pure VK_GEOMETRY_TYPE_AABBS_KHR)] +++ prec 10 (expectP (Ident "VkGeometryTypeKHR") >> (VkGeometryTypeKHR <$> step readPrec))) pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR = VkGeometryTypeKHR 0 pattern VK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR pattern VK_GEOMETRY_TYPE_AABBS_KHR = VkGeometryTypeKHR 1 newtype VkGeometryTypeNV = VkGeometryTypeNV VkFlags deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable) instance Show VkGeometryTypeNV where {-# INLINE showsPrec #-} showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS) instance Read VkGeometryTypeNV where {-# INLINE readsPrec #-} readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)