{-# language CPP #-}
module Vulkan.Extensions.VK_NVX_multiview_per_view_attributes ( PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(..)
, MultiviewPerViewAttributesInfoNVX(..)
, NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION
, pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION
, NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME
, pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME
) where
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero(..))
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Foreign.Ptr (Ptr)
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX))
data PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
{
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
perViewPositionAllComponents :: Bool }
deriving (Typeable, PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool)
-> (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool)
-> Eq PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
== :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
$c/= :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
/= :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX)
#endif
deriving instance Show PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
instance ToCStruct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX where
withCStruct :: forall b.
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> (Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b)
-> IO b
withCStruct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
x Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> IO b
f = Int
-> (Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b)
-> IO b)
-> (Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p -> Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
x (Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> IO b
f Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX{Bool
perViewPositionAllComponents :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Bool
perViewPositionAllComponents :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
perViewPositionAllComponents))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX where
peekCStruct :: Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
peekCStruct Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p = do
perViewPositionAllComponents <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
p Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
pure $ PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
(bool32ToBool perViewPositionAllComponents)
instance Storable PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX where
sizeOf :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Int
sizeOf ~PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
_ = Int
24
alignment :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> Int
alignment ~PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
_ = Int
8
peek :: Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
peek = Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -> IO ()
poke Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
poked = Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
ptr PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX where
zero :: PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
zero = Bool -> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
Bool
forall a. Zero a => a
zero
data MultiviewPerViewAttributesInfoNVX = MultiviewPerViewAttributesInfoNVX
{
MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributes :: Bool
,
MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributesPositionXOnly :: Bool
}
deriving (Typeable, MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
(MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool)
-> (MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool)
-> Eq MultiviewPerViewAttributesInfoNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
== :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
$c/= :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
/= :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (MultiviewPerViewAttributesInfoNVX)
#endif
deriving instance Show MultiviewPerViewAttributesInfoNVX
instance ToCStruct MultiviewPerViewAttributesInfoNVX where
withCStruct :: forall b.
MultiviewPerViewAttributesInfoNVX
-> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
withCStruct MultiviewPerViewAttributesInfoNVX
x Ptr MultiviewPerViewAttributesInfoNVX -> IO b
f = Int -> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b)
-> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr MultiviewPerViewAttributesInfoNVX
p -> Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
forall b.
Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
p MultiviewPerViewAttributesInfoNVX
x (Ptr MultiviewPerViewAttributesInfoNVX -> IO b
f Ptr MultiviewPerViewAttributesInfoNVX
p)
pokeCStruct :: forall b.
Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
p MultiviewPerViewAttributesInfoNVX{Bool
perViewAttributes :: MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributesPositionXOnly :: MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributes :: Bool
perViewAttributesPositionXOnly :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
perViewAttributes))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
perViewAttributesPositionXOnly))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
pokeZeroCStruct Ptr MultiviewPerViewAttributesInfoNVX
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct MultiviewPerViewAttributesInfoNVX where
peekCStruct :: Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
peekCStruct Ptr MultiviewPerViewAttributesInfoNVX
p = do
perViewAttributes <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
perViewAttributesPositionXOnly <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
pure $ MultiviewPerViewAttributesInfoNVX
(bool32ToBool perViewAttributes)
(bool32ToBool perViewAttributesPositionXOnly)
instance Storable MultiviewPerViewAttributesInfoNVX where
sizeOf :: MultiviewPerViewAttributesInfoNVX -> Int
sizeOf ~MultiviewPerViewAttributesInfoNVX
_ = Int
24
alignment :: MultiviewPerViewAttributesInfoNVX -> Int
alignment ~MultiviewPerViewAttributesInfoNVX
_ = Int
8
peek :: Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
peek = Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO ()
poke Ptr MultiviewPerViewAttributesInfoNVX
ptr MultiviewPerViewAttributesInfoNVX
poked = Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO () -> IO ()
forall b.
Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
ptr MultiviewPerViewAttributesInfoNVX
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero MultiviewPerViewAttributesInfoNVX where
zero :: MultiviewPerViewAttributesInfoNVX
zero = Bool -> Bool -> MultiviewPerViewAttributesInfoNVX
MultiviewPerViewAttributesInfoNVX
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
type NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1
pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: forall a . Integral a => a
pattern $mNVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: forall a. Integral a => a
NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1
type NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes"
pattern NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $mNVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes"