{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE Strict #-}
module Graphics.Vulkan.Types.Defines
(AHardwareBuffer(), ANativeWindow(),
VK_API_VERSION_1_0,
pattern VK_API_VERSION_1_0, VK_API_VERSION_1_1,
pattern VK_API_VERSION_1_1, Ptr(),
VkPtr(..),
VK_HEADER_VERSION,
pattern VK_HEADER_VERSION, _VK_MAKE_VERSION, VulkanPtr(..),
pattern VK_NULL_HANDLE, _VK_VERSION_MAJOR, _VK_VERSION_MINOR,
_VK_VERSION_PATCH)
where
import Data.Bits (Bits (..))
import Graphics.Vulkan.Marshal
data AHardwareBuffer
data ANativeWindow
pattern VK_API_VERSION_1_0 :: (Num a, Eq a) => a
pattern $bVK_API_VERSION_1_0 :: a
$mVK_API_VERSION_1_0 :: forall r a. (Num a, Eq a) => a -> (Void# -> r) -> (Void# -> r) -> r
VK_API_VERSION_1_0 = 4194304
type VK_API_VERSION_1_0 = 4194304
pattern VK_API_VERSION_1_1 :: (Num a, Eq a) => a
pattern $bVK_API_VERSION_1_1 :: a
$mVK_API_VERSION_1_1 :: forall r a. (Num a, Eq a) => a -> (Void# -> r) -> (Void# -> r) -> r
VK_API_VERSION_1_1 = 4198400
type VK_API_VERSION_1_1 = 4198400
pattern VK_HEADER_VERSION :: (Num a, Eq a) => a
pattern = 72
type = 72
_VK_MAKE_VERSION :: Bits a => a -> a -> a -> a
_VK_MAKE_VERSION :: a -> a -> a -> a
_VK_MAKE_VERSION a
major a
minor a
patch
= a -> Int -> a
forall a. Bits a => a -> Int -> a
unsafeShiftL a
major Int
22 a -> a -> a
forall a. Bits a => a -> a -> a
.|. a -> Int -> a
forall a. Bits a => a -> Int -> a
unsafeShiftL a
minor Int
12 a -> a -> a
forall a. Bits a => a -> a -> a
.|. a
patch
{-# INLINE _VK_MAKE_VERSION #-}
#define VK_MAKE_VERSION(major, minor, patch) _VK_MAKE_VERSION major minor patch
_VK_VERSION_MAJOR :: Bits a => a -> a
_VK_VERSION_MAJOR :: a -> a
_VK_VERSION_MAJOR a
version = a -> Int -> a
forall a. Bits a => a -> Int -> a
unsafeShiftR a
version Int
22
{-# INLINE _VK_VERSION_MAJOR #-}
#define VK_VERSION_MAJOR(version) _VK_VERSION_MAJOR version
_VK_VERSION_MINOR :: (Bits a, Num a) => a -> a
_VK_VERSION_MINOR :: a -> a
_VK_VERSION_MINOR a
version = a -> Int -> a
forall a. Bits a => a -> Int -> a
unsafeShiftR a
version Int
12 a -> a -> a
forall a. Bits a => a -> a -> a
.&. a
1023
{-# INLINE _VK_VERSION_MINOR #-}
#define VK_VERSION_MINOR(version) _VK_VERSION_MINOR version
_VK_VERSION_PATCH :: (Bits a, Num a) => a -> a
_VK_VERSION_PATCH :: a -> a
_VK_VERSION_PATCH = (a -> a -> a
forall a. Bits a => a -> a -> a
.&. a
4095)
{-# INLINE _VK_VERSION_PATCH #-}