{-# language CPP #-}
module Vulkan.Extensions.VK_NV_viewport_swizzle ( ViewportSwizzleNV(..)
, PipelineViewportSwizzleStateCreateInfoNV(..)
, PipelineViewportSwizzleStateCreateFlagsNV(..)
, ViewportCoordinateSwizzleNV( VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV
, VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV
, VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV
, VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV
, VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV
, VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV
, VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV
, VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
, ..
)
, NV_VIEWPORT_SWIZZLE_SPEC_VERSION
, pattern NV_VIEWPORT_SWIZZLE_SPEC_VERSION
, NV_VIEWPORT_SWIZZLE_EXTENSION_NAME
, pattern NV_VIEWPORT_SWIZZLE_EXTENSION_NAME
) where
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
import qualified Data.Vector (imapM_)
import qualified Data.Vector (length)
import Data.Bits (Bits)
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 Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import Data.Word (Word32)
import Text.Read.Lex (Lexeme(Ident))
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.BaseType (Flags)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV))
data ViewportSwizzleNV = ViewportSwizzleNV
{
ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
x :: ViewportCoordinateSwizzleNV
,
ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
y :: ViewportCoordinateSwizzleNV
,
ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
z :: ViewportCoordinateSwizzleNV
,
ViewportSwizzleNV -> ViewportCoordinateSwizzleNV
w :: ViewportCoordinateSwizzleNV
}
deriving (Typeable)
deriving instance Show ViewportSwizzleNV
instance ToCStruct ViewportSwizzleNV where
withCStruct :: ViewportSwizzleNV -> (Ptr ViewportSwizzleNV -> IO b) -> IO b
withCStruct x :: ViewportSwizzleNV
x f :: Ptr ViewportSwizzleNV -> IO b
f = Int -> Int -> (Ptr ViewportSwizzleNV -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 16 4 ((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> (Ptr ViewportSwizzleNV -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr ViewportSwizzleNV
p -> Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ViewportSwizzleNV
p ViewportSwizzleNV
x (Ptr ViewportSwizzleNV -> IO b
f Ptr ViewportSwizzleNV
p)
pokeCStruct :: Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO b -> IO b
pokeCStruct p :: Ptr ViewportSwizzleNV
p ViewportSwizzleNV{..} f :: IO b
f = do
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
x)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 4 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
y)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
z)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 12 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
w)
IO b
f
cStructSize :: Int
cStructSize = 16
cStructAlignment :: Int
cStructAlignment = 4
pokeZeroCStruct :: Ptr ViewportSwizzleNV -> IO b -> IO b
pokeZeroCStruct p :: Ptr ViewportSwizzleNV
p f :: IO b
f = do
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 4 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero)
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 12 :: Ptr ViewportCoordinateSwizzleNV)) (ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ViewportSwizzleNV where
peekCStruct :: Ptr ViewportSwizzleNV -> IO ViewportSwizzleNV
peekCStruct p :: Ptr ViewportSwizzleNV
p = do
ViewportCoordinateSwizzleNV
x <- Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
forall a. Storable a => Ptr a -> IO a
peek @ViewportCoordinateSwizzleNV ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr ViewportCoordinateSwizzleNV))
ViewportCoordinateSwizzleNV
y <- Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
forall a. Storable a => Ptr a -> IO a
peek @ViewportCoordinateSwizzleNV ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 4 :: Ptr ViewportCoordinateSwizzleNV))
ViewportCoordinateSwizzleNV
z <- Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
forall a. Storable a => Ptr a -> IO a
peek @ViewportCoordinateSwizzleNV ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr ViewportCoordinateSwizzleNV))
ViewportCoordinateSwizzleNV
w <- Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
forall a. Storable a => Ptr a -> IO a
peek @ViewportCoordinateSwizzleNV ((Ptr ViewportSwizzleNV
p Ptr ViewportSwizzleNV -> Int -> Ptr ViewportCoordinateSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 12 :: Ptr ViewportCoordinateSwizzleNV))
ViewportSwizzleNV -> IO ViewportSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ViewportSwizzleNV -> IO ViewportSwizzleNV)
-> ViewportSwizzleNV -> IO ViewportSwizzleNV
forall a b. (a -> b) -> a -> b
$ ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportSwizzleNV
ViewportSwizzleNV
ViewportCoordinateSwizzleNV
x ViewportCoordinateSwizzleNV
y ViewportCoordinateSwizzleNV
z ViewportCoordinateSwizzleNV
w
instance Storable ViewportSwizzleNV where
sizeOf :: ViewportSwizzleNV -> Int
sizeOf ~ViewportSwizzleNV
_ = 16
alignment :: ViewportSwizzleNV -> Int
alignment ~ViewportSwizzleNV
_ = 4
peek :: Ptr ViewportSwizzleNV -> IO ViewportSwizzleNV
peek = Ptr ViewportSwizzleNV -> IO ViewportSwizzleNV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO ()
poke ptr :: Ptr ViewportSwizzleNV
ptr poked :: ViewportSwizzleNV
poked = Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ViewportSwizzleNV
ptr ViewportSwizzleNV
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ViewportSwizzleNV where
zero :: ViewportSwizzleNV
zero = ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV
-> ViewportSwizzleNV
ViewportSwizzleNV
ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero
ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero
ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero
ViewportCoordinateSwizzleNV
forall a. Zero a => a
zero
data PipelineViewportSwizzleStateCreateInfoNV = PipelineViewportSwizzleStateCreateInfoNV
{
PipelineViewportSwizzleStateCreateInfoNV
-> PipelineViewportSwizzleStateCreateFlagsNV
flags :: PipelineViewportSwizzleStateCreateFlagsNV
,
PipelineViewportSwizzleStateCreateInfoNV
-> Vector ViewportSwizzleNV
viewportSwizzles :: Vector ViewportSwizzleNV
}
deriving (Typeable)
deriving instance Show PipelineViewportSwizzleStateCreateInfoNV
instance ToCStruct PipelineViewportSwizzleStateCreateInfoNV where
withCStruct :: PipelineViewportSwizzleStateCreateInfoNV
-> (Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b) -> IO b
withCStruct x :: PipelineViewportSwizzleStateCreateInfoNV
x f :: Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b
f = Int
-> Int
-> (Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 32 8 ((Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b) -> IO b)
-> (Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PipelineViewportSwizzleStateCreateInfoNV
p -> Ptr PipelineViewportSwizzleStateCreateInfoNV
-> PipelineViewportSwizzleStateCreateInfoNV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineViewportSwizzleStateCreateInfoNV
p PipelineViewportSwizzleStateCreateInfoNV
x (Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b
f Ptr PipelineViewportSwizzleStateCreateInfoNV
p)
pokeCStruct :: Ptr PipelineViewportSwizzleStateCreateInfoNV
-> PipelineViewportSwizzleStateCreateInfoNV -> IO b -> IO b
pokeCStruct p :: Ptr PipelineViewportSwizzleStateCreateInfoNV
p PipelineViewportSwizzleStateCreateInfoNV{..} f :: IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr PipelineViewportSwizzleStateCreateFlagsNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr PipelineViewportSwizzleStateCreateFlagsNV)) (PipelineViewportSwizzleStateCreateFlagsNV
flags)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector ViewportSwizzleNV -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ViewportSwizzleNV -> Int)
-> Vector ViewportSwizzleNV -> Int
forall a b. (a -> b) -> a -> b
$ (Vector ViewportSwizzleNV
viewportSwizzles)) :: Word32))
Ptr ViewportSwizzleNV
pPViewportSwizzles' <- ((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV))
-> ((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV)
forall a b. (a -> b) -> a -> b
$ Int -> Int -> (Ptr ViewportSwizzleNV -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @ViewportSwizzleNV ((Vector ViewportSwizzleNV -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ViewportSwizzleNV
viewportSwizzles)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 16) 4
(Int -> ViewportSwizzleNV -> ContT b IO ())
-> Vector ViewportSwizzleNV -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: ViewportSwizzleNV
e -> ((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct (Ptr ViewportSwizzleNV
pPViewportSwizzles' Ptr ViewportSwizzleNV -> Int -> Ptr ViewportSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (16 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ViewportSwizzleNV) (ViewportSwizzleNV
e) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())) (Vector ViewportSwizzleNV
viewportSwizzles)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ViewportSwizzleNV) -> Ptr ViewportSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr (Ptr ViewportSwizzleNV)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (Ptr ViewportSwizzleNV))) (Ptr ViewportSwizzleNV
pPViewportSwizzles')
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = 32
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PipelineViewportSwizzleStateCreateInfoNV -> IO b -> IO b
pokeZeroCStruct p :: Ptr PipelineViewportSwizzleStateCreateInfoNV
p f :: IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ViewportSwizzleNV
pPViewportSwizzles' <- ((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV))
-> ((Ptr ViewportSwizzleNV -> IO b) -> IO b)
-> ContT b IO (Ptr ViewportSwizzleNV)
forall a b. (a -> b) -> a -> b
$ Int -> Int -> (Ptr ViewportSwizzleNV -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @ViewportSwizzleNV ((Vector Any -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Any
forall a. Monoid a => a
mempty)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 16) 4
(Int -> ViewportSwizzleNV -> ContT b IO ())
-> Vector ViewportSwizzleNV -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: ViewportSwizzleNV
e -> ((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ViewportSwizzleNV -> ViewportSwizzleNV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct (Ptr ViewportSwizzleNV
pPViewportSwizzles' Ptr ViewportSwizzleNV -> Int -> Ptr ViewportSwizzleNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (16 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ViewportSwizzleNV) (ViewportSwizzleNV
e) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())) (Vector ViewportSwizzleNV
forall a. Monoid a => a
mempty)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ViewportSwizzleNV) -> Ptr ViewportSwizzleNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr (Ptr ViewportSwizzleNV)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (Ptr ViewportSwizzleNV))) (Ptr ViewportSwizzleNV
pPViewportSwizzles')
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance FromCStruct PipelineViewportSwizzleStateCreateInfoNV where
peekCStruct :: Ptr PipelineViewportSwizzleStateCreateInfoNV
-> IO PipelineViewportSwizzleStateCreateInfoNV
peekCStruct p :: Ptr PipelineViewportSwizzleStateCreateInfoNV
p = do
PipelineViewportSwizzleStateCreateFlagsNV
flags <- Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> IO PipelineViewportSwizzleStateCreateFlagsNV
forall a. Storable a => Ptr a -> IO a
peek @PipelineViewportSwizzleStateCreateFlagsNV ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr PipelineViewportSwizzleStateCreateFlagsNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr PipelineViewportSwizzleStateCreateFlagsNV))
Word32
viewportCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Word32))
Ptr ViewportSwizzleNV
pViewportSwizzles <- Ptr (Ptr ViewportSwizzleNV) -> IO (Ptr ViewportSwizzleNV)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ViewportSwizzleNV) ((Ptr PipelineViewportSwizzleStateCreateInfoNV
p Ptr PipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr (Ptr ViewportSwizzleNV)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (Ptr ViewportSwizzleNV)))
Vector ViewportSwizzleNV
pViewportSwizzles' <- Int
-> (Int -> IO ViewportSwizzleNV) -> IO (Vector ViewportSwizzleNV)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
viewportCount) (\i :: Int
i -> Ptr ViewportSwizzleNV -> IO ViewportSwizzleNV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ViewportSwizzleNV ((Ptr ViewportSwizzleNV
pViewportSwizzles Ptr ViewportSwizzleNV -> Int -> Ptr ViewportSwizzleNV
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (16 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ViewportSwizzleNV)))
PipelineViewportSwizzleStateCreateInfoNV
-> IO PipelineViewportSwizzleStateCreateInfoNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineViewportSwizzleStateCreateInfoNV
-> IO PipelineViewportSwizzleStateCreateInfoNV)
-> PipelineViewportSwizzleStateCreateInfoNV
-> IO PipelineViewportSwizzleStateCreateInfoNV
forall a b. (a -> b) -> a -> b
$ PipelineViewportSwizzleStateCreateFlagsNV
-> Vector ViewportSwizzleNV
-> PipelineViewportSwizzleStateCreateInfoNV
PipelineViewportSwizzleStateCreateInfoNV
PipelineViewportSwizzleStateCreateFlagsNV
flags Vector ViewportSwizzleNV
pViewportSwizzles'
instance Zero PipelineViewportSwizzleStateCreateInfoNV where
zero :: PipelineViewportSwizzleStateCreateInfoNV
zero = PipelineViewportSwizzleStateCreateFlagsNV
-> Vector ViewportSwizzleNV
-> PipelineViewportSwizzleStateCreateInfoNV
PipelineViewportSwizzleStateCreateInfoNV
PipelineViewportSwizzleStateCreateFlagsNV
forall a. Zero a => a
zero
Vector ViewportSwizzleNV
forall a. Monoid a => a
mempty
newtype PipelineViewportSwizzleStateCreateFlagsNV = PipelineViewportSwizzleStateCreateFlagsNV Flags
deriving newtype (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
(PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> Eq PipelineViewportSwizzleStateCreateFlagsNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c/= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
== :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c== :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
Eq, Eq PipelineViewportSwizzleStateCreateFlagsNV
Eq PipelineViewportSwizzleStateCreateFlagsNV =>
(PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Ordering)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> Ord PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Ordering
PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$cmin :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
max :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$cmax :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
>= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c>= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
> :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c> :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
<= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c<= :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
< :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$c< :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Bool
compare :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Ordering
$ccompare :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> Ordering
$cp1Ord :: Eq PipelineViewportSwizzleStateCreateFlagsNV
Ord, Ptr b -> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
Ptr b -> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> IO PipelineViewportSwizzleStateCreateFlagsNV
Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
PipelineViewportSwizzleStateCreateFlagsNV -> Int
(PipelineViewportSwizzleStateCreateFlagsNV -> Int)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Int)
-> (Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV)
-> (Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ())
-> (forall b.
Ptr b -> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV)
-> (forall b.
Ptr b -> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ())
-> (Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> IO PipelineViewportSwizzleStateCreateFlagsNV)
-> (Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> IO ())
-> Storable PipelineViewportSwizzleStateCreateFlagsNV
forall b.
Ptr b -> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
forall b.
Ptr b -> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
$cpoke :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
peek :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> IO PipelineViewportSwizzleStateCreateFlagsNV
$cpeek :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> IO PipelineViewportSwizzleStateCreateFlagsNV
pokeByteOff :: Ptr b -> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
peekByteOff :: Ptr b -> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
$cpeekByteOff :: forall b.
Ptr b -> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
pokeElemOff :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
$cpokeElemOff :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV -> IO ()
peekElemOff :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
$cpeekElemOff :: Ptr PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> IO PipelineViewportSwizzleStateCreateFlagsNV
alignment :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
$calignment :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
sizeOf :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
$csizeOf :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
Storable, PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV
-> Zero PipelineViewportSwizzleStateCreateFlagsNV
forall a. a -> Zero a
zero :: PipelineViewportSwizzleStateCreateFlagsNV
$czero :: PipelineViewportSwizzleStateCreateFlagsNV
Zero, Eq PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV
Eq PipelineViewportSwizzleStateCreateFlagsNV =>
(PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> PipelineViewportSwizzleStateCreateFlagsNV
-> (Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Int -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Maybe Int)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Int)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Bool)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV)
-> (PipelineViewportSwizzleStateCreateFlagsNV -> Int)
-> Bits PipelineViewportSwizzleStateCreateFlagsNV
Int -> PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV -> Bool
PipelineViewportSwizzleStateCreateFlagsNV -> Int
PipelineViewportSwizzleStateCreateFlagsNV -> Maybe Int
PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV -> Int -> Bool
PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
$cpopCount :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
rotateR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$crotateR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
rotateL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$crotateL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
unsafeShiftR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cunsafeShiftR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
shiftR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cshiftR :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
unsafeShiftL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cunsafeShiftL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
shiftL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cshiftL :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
isSigned :: PipelineViewportSwizzleStateCreateFlagsNV -> Bool
$cisSigned :: PipelineViewportSwizzleStateCreateFlagsNV -> Bool
bitSize :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
$cbitSize :: PipelineViewportSwizzleStateCreateFlagsNV -> Int
bitSizeMaybe :: PipelineViewportSwizzleStateCreateFlagsNV -> Maybe Int
$cbitSizeMaybe :: PipelineViewportSwizzleStateCreateFlagsNV -> Maybe Int
testBit :: PipelineViewportSwizzleStateCreateFlagsNV -> Int -> Bool
$ctestBit :: PipelineViewportSwizzleStateCreateFlagsNV -> Int -> Bool
complementBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$ccomplementBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
clearBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cclearBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
setBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$csetBit :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
bit :: Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cbit :: Int -> PipelineViewportSwizzleStateCreateFlagsNV
zeroBits :: PipelineViewportSwizzleStateCreateFlagsNV
$czeroBits :: PipelineViewportSwizzleStateCreateFlagsNV
rotate :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$crotate :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
shift :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
$cshift :: PipelineViewportSwizzleStateCreateFlagsNV
-> Int -> PipelineViewportSwizzleStateCreateFlagsNV
complement :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$ccomplement :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
xor :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$cxor :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
.|. :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$c.|. :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
.&. :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$c.&. :: PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
-> PipelineViewportSwizzleStateCreateFlagsNV
$cp1Bits :: Eq PipelineViewportSwizzleStateCreateFlagsNV
Bits)
instance Show PipelineViewportSwizzleStateCreateFlagsNV where
showsPrec :: Int -> PipelineViewportSwizzleStateCreateFlagsNV -> ShowS
showsPrec p :: Int
p = \case
PipelineViewportSwizzleStateCreateFlagsNV x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "PipelineViewportSwizzleStateCreateFlagsNV 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read PipelineViewportSwizzleStateCreateFlagsNV where
readPrec :: ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
readPrec = ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec PipelineViewportSwizzleStateCreateFlagsNV)]
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose []
ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "PipelineViewportSwizzleStateCreateFlagsNV")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
PipelineViewportSwizzleStateCreateFlagsNV
-> ReadPrec PipelineViewportSwizzleStateCreateFlagsNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> PipelineViewportSwizzleStateCreateFlagsNV
PipelineViewportSwizzleStateCreateFlagsNV Word32
v)))
newtype ViewportCoordinateSwizzleNV = ViewportCoordinateSwizzleNV Int32
deriving newtype (ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
(ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> Eq ViewportCoordinateSwizzleNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c/= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
== :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c== :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
Eq, Eq ViewportCoordinateSwizzleNV
Eq ViewportCoordinateSwizzleNV =>
(ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Ordering)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Bool)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV)
-> (ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV)
-> Ord ViewportCoordinateSwizzleNV
ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Ordering
ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV
$cmin :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV
max :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV
$cmax :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV
>= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c>= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
> :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c> :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
<= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c<= :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
< :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
$c< :: ViewportCoordinateSwizzleNV -> ViewportCoordinateSwizzleNV -> Bool
compare :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Ordering
$ccompare :: ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> Ordering
$cp1Ord :: Eq ViewportCoordinateSwizzleNV
Ord, Ptr b -> Int -> IO ViewportCoordinateSwizzleNV
Ptr b -> Int -> ViewportCoordinateSwizzleNV -> IO ()
Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
Ptr ViewportCoordinateSwizzleNV
-> Int -> IO ViewportCoordinateSwizzleNV
Ptr ViewportCoordinateSwizzleNV
-> Int -> ViewportCoordinateSwizzleNV -> IO ()
Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
ViewportCoordinateSwizzleNV -> Int
(ViewportCoordinateSwizzleNV -> Int)
-> (ViewportCoordinateSwizzleNV -> Int)
-> (Ptr ViewportCoordinateSwizzleNV
-> Int -> IO ViewportCoordinateSwizzleNV)
-> (Ptr ViewportCoordinateSwizzleNV
-> Int -> ViewportCoordinateSwizzleNV -> IO ())
-> (forall b. Ptr b -> Int -> IO ViewportCoordinateSwizzleNV)
-> (forall b. Ptr b -> Int -> ViewportCoordinateSwizzleNV -> IO ())
-> (Ptr ViewportCoordinateSwizzleNV
-> IO ViewportCoordinateSwizzleNV)
-> (Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ())
-> Storable ViewportCoordinateSwizzleNV
forall b. Ptr b -> Int -> IO ViewportCoordinateSwizzleNV
forall b. Ptr b -> Int -> ViewportCoordinateSwizzleNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
$cpoke :: Ptr ViewportCoordinateSwizzleNV
-> ViewportCoordinateSwizzleNV -> IO ()
peek :: Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
$cpeek :: Ptr ViewportCoordinateSwizzleNV -> IO ViewportCoordinateSwizzleNV
pokeByteOff :: Ptr b -> Int -> ViewportCoordinateSwizzleNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ViewportCoordinateSwizzleNV -> IO ()
peekByteOff :: Ptr b -> Int -> IO ViewportCoordinateSwizzleNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ViewportCoordinateSwizzleNV
pokeElemOff :: Ptr ViewportCoordinateSwizzleNV
-> Int -> ViewportCoordinateSwizzleNV -> IO ()
$cpokeElemOff :: Ptr ViewportCoordinateSwizzleNV
-> Int -> ViewportCoordinateSwizzleNV -> IO ()
peekElemOff :: Ptr ViewportCoordinateSwizzleNV
-> Int -> IO ViewportCoordinateSwizzleNV
$cpeekElemOff :: Ptr ViewportCoordinateSwizzleNV
-> Int -> IO ViewportCoordinateSwizzleNV
alignment :: ViewportCoordinateSwizzleNV -> Int
$calignment :: ViewportCoordinateSwizzleNV -> Int
sizeOf :: ViewportCoordinateSwizzleNV -> Int
$csizeOf :: ViewportCoordinateSwizzleNV -> Int
Storable, ViewportCoordinateSwizzleNV
ViewportCoordinateSwizzleNV -> Zero ViewportCoordinateSwizzleNV
forall a. a -> Zero a
zero :: ViewportCoordinateSwizzleNV
$czero :: ViewportCoordinateSwizzleNV
Zero)
pattern $bVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = ViewportCoordinateSwizzleNV 0
pattern $bVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = ViewportCoordinateSwizzleNV 1
pattern $bVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = ViewportCoordinateSwizzleNV 2
pattern $bVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = ViewportCoordinateSwizzleNV 3
pattern $bVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = ViewportCoordinateSwizzleNV 4
pattern $bVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = ViewportCoordinateSwizzleNV 5
pattern $bVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = ViewportCoordinateSwizzleNV 6
pattern $bVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: ViewportCoordinateSwizzleNV
$mVIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: forall r.
ViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = ViewportCoordinateSwizzleNV 7
{-# complete VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: ViewportCoordinateSwizzleNV #-}
instance Show ViewportCoordinateSwizzleNV where
showsPrec :: Int -> ViewportCoordinateSwizzleNV -> ShowS
showsPrec p :: Int
p = \case
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV -> String -> ShowS
showString "VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"
ViewportCoordinateSwizzleNV x :: Int32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "ViewportCoordinateSwizzleNV " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11 Int32
x)
instance Read ViewportCoordinateSwizzleNV where
readPrec :: ReadPrec ViewportCoordinateSwizzleNV
readPrec = ReadPrec ViewportCoordinateSwizzleNV
-> ReadPrec ViewportCoordinateSwizzleNV
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec ViewportCoordinateSwizzleNV)]
-> ReadPrec ViewportCoordinateSwizzleNV
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV)
, ("VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV", ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure ViewportCoordinateSwizzleNV
VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]
ReadPrec ViewportCoordinateSwizzleNV
-> ReadPrec ViewportCoordinateSwizzleNV
-> ReadPrec ViewportCoordinateSwizzleNV
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec ViewportCoordinateSwizzleNV
-> ReadPrec ViewportCoordinateSwizzleNV
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "ViewportCoordinateSwizzleNV")
Int32
v <- ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec
ViewportCoordinateSwizzleNV -> ReadPrec ViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Int32 -> ViewportCoordinateSwizzleNV
ViewportCoordinateSwizzleNV Int32
v)))
type NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1
pattern NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: forall a . Integral a => a
pattern $bNV_VIEWPORT_SWIZZLE_SPEC_VERSION :: a
$mNV_VIEWPORT_SWIZZLE_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1
type NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle"
pattern NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bNV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: a
$mNV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle"