{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_conservative_rasterization ( PhysicalDeviceConservativeRasterizationPropertiesEXT(..)
, PipelineRasterizationConservativeStateCreateInfoEXT(..)
, PipelineRasterizationConservativeStateCreateFlagsEXT(..)
, ConservativeRasterizationModeEXT( CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
, CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT
, CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
, ..
)
, EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION
, pattern EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION
, EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME
, pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Numeric (showHex)
import Data.Coerce (coerce)
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 Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.C.Types (CFloat)
import Foreign.C.Types (CFloat(..))
import Foreign.C.Types (CFloat(CFloat))
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT))
data PhysicalDeviceConservativeRasterizationPropertiesEXT = PhysicalDeviceConservativeRasterizationPropertiesEXT
{
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
primitiveOverestimationSize :: Float
,
:: Float
,
:: Float
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
primitiveUnderestimation :: Bool
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
conservativePointAndLineRasterization :: Bool
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
degenerateTrianglesRasterized :: Bool
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
degenerateLinesRasterized :: Bool
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
fullyCoveredFragmentShaderInputVariable :: Bool
,
PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
conservativeRasterizationPostDepthCoverage :: Bool
}
deriving (Typeable, PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$c/= :: PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
== :: PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$c== :: PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceConservativeRasterizationPropertiesEXT)
#endif
deriving instance Show PhysicalDeviceConservativeRasterizationPropertiesEXT
instance ToCStruct PhysicalDeviceConservativeRasterizationPropertiesEXT where
withCStruct :: forall b.
PhysicalDeviceConservativeRasterizationPropertiesEXT
-> (Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> IO b)
-> IO b
withCStruct PhysicalDeviceConservativeRasterizationPropertiesEXT
x Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
56 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p PhysicalDeviceConservativeRasterizationPropertiesEXT
x (Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT -> IO b
f Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p PhysicalDeviceConservativeRasterizationPropertiesEXT{Bool
Float
conservativeRasterizationPostDepthCoverage :: Bool
fullyCoveredFragmentShaderInputVariable :: Bool
degenerateLinesRasterized :: Bool
degenerateTrianglesRasterized :: Bool
conservativePointAndLineRasterization :: Bool
primitiveUnderestimation :: Bool
extraPrimitiveOverestimationSizeGranularity :: Float
maxExtraPrimitiveOverestimationSize :: Float
primitiveOverestimationSize :: Float
$sel:conservativeRasterizationPostDepthCoverage:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:fullyCoveredFragmentShaderInputVariable:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:degenerateLinesRasterized:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:degenerateTrianglesRasterized:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:conservativePointAndLineRasterization:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:primitiveUnderestimation:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Bool
$sel:extraPrimitiveOverestimationSizeGranularity:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
$sel:maxExtraPrimitiveOverestimationSize:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
$sel:primitiveOverestimationSize:PhysicalDeviceConservativeRasterizationPropertiesEXT :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Float
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
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 PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CFloat)) (Float -> CFloat
CFloat (Float
primitiveOverestimationSize))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr CFloat)) (Float -> CFloat
CFloat (Float
maxExtraPrimitiveOverestimationSize))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat)) (Float -> CFloat
CFloat (Float
extraPrimitiveOverestimationSizeGranularity))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
primitiveUnderestimation))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
conservativePointAndLineRasterization))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
degenerateTrianglesRasterized))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
degenerateLinesRasterized))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
fullyCoveredFragmentShaderInputVariable))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
conservativeRasterizationPostDepthCoverage))
IO b
f
cStructSize :: Int
cStructSize = Int
56
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
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 PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CFloat)) (Float -> CFloat
CFloat (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr CFloat)) (Float -> CFloat
CFloat (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat)) (Float -> CFloat
CFloat (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceConservativeRasterizationPropertiesEXT where
peekCStruct :: Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> IO PhysicalDeviceConservativeRasterizationPropertiesEXT
peekCStruct Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p = do
CFloat
primitiveOverestimationSize <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr CFloat))
CFloat
maxExtraPrimitiveOverestimationSize <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr CFloat))
CFloat
extraPrimitiveOverestimationSizeGranularity <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat))
Bool32
primitiveUnderestimation <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32))
Bool32
conservativePointAndLineRasterization <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32))
Bool32
degenerateTrianglesRasterized <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32))
Bool32
degenerateLinesRasterized <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Bool32))
Bool32
fullyCoveredFragmentShaderInputVariable <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Bool32))
Bool32
conservativeRasterizationPostDepthCoverage <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Bool32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Float
-> Float
-> Float
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceConservativeRasterizationPropertiesEXT
PhysicalDeviceConservativeRasterizationPropertiesEXT
(coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
primitiveOverestimationSize)
(coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
maxExtraPrimitiveOverestimationSize)
(coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
extraPrimitiveOverestimationSizeGranularity)
(Bool32 -> Bool
bool32ToBool Bool32
primitiveUnderestimation)
(Bool32 -> Bool
bool32ToBool Bool32
conservativePointAndLineRasterization)
(Bool32 -> Bool
bool32ToBool Bool32
degenerateTrianglesRasterized)
(Bool32 -> Bool
bool32ToBool Bool32
degenerateLinesRasterized)
(Bool32 -> Bool
bool32ToBool Bool32
fullyCoveredFragmentShaderInputVariable)
(Bool32 -> Bool
bool32ToBool Bool32
conservativeRasterizationPostDepthCoverage)
instance Storable PhysicalDeviceConservativeRasterizationPropertiesEXT where
sizeOf :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Int
sizeOf ~PhysicalDeviceConservativeRasterizationPropertiesEXT
_ = Int
56
alignment :: PhysicalDeviceConservativeRasterizationPropertiesEXT -> Int
alignment ~PhysicalDeviceConservativeRasterizationPropertiesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> IO PhysicalDeviceConservativeRasterizationPropertiesEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
-> PhysicalDeviceConservativeRasterizationPropertiesEXT -> IO ()
poke Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
ptr PhysicalDeviceConservativeRasterizationPropertiesEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceConservativeRasterizationPropertiesEXT where
zero :: PhysicalDeviceConservativeRasterizationPropertiesEXT
zero = Float
-> Float
-> Float
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceConservativeRasterizationPropertiesEXT
PhysicalDeviceConservativeRasterizationPropertiesEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data PipelineRasterizationConservativeStateCreateInfoEXT = PipelineRasterizationConservativeStateCreateInfoEXT
{
PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
flags :: PipelineRasterizationConservativeStateCreateFlagsEXT
,
PipelineRasterizationConservativeStateCreateInfoEXT
-> ConservativeRasterizationModeEXT
conservativeRasterizationMode :: ConservativeRasterizationModeEXT
,
:: Float
}
deriving (Typeable, PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> Bool
$c/= :: PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> Bool
== :: PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> Bool
$c== :: PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineRasterizationConservativeStateCreateInfoEXT)
#endif
deriving instance Show PipelineRasterizationConservativeStateCreateInfoEXT
instance ToCStruct PipelineRasterizationConservativeStateCreateInfoEXT where
withCStruct :: forall b.
PipelineRasterizationConservativeStateCreateInfoEXT
-> (Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> IO b)
-> IO b
withCStruct PipelineRasterizationConservativeStateCreateInfoEXT
x Ptr PipelineRasterizationConservativeStateCreateInfoEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p PipelineRasterizationConservativeStateCreateInfoEXT
x (Ptr PipelineRasterizationConservativeStateCreateInfoEXT -> IO b
f Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p)
pokeCStruct :: forall b.
Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT
-> IO b
-> IO b
pokeCStruct Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p PipelineRasterizationConservativeStateCreateInfoEXT{Float
ConservativeRasterizationModeEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
extraPrimitiveOverestimationSize :: Float
conservativeRasterizationMode :: ConservativeRasterizationModeEXT
flags :: PipelineRasterizationConservativeStateCreateFlagsEXT
$sel:extraPrimitiveOverestimationSize:PipelineRasterizationConservativeStateCreateInfoEXT :: PipelineRasterizationConservativeStateCreateInfoEXT -> Float
$sel:conservativeRasterizationMode:PipelineRasterizationConservativeStateCreateInfoEXT :: PipelineRasterizationConservativeStateCreateInfoEXT
-> ConservativeRasterizationModeEXT
$sel:flags:PipelineRasterizationConservativeStateCreateInfoEXT :: PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
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 PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT)) (PipelineRasterizationConservativeStateCreateFlagsEXT
flags)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ConservativeRasterizationModeEXT)) (ConservativeRasterizationModeEXT
conservativeRasterizationMode)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat)) (Float -> CFloat
CFloat (Float
extraPrimitiveOverestimationSize))
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> IO b -> IO b
pokeZeroCStruct Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
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 PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ConservativeRasterizationModeEXT)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat)) (Float -> CFloat
CFloat (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PipelineRasterizationConservativeStateCreateInfoEXT where
peekCStruct :: Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> IO PipelineRasterizationConservativeStateCreateInfoEXT
peekCStruct Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p = do
PipelineRasterizationConservativeStateCreateFlagsEXT
flags <- forall a. Storable a => Ptr a -> IO a
peek @PipelineRasterizationConservativeStateCreateFlagsEXT ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT))
ConservativeRasterizationModeEXT
conservativeRasterizationMode <- forall a. Storable a => Ptr a -> IO a
peek @ConservativeRasterizationModeEXT ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ConservativeRasterizationModeEXT))
CFloat
extraPrimitiveOverestimationSize <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr PipelineRasterizationConservativeStateCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr CFloat))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ PipelineRasterizationConservativeStateCreateFlagsEXT
-> ConservativeRasterizationModeEXT
-> Float
-> PipelineRasterizationConservativeStateCreateInfoEXT
PipelineRasterizationConservativeStateCreateInfoEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
flags
ConservativeRasterizationModeEXT
conservativeRasterizationMode
(coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
extraPrimitiveOverestimationSize)
instance Storable PipelineRasterizationConservativeStateCreateInfoEXT where
sizeOf :: PipelineRasterizationConservativeStateCreateInfoEXT -> Int
sizeOf ~PipelineRasterizationConservativeStateCreateInfoEXT
_ = Int
32
alignment :: PipelineRasterizationConservativeStateCreateInfoEXT -> Int
alignment ~PipelineRasterizationConservativeStateCreateInfoEXT
_ = Int
8
peek :: Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> IO PipelineRasterizationConservativeStateCreateInfoEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineRasterizationConservativeStateCreateInfoEXT
-> PipelineRasterizationConservativeStateCreateInfoEXT -> IO ()
poke Ptr PipelineRasterizationConservativeStateCreateInfoEXT
ptr PipelineRasterizationConservativeStateCreateInfoEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRasterizationConservativeStateCreateInfoEXT
ptr PipelineRasterizationConservativeStateCreateInfoEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineRasterizationConservativeStateCreateInfoEXT where
zero :: PipelineRasterizationConservativeStateCreateInfoEXT
zero = PipelineRasterizationConservativeStateCreateFlagsEXT
-> ConservativeRasterizationModeEXT
-> Float
-> PipelineRasterizationConservativeStateCreateInfoEXT
PipelineRasterizationConservativeStateCreateInfoEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
newtype PipelineRasterizationConservativeStateCreateFlagsEXT = PipelineRasterizationConservativeStateCreateFlagsEXT Flags
deriving newtype (PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c/= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
== :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c== :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
Eq, Eq PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Ordering
PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
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 :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$cmin :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
max :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$cmax :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
>= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c>= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
> :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c> :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
<= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c<= :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
< :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$c< :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
compare :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Ordering
$ccompare :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> Ordering
Ord, Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO PipelineRasterizationConservativeStateCreateFlagsEXT
Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO ()
Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> IO ()
PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
forall b.
Ptr b
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
forall b.
Ptr b
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> 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 PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> IO ()
$cpoke :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> IO ()
peek :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO PipelineRasterizationConservativeStateCreateFlagsEXT
$cpeek :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO PipelineRasterizationConservativeStateCreateFlagsEXT
pokeByteOff :: forall b.
Ptr b
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO ()
$cpokeByteOff :: forall b.
Ptr b
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO ()
peekByteOff :: forall b.
Ptr b
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
$cpeekByteOff :: forall b.
Ptr b
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
pokeElemOff :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO ()
$cpokeElemOff :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> IO ()
peekElemOff :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
$cpeekElemOff :: Ptr PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> IO PipelineRasterizationConservativeStateCreateFlagsEXT
alignment :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$calignment :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
sizeOf :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$csizeOf :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
Storable, PipelineRasterizationConservativeStateCreateFlagsEXT
forall a. a -> Zero a
zero :: PipelineRasterizationConservativeStateCreateFlagsEXT
$czero :: PipelineRasterizationConservativeStateCreateFlagsEXT
Zero, Eq PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
PipelineRasterizationConservativeStateCreateFlagsEXT -> Maybe Int
PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> Bool
PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
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 :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$cpopCount :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
rotateR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$crotateR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
rotateL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$crotateL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
unsafeShiftR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cunsafeShiftR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
shiftR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cshiftR :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
unsafeShiftL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cunsafeShiftL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
shiftL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cshiftL :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
isSigned :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
$cisSigned :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Bool
bitSize :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$cbitSize :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
bitSizeMaybe :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Maybe Int
$cbitSizeMaybe :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Maybe Int
testBit :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> Bool
$ctestBit :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int -> Bool
complementBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$ccomplementBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
clearBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cclearBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
setBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$csetBit :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
bit :: Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cbit :: Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
zeroBits :: PipelineRasterizationConservativeStateCreateFlagsEXT
$czeroBits :: PipelineRasterizationConservativeStateCreateFlagsEXT
rotate :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$crotate :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
shift :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
$cshift :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> Int -> PipelineRasterizationConservativeStateCreateFlagsEXT
complement :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$ccomplement :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
xor :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$cxor :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
.|. :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$c.|. :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
.&. :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
$c.&. :: PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
-> PipelineRasterizationConservativeStateCreateFlagsEXT
Bits, Bits PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$ccountTrailingZeros :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
countLeadingZeros :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$ccountLeadingZeros :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
finiteBitSize :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
$cfiniteBitSize :: PipelineRasterizationConservativeStateCreateFlagsEXT -> Int
FiniteBits)
conNamePipelineRasterizationConservativeStateCreateFlagsEXT :: String
conNamePipelineRasterizationConservativeStateCreateFlagsEXT :: String
conNamePipelineRasterizationConservativeStateCreateFlagsEXT = String
"PipelineRasterizationConservativeStateCreateFlagsEXT"
enumPrefixPipelineRasterizationConservativeStateCreateFlagsEXT :: String
enumPrefixPipelineRasterizationConservativeStateCreateFlagsEXT :: String
enumPrefixPipelineRasterizationConservativeStateCreateFlagsEXT = String
""
showTablePipelineRasterizationConservativeStateCreateFlagsEXT :: [(PipelineRasterizationConservativeStateCreateFlagsEXT, String)]
showTablePipelineRasterizationConservativeStateCreateFlagsEXT :: [(PipelineRasterizationConservativeStateCreateFlagsEXT, String)]
showTablePipelineRasterizationConservativeStateCreateFlagsEXT = []
instance Show PipelineRasterizationConservativeStateCreateFlagsEXT where
showsPrec :: Int
-> PipelineRasterizationConservativeStateCreateFlagsEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPipelineRasterizationConservativeStateCreateFlagsEXT
[(PipelineRasterizationConservativeStateCreateFlagsEXT, String)]
showTablePipelineRasterizationConservativeStateCreateFlagsEXT
String
conNamePipelineRasterizationConservativeStateCreateFlagsEXT
(\(PipelineRasterizationConservativeStateCreateFlagsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read PipelineRasterizationConservativeStateCreateFlagsEXT where
readPrec :: ReadPrec PipelineRasterizationConservativeStateCreateFlagsEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPipelineRasterizationConservativeStateCreateFlagsEXT
[(PipelineRasterizationConservativeStateCreateFlagsEXT, String)]
showTablePipelineRasterizationConservativeStateCreateFlagsEXT
String
conNamePipelineRasterizationConservativeStateCreateFlagsEXT
Flags -> PipelineRasterizationConservativeStateCreateFlagsEXT
PipelineRasterizationConservativeStateCreateFlagsEXT
newtype ConservativeRasterizationModeEXT = ConservativeRasterizationModeEXT Int32
deriving newtype (ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c/= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
== :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c== :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
Eq, Eq ConservativeRasterizationModeEXT
ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Ordering
ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
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 :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
$cmin :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
max :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
$cmax :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT
>= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c>= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
> :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c> :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
<= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c<= :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
< :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
$c< :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Bool
compare :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Ordering
$ccompare :: ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> Ordering
Ord, Ptr ConservativeRasterizationModeEXT
-> IO ConservativeRasterizationModeEXT
Ptr ConservativeRasterizationModeEXT
-> Int -> IO ConservativeRasterizationModeEXT
Ptr ConservativeRasterizationModeEXT
-> Int -> ConservativeRasterizationModeEXT -> IO ()
Ptr ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> IO ()
ConservativeRasterizationModeEXT -> Int
forall b. Ptr b -> Int -> IO ConservativeRasterizationModeEXT
forall b. Ptr b -> Int -> ConservativeRasterizationModeEXT -> 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 ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> IO ()
$cpoke :: Ptr ConservativeRasterizationModeEXT
-> ConservativeRasterizationModeEXT -> IO ()
peek :: Ptr ConservativeRasterizationModeEXT
-> IO ConservativeRasterizationModeEXT
$cpeek :: Ptr ConservativeRasterizationModeEXT
-> IO ConservativeRasterizationModeEXT
pokeByteOff :: forall b. Ptr b -> Int -> ConservativeRasterizationModeEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ConservativeRasterizationModeEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ConservativeRasterizationModeEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ConservativeRasterizationModeEXT
pokeElemOff :: Ptr ConservativeRasterizationModeEXT
-> Int -> ConservativeRasterizationModeEXT -> IO ()
$cpokeElemOff :: Ptr ConservativeRasterizationModeEXT
-> Int -> ConservativeRasterizationModeEXT -> IO ()
peekElemOff :: Ptr ConservativeRasterizationModeEXT
-> Int -> IO ConservativeRasterizationModeEXT
$cpeekElemOff :: Ptr ConservativeRasterizationModeEXT
-> Int -> IO ConservativeRasterizationModeEXT
alignment :: ConservativeRasterizationModeEXT -> Int
$calignment :: ConservativeRasterizationModeEXT -> Int
sizeOf :: ConservativeRasterizationModeEXT -> Int
$csizeOf :: ConservativeRasterizationModeEXT -> Int
Storable, ConservativeRasterizationModeEXT
forall a. a -> Zero a
zero :: ConservativeRasterizationModeEXT
$czero :: ConservativeRasterizationModeEXT
Zero)
pattern $bCONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: ConservativeRasterizationModeEXT
$mCONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: forall {r}.
ConservativeRasterizationModeEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = ConservativeRasterizationModeEXT 0
pattern $bCONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: ConservativeRasterizationModeEXT
$mCONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: forall {r}.
ConservativeRasterizationModeEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = ConservativeRasterizationModeEXT 1
pattern $bCONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: ConservativeRasterizationModeEXT
$mCONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: forall {r}.
ConservativeRasterizationModeEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = ConservativeRasterizationModeEXT 2
{-# COMPLETE
CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
, CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT
, CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT ::
ConservativeRasterizationModeEXT
#-}
conNameConservativeRasterizationModeEXT :: String
conNameConservativeRasterizationModeEXT :: String
conNameConservativeRasterizationModeEXT = String
"ConservativeRasterizationModeEXT"
enumPrefixConservativeRasterizationModeEXT :: String
enumPrefixConservativeRasterizationModeEXT :: String
enumPrefixConservativeRasterizationModeEXT = String
"CONSERVATIVE_RASTERIZATION_MODE_"
showTableConservativeRasterizationModeEXT :: [(ConservativeRasterizationModeEXT, String)]
showTableConservativeRasterizationModeEXT :: [(ConservativeRasterizationModeEXT, String)]
showTableConservativeRasterizationModeEXT =
[
( ConservativeRasterizationModeEXT
CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
, String
"DISABLED_EXT"
)
,
( ConservativeRasterizationModeEXT
CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT
, String
"OVERESTIMATE_EXT"
)
,
( ConservativeRasterizationModeEXT
CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
, String
"UNDERESTIMATE_EXT"
)
]
instance Show ConservativeRasterizationModeEXT where
showsPrec :: Int -> ConservativeRasterizationModeEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixConservativeRasterizationModeEXT
[(ConservativeRasterizationModeEXT, String)]
showTableConservativeRasterizationModeEXT
String
conNameConservativeRasterizationModeEXT
(\(ConservativeRasterizationModeEXT Int32
x) -> Int32
x)
(forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read ConservativeRasterizationModeEXT where
readPrec :: ReadPrec ConservativeRasterizationModeEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixConservativeRasterizationModeEXT
[(ConservativeRasterizationModeEXT, String)]
showTableConservativeRasterizationModeEXT
String
conNameConservativeRasterizationModeEXT
Int32 -> ConservativeRasterizationModeEXT
ConservativeRasterizationModeEXT
type EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1
pattern EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: forall a. Integral a => a
$mEXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1
type EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization"
pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization"