{-# language CPP #-}
module Vulkan.Extensions.VK_NV_shading_rate_image ( cmdBindShadingRateImageNV
, cmdSetViewportShadingRatePaletteNV
, cmdSetCoarseSampleOrderNV
, pattern IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV
, pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV
, pattern IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV
, pattern PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
, ShadingRatePaletteNV(..)
, PipelineViewportShadingRateImageStateCreateInfoNV(..)
, PhysicalDeviceShadingRateImageFeaturesNV(..)
, PhysicalDeviceShadingRateImagePropertiesNV(..)
, CoarseSampleLocationNV(..)
, CoarseSampleOrderCustomNV(..)
, PipelineViewportCoarseSampleOrderStateCreateInfoNV(..)
, ShadingRatePaletteEntryNV( SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV
, SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
, ..
)
, CoarseSampleOrderTypeNV( COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
, COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
, COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV
, COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
, ..
)
, NV_SHADING_RATE_IMAGE_SPEC_VERSION
, pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION
, NV_SHADING_RATE_IMAGE_EXTENSION_NAME
, pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showsPrec)
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 Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
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 GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Dynamic (DeviceCmds(pVkCmdBindShadingRateImageNV))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetCoarseSampleOrderNV))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportShadingRatePaletteNV))
import Vulkan.Core10.FundamentalTypes (Extent2D)
import Vulkan.Core10.Enums.ImageLayout (ImageLayout)
import Vulkan.Core10.Enums.ImageLayout (ImageLayout(..))
import Vulkan.Core10.Handles (ImageView)
import Vulkan.Core10.Handles (ImageView(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.AccessFlagBits (AccessFlags)
import Vulkan.Core10.Enums.AccessFlagBits (AccessFlagBits(ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR))
import Vulkan.Core10.Enums.ImageLayout (ImageLayout(IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR))
import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags)
import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlagBits(IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR))
import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlags)
import Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlagBits(PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdBindShadingRateImageNV
:: FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()
cmdBindShadingRateImageNV :: forall io
. (MonadIO io)
=>
CommandBuffer
->
ImageView
->
ImageLayout
-> io ()
cmdBindShadingRateImageNV :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> ImageView -> ImageLayout -> io ()
cmdBindShadingRateImageNV CommandBuffer
commandBuffer ImageView
imageView ImageLayout
imageLayout = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let vkCmdBindShadingRateImageNVPtr :: FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
vkCmdBindShadingRateImageNVPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
pVkCmdBindShadingRateImageNV (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
vkCmdBindShadingRateImageNVPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdBindShadingRateImageNV is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdBindShadingRateImageNV' :: Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()
vkCmdBindShadingRateImageNV' = FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
-> Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()
mkVkCmdBindShadingRateImageNV FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ())
vkCmdBindShadingRateImageNVPtr
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdBindShadingRateImageNV" (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()
vkCmdBindShadingRateImageNV'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
(ImageView
imageView)
(ImageLayout
imageLayout))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetViewportShadingRatePaletteNV
:: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ShadingRatePaletteNV -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ShadingRatePaletteNV -> IO ()
cmdSetViewportShadingRatePaletteNV :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("firstViewport" ::: Word32)
->
("shadingRatePalettes" ::: Vector ShadingRatePaletteNV)
-> io ()
cmdSetViewportShadingRatePaletteNV :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer
-> ("firstViewport" ::: Word32)
-> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV)
-> io ()
cmdSetViewportShadingRatePaletteNV CommandBuffer
commandBuffer
"firstViewport" ::: Word32
firstViewport
"shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetViewportShadingRatePaletteNVPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ())
vkCmdSetViewportShadingRatePaletteNVPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ())
pVkCmdSetViewportShadingRatePaletteNV (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ())
vkCmdSetViewportShadingRatePaletteNVPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetViewportShadingRatePaletteNV is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdSetViewportShadingRatePaletteNV' :: Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ()
vkCmdSetViewportShadingRatePaletteNV' = FunPtr
(Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ())
-> Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ()
mkVkCmdSetViewportShadingRatePaletteNV FunPtr
(Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ())
vkCmdSetViewportShadingRatePaletteNVPtr
"pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @ShadingRatePaletteNV ((forall a. Vector a -> Int
Data.Vector.length ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)) forall a. Num a => a -> a -> a
* Int
16)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i ShadingRatePaletteNV
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
16 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ShadingRatePaletteNV) (ShadingRatePaletteNV
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetViewportShadingRatePaletteNV" (Ptr CommandBuffer_T
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ()
vkCmdSetViewportShadingRatePaletteNV'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
("firstViewport" ::: Word32
firstViewport)
((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)) :: Word32))
("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetCoarseSampleOrderNV
:: FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> Word32 -> Ptr CoarseSampleOrderCustomNV -> IO ()) -> Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> Word32 -> Ptr CoarseSampleOrderCustomNV -> IO ()
cmdSetCoarseSampleOrderNV :: forall io
. (MonadIO io)
=>
CommandBuffer
->
CoarseSampleOrderTypeNV
->
("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV)
-> io ()
cmdSetCoarseSampleOrderNV :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer
-> CoarseSampleOrderTypeNV
-> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV)
-> io ()
cmdSetCoarseSampleOrderNV CommandBuffer
commandBuffer
CoarseSampleOrderTypeNV
sampleOrderType
"customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetCoarseSampleOrderNVPtr :: FunPtr
(Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ())
vkCmdSetCoarseSampleOrderNVPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ())
pVkCmdSetCoarseSampleOrderNV (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ())
vkCmdSetCoarseSampleOrderNVPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetCoarseSampleOrderNV is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdSetCoarseSampleOrderNV' :: Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ()
vkCmdSetCoarseSampleOrderNV' = FunPtr
(Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ())
-> Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ()
mkVkCmdSetCoarseSampleOrderNV FunPtr
(Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ())
vkCmdSetCoarseSampleOrderNVPtr
"pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @CoarseSampleOrderCustomNV ((forall a. Vector a -> Int
Data.Vector.length ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)) forall a. Num a => a -> a -> a
* Int
24)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i CoarseSampleOrderCustomNV
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
24 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CoarseSampleOrderCustomNV) (CoarseSampleOrderCustomNV
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetCoarseSampleOrderNV" (Ptr CommandBuffer_T
-> CoarseSampleOrderTypeNV
-> ("firstViewport" ::: Word32)
-> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO ()
vkCmdSetCoarseSampleOrderNV'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
(CoarseSampleOrderTypeNV
sampleOrderType)
((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)) :: Word32))
("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
pattern $bIMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: ImageLayout
$mIMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV :: forall {r}. ImageLayout -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
pattern $bACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: AccessFlagBits
$mACCESS_SHADING_RATE_IMAGE_READ_BIT_NV :: forall {r}. AccessFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
pattern $bIMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV :: ImageUsageFlagBits
$mIMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV :: forall {r}. ImageUsageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
pattern $bPIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: PipelineStageFlagBits
$mPIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: forall {r}.
PipelineStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
data ShadingRatePaletteNV = ShadingRatePaletteNV
{
ShadingRatePaletteNV -> Vector ShadingRatePaletteEntryNV
shadingRatePaletteEntries :: Vector ShadingRatePaletteEntryNV }
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ShadingRatePaletteNV)
#endif
deriving instance Show ShadingRatePaletteNV
instance ToCStruct ShadingRatePaletteNV where
withCStruct :: forall b.
ShadingRatePaletteNV
-> (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO b)
-> IO b
withCStruct ShadingRatePaletteNV
x ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
16 forall a b. (a -> b) -> a -> b
$ \"pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p ShadingRatePaletteNV
x (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO b
f "pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p)
pokeCStruct :: forall b.
("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> ShadingRatePaletteNV -> IO b -> IO b
pokeCStruct "pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p ShadingRatePaletteNV{Vector ShadingRatePaletteEntryNV
shadingRatePaletteEntries :: Vector ShadingRatePaletteEntryNV
$sel:shadingRatePaletteEntries:ShadingRatePaletteNV :: ShadingRatePaletteNV -> Vector ShadingRatePaletteEntryNV
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector ShadingRatePaletteEntryNV
shadingRatePaletteEntries)) :: Word32))
Ptr ShadingRatePaletteEntryNV
pPShadingRatePaletteEntries' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @ShadingRatePaletteEntryNV ((forall a. Vector a -> Int
Data.Vector.length (Vector ShadingRatePaletteEntryNV
shadingRatePaletteEntries)) forall a. Num a => a -> a -> a
* Int
4)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i ShadingRatePaletteEntryNV
e -> forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ShadingRatePaletteEntryNV
pPShadingRatePaletteEntries' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ShadingRatePaletteEntryNV) (ShadingRatePaletteEntryNV
e)) (Vector ShadingRatePaletteEntryNV
shadingRatePaletteEntries)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ShadingRatePaletteEntryNV))) (Ptr ShadingRatePaletteEntryNV
pPShadingRatePaletteEntries')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
16
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO b -> IO b
pokeZeroCStruct "pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
_ IO b
f = IO b
f
instance FromCStruct ShadingRatePaletteNV where
peekCStruct :: ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV)
-> IO ShadingRatePaletteNV
peekCStruct "pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p = do
"firstViewport" ::: Word32
shadingRatePaletteEntryCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32))
Ptr ShadingRatePaletteEntryNV
pShadingRatePaletteEntries <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ShadingRatePaletteEntryNV) (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ShadingRatePaletteEntryNV)))
Vector ShadingRatePaletteEntryNV
pShadingRatePaletteEntries' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral "firstViewport" ::: Word32
shadingRatePaletteEntryCount) (\Int
i -> forall a. Storable a => Ptr a -> IO a
peek @ShadingRatePaletteEntryNV ((Ptr ShadingRatePaletteEntryNV
pShadingRatePaletteEntries forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ShadingRatePaletteEntryNV)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Vector ShadingRatePaletteEntryNV -> ShadingRatePaletteNV
ShadingRatePaletteNV
Vector ShadingRatePaletteEntryNV
pShadingRatePaletteEntries'
instance Zero ShadingRatePaletteNV where
zero :: ShadingRatePaletteNV
zero = Vector ShadingRatePaletteEntryNV -> ShadingRatePaletteNV
ShadingRatePaletteNV
forall a. Monoid a => a
mempty
data PipelineViewportShadingRateImageStateCreateInfoNV = PipelineViewportShadingRateImageStateCreateInfoNV
{
PipelineViewportShadingRateImageStateCreateInfoNV -> Bool
shadingRateImageEnable :: Bool
,
PipelineViewportShadingRateImageStateCreateInfoNV
-> "shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes :: Vector ShadingRatePaletteNV
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineViewportShadingRateImageStateCreateInfoNV)
#endif
deriving instance Show PipelineViewportShadingRateImageStateCreateInfoNV
instance ToCStruct PipelineViewportShadingRateImageStateCreateInfoNV where
withCStruct :: forall b.
PipelineViewportShadingRateImageStateCreateInfoNV
-> (Ptr PipelineViewportShadingRateImageStateCreateInfoNV -> IO b)
-> IO b
withCStruct PipelineViewportShadingRateImageStateCreateInfoNV
x Ptr PipelineViewportShadingRateImageStateCreateInfoNV -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p PipelineViewportShadingRateImageStateCreateInfoNV
x (Ptr PipelineViewportShadingRateImageStateCreateInfoNV -> IO b
f Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p)
pokeCStruct :: forall b.
Ptr PipelineViewportShadingRateImageStateCreateInfoNV
-> PipelineViewportShadingRateImageStateCreateInfoNV
-> IO b
-> IO b
pokeCStruct Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p PipelineViewportShadingRateImageStateCreateInfoNV{Bool
"shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes :: "shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRateImageEnable :: Bool
$sel:shadingRatePalettes:PipelineViewportShadingRateImageStateCreateInfoNV :: PipelineViewportShadingRateImageStateCreateInfoNV
-> "shadingRatePalettes" ::: Vector ShadingRatePaletteNV
$sel:shadingRateImageEnable:PipelineViewportShadingRateImageStateCreateInfoNV :: PipelineViewportShadingRateImageStateCreateInfoNV -> Bool
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shadingRateImageEnable))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)) :: Word32))
"pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @ShadingRatePaletteNV ((forall a. Vector a -> Int
Data.Vector.length ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)) forall a. Num a => a -> a -> a
* Int
16)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i ShadingRatePaletteNV
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
16 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ShadingRatePaletteNV) (ShadingRatePaletteNV
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV
shadingRatePalettes)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ShadingRatePaletteNV))) ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pPShadingRatePalettes')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PipelineViewportShadingRateImageStateCreateInfoNV
-> IO b -> IO b
pokeZeroCStruct Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PipelineViewportShadingRateImageStateCreateInfoNV where
peekCStruct :: Ptr PipelineViewportShadingRateImageStateCreateInfoNV
-> IO PipelineViewportShadingRateImageStateCreateInfoNV
peekCStruct Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p = do
Bool32
shadingRateImageEnable <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
"firstViewport" ::: Word32
viewportCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
"pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pShadingRatePalettes <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ShadingRatePaletteNV) ((Ptr PipelineViewportShadingRateImageStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ShadingRatePaletteNV)))
"shadingRatePalettes" ::: Vector ShadingRatePaletteNV
pShadingRatePalettes' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral "firstViewport" ::: Word32
viewportCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ShadingRatePaletteNV (("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV
pShadingRatePalettes forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
16 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ShadingRatePaletteNV)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Bool
-> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV)
-> PipelineViewportShadingRateImageStateCreateInfoNV
PipelineViewportShadingRateImageStateCreateInfoNV
(Bool32 -> Bool
bool32ToBool Bool32
shadingRateImageEnable) "shadingRatePalettes" ::: Vector ShadingRatePaletteNV
pShadingRatePalettes'
instance Zero PipelineViewportShadingRateImageStateCreateInfoNV where
zero :: PipelineViewportShadingRateImageStateCreateInfoNV
zero = Bool
-> ("shadingRatePalettes" ::: Vector ShadingRatePaletteNV)
-> PipelineViewportShadingRateImageStateCreateInfoNV
PipelineViewportShadingRateImageStateCreateInfoNV
forall a. Zero a => a
zero
forall a. Monoid a => a
mempty
data PhysicalDeviceShadingRateImageFeaturesNV = PhysicalDeviceShadingRateImageFeaturesNV
{
PhysicalDeviceShadingRateImageFeaturesNV -> Bool
shadingRateImage :: Bool
,
PhysicalDeviceShadingRateImageFeaturesNV -> Bool
shadingRateCoarseSampleOrder :: Bool
}
deriving (Typeable, PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> Bool
$c/= :: PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> Bool
== :: PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> Bool
$c== :: PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceShadingRateImageFeaturesNV)
#endif
deriving instance Show PhysicalDeviceShadingRateImageFeaturesNV
instance ToCStruct PhysicalDeviceShadingRateImageFeaturesNV where
withCStruct :: forall b.
PhysicalDeviceShadingRateImageFeaturesNV
-> (Ptr PhysicalDeviceShadingRateImageFeaturesNV -> IO b) -> IO b
withCStruct PhysicalDeviceShadingRateImageFeaturesNV
x Ptr PhysicalDeviceShadingRateImageFeaturesNV -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceShadingRateImageFeaturesNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImageFeaturesNV
p PhysicalDeviceShadingRateImageFeaturesNV
x (Ptr PhysicalDeviceShadingRateImageFeaturesNV -> IO b
f Ptr PhysicalDeviceShadingRateImageFeaturesNV
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImageFeaturesNV
p PhysicalDeviceShadingRateImageFeaturesNV{Bool
shadingRateCoarseSampleOrder :: Bool
shadingRateImage :: Bool
$sel:shadingRateCoarseSampleOrder:PhysicalDeviceShadingRateImageFeaturesNV :: PhysicalDeviceShadingRateImageFeaturesNV -> Bool
$sel:shadingRateImage:PhysicalDeviceShadingRateImageFeaturesNV :: PhysicalDeviceShadingRateImageFeaturesNV -> Bool
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shadingRateImage))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shadingRateCoarseSampleOrder))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceShadingRateImageFeaturesNV -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceShadingRateImageFeaturesNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceShadingRateImageFeaturesNV where
peekCStruct :: Ptr PhysicalDeviceShadingRateImageFeaturesNV
-> IO PhysicalDeviceShadingRateImageFeaturesNV
peekCStruct Ptr PhysicalDeviceShadingRateImageFeaturesNV
p = do
Bool32
shadingRateImage <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
shadingRateCoarseSampleOrder <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceShadingRateImageFeaturesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> PhysicalDeviceShadingRateImageFeaturesNV
PhysicalDeviceShadingRateImageFeaturesNV
(Bool32 -> Bool
bool32ToBool Bool32
shadingRateImage)
(Bool32 -> Bool
bool32ToBool Bool32
shadingRateCoarseSampleOrder)
instance Storable PhysicalDeviceShadingRateImageFeaturesNV where
sizeOf :: PhysicalDeviceShadingRateImageFeaturesNV -> Int
sizeOf ~PhysicalDeviceShadingRateImageFeaturesNV
_ = Int
24
alignment :: PhysicalDeviceShadingRateImageFeaturesNV -> Int
alignment ~PhysicalDeviceShadingRateImageFeaturesNV
_ = Int
8
peek :: Ptr PhysicalDeviceShadingRateImageFeaturesNV
-> IO PhysicalDeviceShadingRateImageFeaturesNV
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceShadingRateImageFeaturesNV
-> PhysicalDeviceShadingRateImageFeaturesNV -> IO ()
poke Ptr PhysicalDeviceShadingRateImageFeaturesNV
ptr PhysicalDeviceShadingRateImageFeaturesNV
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImageFeaturesNV
ptr PhysicalDeviceShadingRateImageFeaturesNV
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceShadingRateImageFeaturesNV where
zero :: PhysicalDeviceShadingRateImageFeaturesNV
zero = Bool -> Bool -> PhysicalDeviceShadingRateImageFeaturesNV
PhysicalDeviceShadingRateImageFeaturesNV
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data PhysicalDeviceShadingRateImagePropertiesNV = PhysicalDeviceShadingRateImagePropertiesNV
{
PhysicalDeviceShadingRateImagePropertiesNV -> Extent2D
shadingRateTexelSize :: Extent2D
,
PhysicalDeviceShadingRateImagePropertiesNV
-> "firstViewport" ::: Word32
shadingRatePaletteSize :: Word32
,
PhysicalDeviceShadingRateImagePropertiesNV
-> "firstViewport" ::: Word32
shadingRateMaxCoarseSamples :: Word32
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceShadingRateImagePropertiesNV)
#endif
deriving instance Show PhysicalDeviceShadingRateImagePropertiesNV
instance ToCStruct PhysicalDeviceShadingRateImagePropertiesNV where
withCStruct :: forall b.
PhysicalDeviceShadingRateImagePropertiesNV
-> (Ptr PhysicalDeviceShadingRateImagePropertiesNV -> IO b) -> IO b
withCStruct PhysicalDeviceShadingRateImagePropertiesNV
x Ptr PhysicalDeviceShadingRateImagePropertiesNV -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceShadingRateImagePropertiesNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImagePropertiesNV
p PhysicalDeviceShadingRateImagePropertiesNV
x (Ptr PhysicalDeviceShadingRateImagePropertiesNV -> IO b
f Ptr PhysicalDeviceShadingRateImagePropertiesNV
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceShadingRateImagePropertiesNV
-> PhysicalDeviceShadingRateImagePropertiesNV -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImagePropertiesNV
p PhysicalDeviceShadingRateImagePropertiesNV{"firstViewport" ::: Word32
Extent2D
shadingRateMaxCoarseSamples :: "firstViewport" ::: Word32
shadingRatePaletteSize :: "firstViewport" ::: Word32
shadingRateTexelSize :: Extent2D
$sel:shadingRateMaxCoarseSamples:PhysicalDeviceShadingRateImagePropertiesNV :: PhysicalDeviceShadingRateImagePropertiesNV
-> "firstViewport" ::: Word32
$sel:shadingRatePaletteSize:PhysicalDeviceShadingRateImagePropertiesNV :: PhysicalDeviceShadingRateImagePropertiesNV
-> "firstViewport" ::: Word32
$sel:shadingRateTexelSize:PhysicalDeviceShadingRateImagePropertiesNV :: PhysicalDeviceShadingRateImagePropertiesNV -> Extent2D
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D)) (Extent2D
shadingRateTexelSize)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) ("firstViewport" ::: Word32
shadingRatePaletteSize)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) ("firstViewport" ::: Word32
shadingRateMaxCoarseSamples)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceShadingRateImagePropertiesNV -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceShadingRateImagePropertiesNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceShadingRateImagePropertiesNV where
peekCStruct :: Ptr PhysicalDeviceShadingRateImagePropertiesNV
-> IO PhysicalDeviceShadingRateImagePropertiesNV
peekCStruct Ptr PhysicalDeviceShadingRateImagePropertiesNV
p = do
Extent2D
shadingRateTexelSize <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Extent2D))
"firstViewport" ::: Word32
shadingRatePaletteSize <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
"firstViewport" ::: Word32
shadingRateMaxCoarseSamples <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceShadingRateImagePropertiesNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Extent2D
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> PhysicalDeviceShadingRateImagePropertiesNV
PhysicalDeviceShadingRateImagePropertiesNV
Extent2D
shadingRateTexelSize
"firstViewport" ::: Word32
shadingRatePaletteSize
"firstViewport" ::: Word32
shadingRateMaxCoarseSamples
instance Storable PhysicalDeviceShadingRateImagePropertiesNV where
sizeOf :: PhysicalDeviceShadingRateImagePropertiesNV -> Int
sizeOf ~PhysicalDeviceShadingRateImagePropertiesNV
_ = Int
32
alignment :: PhysicalDeviceShadingRateImagePropertiesNV -> Int
alignment ~PhysicalDeviceShadingRateImagePropertiesNV
_ = Int
8
peek :: Ptr PhysicalDeviceShadingRateImagePropertiesNV
-> IO PhysicalDeviceShadingRateImagePropertiesNV
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceShadingRateImagePropertiesNV
-> PhysicalDeviceShadingRateImagePropertiesNV -> IO ()
poke Ptr PhysicalDeviceShadingRateImagePropertiesNV
ptr PhysicalDeviceShadingRateImagePropertiesNV
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceShadingRateImagePropertiesNV
ptr PhysicalDeviceShadingRateImagePropertiesNV
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceShadingRateImagePropertiesNV where
zero :: PhysicalDeviceShadingRateImagePropertiesNV
zero = Extent2D
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> PhysicalDeviceShadingRateImagePropertiesNV
PhysicalDeviceShadingRateImagePropertiesNV
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data CoarseSampleLocationNV = CoarseSampleLocationNV
{
CoarseSampleLocationNV -> "firstViewport" ::: Word32
pixelX :: Word32
,
CoarseSampleLocationNV -> "firstViewport" ::: Word32
pixelY :: Word32
,
CoarseSampleLocationNV -> "firstViewport" ::: Word32
sample :: Word32
}
deriving (Typeable, CoarseSampleLocationNV -> CoarseSampleLocationNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CoarseSampleLocationNV -> CoarseSampleLocationNV -> Bool
$c/= :: CoarseSampleLocationNV -> CoarseSampleLocationNV -> Bool
== :: CoarseSampleLocationNV -> CoarseSampleLocationNV -> Bool
$c== :: CoarseSampleLocationNV -> CoarseSampleLocationNV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CoarseSampleLocationNV)
#endif
deriving instance Show CoarseSampleLocationNV
instance ToCStruct CoarseSampleLocationNV where
withCStruct :: forall b.
CoarseSampleLocationNV
-> (Ptr CoarseSampleLocationNV -> IO b) -> IO b
withCStruct CoarseSampleLocationNV
x Ptr CoarseSampleLocationNV -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
12 forall a b. (a -> b) -> a -> b
$ \Ptr CoarseSampleLocationNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CoarseSampleLocationNV
p CoarseSampleLocationNV
x (Ptr CoarseSampleLocationNV -> IO b
f Ptr CoarseSampleLocationNV
p)
pokeCStruct :: forall b.
Ptr CoarseSampleLocationNV
-> CoarseSampleLocationNV -> IO b -> IO b
pokeCStruct Ptr CoarseSampleLocationNV
p CoarseSampleLocationNV{"firstViewport" ::: Word32
sample :: "firstViewport" ::: Word32
pixelY :: "firstViewport" ::: Word32
pixelX :: "firstViewport" ::: Word32
$sel:sample:CoarseSampleLocationNV :: CoarseSampleLocationNV -> "firstViewport" ::: Word32
$sel:pixelY:CoarseSampleLocationNV :: CoarseSampleLocationNV -> "firstViewport" ::: Word32
$sel:pixelX:CoarseSampleLocationNV :: CoarseSampleLocationNV -> "firstViewport" ::: Word32
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32)) ("firstViewport" ::: Word32
pixelX)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) ("firstViewport" ::: Word32
pixelY)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) ("firstViewport" ::: Word32
sample)
IO b
f
cStructSize :: Int
cStructSize = Int
12
cStructAlignment :: Int
cStructAlignment = Int
4
pokeZeroCStruct :: forall b. Ptr CoarseSampleLocationNV -> IO b -> IO b
pokeZeroCStruct Ptr CoarseSampleLocationNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CoarseSampleLocationNV where
peekCStruct :: Ptr CoarseSampleLocationNV -> IO CoarseSampleLocationNV
peekCStruct Ptr CoarseSampleLocationNV
p = do
"firstViewport" ::: Word32
pixelX <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr Word32))
"firstViewport" ::: Word32
pixelY <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32))
"firstViewport" ::: Word32
sample <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CoarseSampleLocationNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> CoarseSampleLocationNV
CoarseSampleLocationNV
"firstViewport" ::: Word32
pixelX "firstViewport" ::: Word32
pixelY "firstViewport" ::: Word32
sample
instance Storable CoarseSampleLocationNV where
sizeOf :: CoarseSampleLocationNV -> Int
sizeOf ~CoarseSampleLocationNV
_ = Int
12
alignment :: CoarseSampleLocationNV -> Int
alignment ~CoarseSampleLocationNV
_ = Int
4
peek :: Ptr CoarseSampleLocationNV -> IO CoarseSampleLocationNV
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr CoarseSampleLocationNV -> CoarseSampleLocationNV -> IO ()
poke Ptr CoarseSampleLocationNV
ptr CoarseSampleLocationNV
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CoarseSampleLocationNV
ptr CoarseSampleLocationNV
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero CoarseSampleLocationNV where
zero :: CoarseSampleLocationNV
zero = ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> ("firstViewport" ::: Word32)
-> CoarseSampleLocationNV
CoarseSampleLocationNV
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data CoarseSampleOrderCustomNV = CoarseSampleOrderCustomNV
{
CoarseSampleOrderCustomNV -> ShadingRatePaletteEntryNV
shadingRate :: ShadingRatePaletteEntryNV
,
CoarseSampleOrderCustomNV -> "firstViewport" ::: Word32
sampleCount :: Word32
,
CoarseSampleOrderCustomNV -> Vector CoarseSampleLocationNV
sampleLocations :: Vector CoarseSampleLocationNV
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CoarseSampleOrderCustomNV)
#endif
deriving instance Show CoarseSampleOrderCustomNV
instance ToCStruct CoarseSampleOrderCustomNV where
withCStruct :: forall b.
CoarseSampleOrderCustomNV
-> (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO b)
-> IO b
withCStruct CoarseSampleOrderCustomNV
x ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 forall a b. (a -> b) -> a -> b
$ \"pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p CoarseSampleOrderCustomNV
x (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO b
f "pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p)
pokeCStruct :: forall b.
("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> CoarseSampleOrderCustomNV -> IO b -> IO b
pokeCStruct "pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p CoarseSampleOrderCustomNV{"firstViewport" ::: Word32
Vector CoarseSampleLocationNV
ShadingRatePaletteEntryNV
sampleLocations :: Vector CoarseSampleLocationNV
sampleCount :: "firstViewport" ::: Word32
shadingRate :: ShadingRatePaletteEntryNV
$sel:sampleLocations:CoarseSampleOrderCustomNV :: CoarseSampleOrderCustomNV -> Vector CoarseSampleLocationNV
$sel:sampleCount:CoarseSampleOrderCustomNV :: CoarseSampleOrderCustomNV -> "firstViewport" ::: Word32
$sel:shadingRate:CoarseSampleOrderCustomNV :: CoarseSampleOrderCustomNV -> ShadingRatePaletteEntryNV
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ShadingRatePaletteEntryNV)) (ShadingRatePaletteEntryNV
shadingRate)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) ("firstViewport" ::: Word32
sampleCount)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector CoarseSampleLocationNV
sampleLocations)) :: Word32))
Ptr CoarseSampleLocationNV
pPSampleLocations' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @CoarseSampleLocationNV ((forall a. Vector a -> Int
Data.Vector.length (Vector CoarseSampleLocationNV
sampleLocations)) forall a. Num a => a -> a -> a
* Int
12)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i CoarseSampleLocationNV
e -> forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CoarseSampleLocationNV
pPSampleLocations' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
12 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CoarseSampleLocationNV) (CoarseSampleLocationNV
e)) (Vector CoarseSampleLocationNV
sampleLocations)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CoarseSampleLocationNV))) (Ptr CoarseSampleLocationNV
pPSampleLocations')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO b -> IO b
pokeZeroCStruct "pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ShadingRatePaletteEntryNV)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CoarseSampleOrderCustomNV where
peekCStruct :: ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV)
-> IO CoarseSampleOrderCustomNV
peekCStruct "pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p = do
ShadingRatePaletteEntryNV
shadingRate <- forall a. Storable a => Ptr a -> IO a
peek @ShadingRatePaletteEntryNV (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr ShadingRatePaletteEntryNV))
"firstViewport" ::: Word32
sampleCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr Word32))
"firstViewport" ::: Word32
sampleLocationCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr Word32))
Ptr CoarseSampleLocationNV
pSampleLocations <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr CoarseSampleLocationNV) (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CoarseSampleLocationNV)))
Vector CoarseSampleLocationNV
pSampleLocations' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral "firstViewport" ::: Word32
sampleLocationCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @CoarseSampleLocationNV ((Ptr CoarseSampleLocationNV
pSampleLocations forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
12 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CoarseSampleLocationNV)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ShadingRatePaletteEntryNV
-> ("firstViewport" ::: Word32)
-> Vector CoarseSampleLocationNV
-> CoarseSampleOrderCustomNV
CoarseSampleOrderCustomNV
ShadingRatePaletteEntryNV
shadingRate "firstViewport" ::: Word32
sampleCount Vector CoarseSampleLocationNV
pSampleLocations'
instance Zero CoarseSampleOrderCustomNV where
zero :: CoarseSampleOrderCustomNV
zero = ShadingRatePaletteEntryNV
-> ("firstViewport" ::: Word32)
-> Vector CoarseSampleLocationNV
-> CoarseSampleOrderCustomNV
CoarseSampleOrderCustomNV
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Monoid a => a
mempty
data PipelineViewportCoarseSampleOrderStateCreateInfoNV = PipelineViewportCoarseSampleOrderStateCreateInfoNV
{
PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> CoarseSampleOrderTypeNV
sampleOrderType :: CoarseSampleOrderTypeNV
,
PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> "customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders :: Vector CoarseSampleOrderCustomNV
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineViewportCoarseSampleOrderStateCreateInfoNV)
#endif
deriving instance Show PipelineViewportCoarseSampleOrderStateCreateInfoNV
instance ToCStruct PipelineViewportCoarseSampleOrderStateCreateInfoNV where
withCStruct :: forall b.
PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> (Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV -> IO b)
-> IO b
withCStruct PipelineViewportCoarseSampleOrderStateCreateInfoNV
x Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p PipelineViewportCoarseSampleOrderStateCreateInfoNV
x (Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV -> IO b
f Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p)
pokeCStruct :: forall b.
Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> IO b
-> IO b
pokeCStruct Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p PipelineViewportCoarseSampleOrderStateCreateInfoNV{"customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
CoarseSampleOrderTypeNV
customSampleOrders :: "customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
sampleOrderType :: CoarseSampleOrderTypeNV
$sel:customSampleOrders:PipelineViewportCoarseSampleOrderStateCreateInfoNV :: PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> "customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
$sel:sampleOrderType:PipelineViewportCoarseSampleOrderStateCreateInfoNV :: PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> CoarseSampleOrderTypeNV
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CoarseSampleOrderTypeNV)) (CoarseSampleOrderTypeNV
sampleOrderType)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)) :: Word32))
"pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @CoarseSampleOrderCustomNV ((forall a. Vector a -> Int
Data.Vector.length ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)) forall a. Num a => a -> a -> a
* Int
24)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i CoarseSampleOrderCustomNV
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
24 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CoarseSampleOrderCustomNV) (CoarseSampleOrderCustomNV
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
customSampleOrders)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr CoarseSampleOrderCustomNV))) ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pPCustomSampleOrders')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> IO b -> IO b
pokeZeroCStruct Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CoarseSampleOrderTypeNV)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineViewportCoarseSampleOrderStateCreateInfoNV where
peekCStruct :: Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
-> IO PipelineViewportCoarseSampleOrderStateCreateInfoNV
peekCStruct Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p = do
CoarseSampleOrderTypeNV
sampleOrderType <- forall a. Storable a => Ptr a -> IO a
peek @CoarseSampleOrderTypeNV ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CoarseSampleOrderTypeNV))
"firstViewport" ::: Word32
customSampleOrderCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
"pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pCustomSampleOrders <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr CoarseSampleOrderCustomNV) ((Ptr PipelineViewportCoarseSampleOrderStateCreateInfoNV
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr CoarseSampleOrderCustomNV)))
"customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
pCustomSampleOrders' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral "firstViewport" ::: Word32
customSampleOrderCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @CoarseSampleOrderCustomNV (("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV
pCustomSampleOrders forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
24 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CoarseSampleOrderCustomNV)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ CoarseSampleOrderTypeNV
-> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV)
-> PipelineViewportCoarseSampleOrderStateCreateInfoNV
PipelineViewportCoarseSampleOrderStateCreateInfoNV
CoarseSampleOrderTypeNV
sampleOrderType "customSampleOrders" ::: Vector CoarseSampleOrderCustomNV
pCustomSampleOrders'
instance Zero PipelineViewportCoarseSampleOrderStateCreateInfoNV where
zero :: PipelineViewportCoarseSampleOrderStateCreateInfoNV
zero = CoarseSampleOrderTypeNV
-> ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV)
-> PipelineViewportCoarseSampleOrderStateCreateInfoNV
PipelineViewportCoarseSampleOrderStateCreateInfoNV
forall a. Zero a => a
zero
forall a. Monoid a => a
mempty
newtype ShadingRatePaletteEntryNV = ShadingRatePaletteEntryNV Int32
deriving newtype (ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c/= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
== :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c== :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
Eq, Eq ShadingRatePaletteEntryNV
ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Ordering
ShadingRatePaletteEntryNV
-> ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV
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 :: ShadingRatePaletteEntryNV
-> ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV
$cmin :: ShadingRatePaletteEntryNV
-> ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV
max :: ShadingRatePaletteEntryNV
-> ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV
$cmax :: ShadingRatePaletteEntryNV
-> ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV
>= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c>= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
> :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c> :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
<= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c<= :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
< :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
$c< :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Bool
compare :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Ordering
$ccompare :: ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> Ordering
Ord, Ptr ShadingRatePaletteEntryNV -> IO ShadingRatePaletteEntryNV
Ptr ShadingRatePaletteEntryNV
-> Int -> IO ShadingRatePaletteEntryNV
Ptr ShadingRatePaletteEntryNV
-> Int -> ShadingRatePaletteEntryNV -> IO ()
Ptr ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> IO ()
ShadingRatePaletteEntryNV -> Int
forall b. Ptr b -> Int -> IO ShadingRatePaletteEntryNV
forall b. Ptr b -> Int -> ShadingRatePaletteEntryNV -> 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 ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> IO ()
$cpoke :: Ptr ShadingRatePaletteEntryNV -> ShadingRatePaletteEntryNV -> IO ()
peek :: Ptr ShadingRatePaletteEntryNV -> IO ShadingRatePaletteEntryNV
$cpeek :: Ptr ShadingRatePaletteEntryNV -> IO ShadingRatePaletteEntryNV
pokeByteOff :: forall b. Ptr b -> Int -> ShadingRatePaletteEntryNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ShadingRatePaletteEntryNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ShadingRatePaletteEntryNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ShadingRatePaletteEntryNV
pokeElemOff :: Ptr ShadingRatePaletteEntryNV
-> Int -> ShadingRatePaletteEntryNV -> IO ()
$cpokeElemOff :: Ptr ShadingRatePaletteEntryNV
-> Int -> ShadingRatePaletteEntryNV -> IO ()
peekElemOff :: Ptr ShadingRatePaletteEntryNV
-> Int -> IO ShadingRatePaletteEntryNV
$cpeekElemOff :: Ptr ShadingRatePaletteEntryNV
-> Int -> IO ShadingRatePaletteEntryNV
alignment :: ShadingRatePaletteEntryNV -> Int
$calignment :: ShadingRatePaletteEntryNV -> Int
sizeOf :: ShadingRatePaletteEntryNV -> Int
$csizeOf :: ShadingRatePaletteEntryNV -> Int
Storable, ShadingRatePaletteEntryNV
forall a. a -> Zero a
zero :: ShadingRatePaletteEntryNV
$czero :: ShadingRatePaletteEntryNV
Zero)
pattern $bSHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = ShadingRatePaletteEntryNV 0
pattern $bSHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = ShadingRatePaletteEntryNV 1
pattern $bSHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = ShadingRatePaletteEntryNV 2
pattern $bSHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = ShadingRatePaletteEntryNV 3
pattern $bSHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = ShadingRatePaletteEntryNV 4
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = ShadingRatePaletteEntryNV 5
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = ShadingRatePaletteEntryNV 6
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = ShadingRatePaletteEntryNV 7
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = ShadingRatePaletteEntryNV 8
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = ShadingRatePaletteEntryNV 9
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = ShadingRatePaletteEntryNV 10
pattern $bSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV :: ShadingRatePaletteEntryNV
$mSHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV :: forall {r}.
ShadingRatePaletteEntryNV -> ((# #) -> r) -> ((# #) -> r) -> r
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = ShadingRatePaletteEntryNV 11
{-# COMPLETE
SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV
, SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV
, SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV ::
ShadingRatePaletteEntryNV
#-}
conNameShadingRatePaletteEntryNV :: String
conNameShadingRatePaletteEntryNV :: String
conNameShadingRatePaletteEntryNV = String
"ShadingRatePaletteEntryNV"
enumPrefixShadingRatePaletteEntryNV :: String
enumPrefixShadingRatePaletteEntryNV :: String
enumPrefixShadingRatePaletteEntryNV = String
"SHADING_RATE_PALETTE_ENTRY_"
showTableShadingRatePaletteEntryNV :: [(ShadingRatePaletteEntryNV, String)]
showTableShadingRatePaletteEntryNV :: [(ShadingRatePaletteEntryNV, String)]
showTableShadingRatePaletteEntryNV =
[
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV
, String
"NO_INVOCATIONS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV
, String
"16_INVOCATIONS_PER_PIXEL_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV
, String
"8_INVOCATIONS_PER_PIXEL_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV
, String
"4_INVOCATIONS_PER_PIXEL_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV
, String
"2_INVOCATIONS_PER_PIXEL_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV
, String
"1_INVOCATION_PER_PIXEL_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV
, String
"1_INVOCATION_PER_2X1_PIXELS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV
, String
"1_INVOCATION_PER_1X2_PIXELS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV
, String
"1_INVOCATION_PER_2X2_PIXELS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV
, String
"1_INVOCATION_PER_4X2_PIXELS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV
, String
"1_INVOCATION_PER_2X4_PIXELS_NV"
)
,
( ShadingRatePaletteEntryNV
SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV
, String
"1_INVOCATION_PER_4X4_PIXELS_NV"
)
]
instance Show ShadingRatePaletteEntryNV where
showsPrec :: Int -> ShadingRatePaletteEntryNV -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixShadingRatePaletteEntryNV
[(ShadingRatePaletteEntryNV, String)]
showTableShadingRatePaletteEntryNV
String
conNameShadingRatePaletteEntryNV
(\(ShadingRatePaletteEntryNV Int32
x) -> Int32
x)
(forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read ShadingRatePaletteEntryNV where
readPrec :: ReadPrec ShadingRatePaletteEntryNV
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixShadingRatePaletteEntryNV
[(ShadingRatePaletteEntryNV, String)]
showTableShadingRatePaletteEntryNV
String
conNameShadingRatePaletteEntryNV
Int32 -> ShadingRatePaletteEntryNV
ShadingRatePaletteEntryNV
newtype CoarseSampleOrderTypeNV = CoarseSampleOrderTypeNV Int32
deriving newtype (CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c/= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
== :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c== :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
Eq, Eq CoarseSampleOrderTypeNV
CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Ordering
CoarseSampleOrderTypeNV
-> CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV
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 :: CoarseSampleOrderTypeNV
-> CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV
$cmin :: CoarseSampleOrderTypeNV
-> CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV
max :: CoarseSampleOrderTypeNV
-> CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV
$cmax :: CoarseSampleOrderTypeNV
-> CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV
>= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c>= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
> :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c> :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
<= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c<= :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
< :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
$c< :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Bool
compare :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Ordering
$ccompare :: CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> Ordering
Ord, Ptr CoarseSampleOrderTypeNV -> IO CoarseSampleOrderTypeNV
Ptr CoarseSampleOrderTypeNV -> Int -> IO CoarseSampleOrderTypeNV
Ptr CoarseSampleOrderTypeNV
-> Int -> CoarseSampleOrderTypeNV -> IO ()
Ptr CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> IO ()
CoarseSampleOrderTypeNV -> Int
forall b. Ptr b -> Int -> IO CoarseSampleOrderTypeNV
forall b. Ptr b -> Int -> CoarseSampleOrderTypeNV -> 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 CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> IO ()
$cpoke :: Ptr CoarseSampleOrderTypeNV -> CoarseSampleOrderTypeNV -> IO ()
peek :: Ptr CoarseSampleOrderTypeNV -> IO CoarseSampleOrderTypeNV
$cpeek :: Ptr CoarseSampleOrderTypeNV -> IO CoarseSampleOrderTypeNV
pokeByteOff :: forall b. Ptr b -> Int -> CoarseSampleOrderTypeNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CoarseSampleOrderTypeNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO CoarseSampleOrderTypeNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CoarseSampleOrderTypeNV
pokeElemOff :: Ptr CoarseSampleOrderTypeNV
-> Int -> CoarseSampleOrderTypeNV -> IO ()
$cpokeElemOff :: Ptr CoarseSampleOrderTypeNV
-> Int -> CoarseSampleOrderTypeNV -> IO ()
peekElemOff :: Ptr CoarseSampleOrderTypeNV -> Int -> IO CoarseSampleOrderTypeNV
$cpeekElemOff :: Ptr CoarseSampleOrderTypeNV -> Int -> IO CoarseSampleOrderTypeNV
alignment :: CoarseSampleOrderTypeNV -> Int
$calignment :: CoarseSampleOrderTypeNV -> Int
sizeOf :: CoarseSampleOrderTypeNV -> Int
$csizeOf :: CoarseSampleOrderTypeNV -> Int
Storable, CoarseSampleOrderTypeNV
forall a. a -> Zero a
zero :: CoarseSampleOrderTypeNV
$czero :: CoarseSampleOrderTypeNV
Zero)
pattern $bCOARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: CoarseSampleOrderTypeNV
$mCOARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV :: forall {r}.
CoarseSampleOrderTypeNV -> ((# #) -> r) -> ((# #) -> r) -> r
COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = CoarseSampleOrderTypeNV 0
pattern $bCOARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: CoarseSampleOrderTypeNV
$mCOARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV :: forall {r}.
CoarseSampleOrderTypeNV -> ((# #) -> r) -> ((# #) -> r) -> r
COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = CoarseSampleOrderTypeNV 1
pattern $bCOARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: CoarseSampleOrderTypeNV
$mCOARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV :: forall {r}.
CoarseSampleOrderTypeNV -> ((# #) -> r) -> ((# #) -> r) -> r
COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = CoarseSampleOrderTypeNV 2
pattern $bCOARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: CoarseSampleOrderTypeNV
$mCOARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV :: forall {r}.
CoarseSampleOrderTypeNV -> ((# #) -> r) -> ((# #) -> r) -> r
COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = CoarseSampleOrderTypeNV 3
{-# COMPLETE
COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
, COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
, COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV
, COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV ::
CoarseSampleOrderTypeNV
#-}
conNameCoarseSampleOrderTypeNV :: String
conNameCoarseSampleOrderTypeNV :: String
conNameCoarseSampleOrderTypeNV = String
"CoarseSampleOrderTypeNV"
enumPrefixCoarseSampleOrderTypeNV :: String
enumPrefixCoarseSampleOrderTypeNV :: String
enumPrefixCoarseSampleOrderTypeNV = String
"COARSE_SAMPLE_ORDER_TYPE_"
showTableCoarseSampleOrderTypeNV :: [(CoarseSampleOrderTypeNV, String)]
showTableCoarseSampleOrderTypeNV :: [(CoarseSampleOrderTypeNV, String)]
showTableCoarseSampleOrderTypeNV =
[
( CoarseSampleOrderTypeNV
COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV
, String
"DEFAULT_NV"
)
,
( CoarseSampleOrderTypeNV
COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV
, String
"CUSTOM_NV"
)
,
( CoarseSampleOrderTypeNV
COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV
, String
"PIXEL_MAJOR_NV"
)
,
( CoarseSampleOrderTypeNV
COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV
, String
"SAMPLE_MAJOR_NV"
)
]
instance Show CoarseSampleOrderTypeNV where
showsPrec :: Int -> CoarseSampleOrderTypeNV -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixCoarseSampleOrderTypeNV
[(CoarseSampleOrderTypeNV, String)]
showTableCoarseSampleOrderTypeNV
String
conNameCoarseSampleOrderTypeNV
(\(CoarseSampleOrderTypeNV Int32
x) -> Int32
x)
(forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read CoarseSampleOrderTypeNV where
readPrec :: ReadPrec CoarseSampleOrderTypeNV
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixCoarseSampleOrderTypeNV
[(CoarseSampleOrderTypeNV, String)]
showTableCoarseSampleOrderTypeNV
String
conNameCoarseSampleOrderTypeNV
Int32 -> CoarseSampleOrderTypeNV
CoarseSampleOrderTypeNV
type NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3
pattern NV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall a . Integral a => a
pattern $bNV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall a. Integral a => a
$mNV_SHADING_RATE_IMAGE_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
NV_SHADING_RATE_IMAGE_SPEC_VERSION = 3
type NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image"
pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bNV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mNV_SHADING_RATE_IMAGE_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
NV_SHADING_RATE_IMAGE_EXTENSION_NAME = "VK_NV_shading_rate_image"