{-# language CPP #-}
module Vulkan.Extensions.VK_QCOM_render_pass_transform ( RenderPassTransformBeginInfoQCOM(..)
, CommandBufferInheritanceRenderPassTransformInfoQCOM(..)
, QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION
, pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION
, QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME
, pattern QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME
, SurfaceTransformFlagBitsKHR(..)
, SurfaceTransformFlagsKHR
) where
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Foreign.Ptr (Ptr)
import Data.Kind (Type)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.Core10.FundamentalTypes (Rect2D)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagBitsKHR)
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM))
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagBitsKHR(..))
import Vulkan.Extensions.VK_KHR_surface (SurfaceTransformFlagsKHR)
data RenderPassTransformBeginInfoQCOM = RenderPassTransformBeginInfoQCOM
{
RenderPassTransformBeginInfoQCOM -> SurfaceTransformFlagBitsKHR
transform :: SurfaceTransformFlagBitsKHR }
deriving (Typeable, RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool
(RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool)
-> (RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool)
-> Eq RenderPassTransformBeginInfoQCOM
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool
$c/= :: RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool
== :: RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool
$c== :: RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderPassTransformBeginInfoQCOM)
#endif
deriving instance Show RenderPassTransformBeginInfoQCOM
instance ToCStruct RenderPassTransformBeginInfoQCOM where
withCStruct :: RenderPassTransformBeginInfoQCOM
-> (Ptr RenderPassTransformBeginInfoQCOM -> IO b) -> IO b
withCStruct x :: RenderPassTransformBeginInfoQCOM
x f :: Ptr RenderPassTransformBeginInfoQCOM -> IO b
f = Int
-> Int -> (Ptr RenderPassTransformBeginInfoQCOM -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr RenderPassTransformBeginInfoQCOM -> IO b) -> IO b)
-> (Ptr RenderPassTransformBeginInfoQCOM -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr RenderPassTransformBeginInfoQCOM
p -> Ptr RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderPassTransformBeginInfoQCOM
p RenderPassTransformBeginInfoQCOM
x (Ptr RenderPassTransformBeginInfoQCOM -> IO b
f Ptr RenderPassTransformBeginInfoQCOM
p)
pokeCStruct :: Ptr RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> IO b -> IO b
pokeCStruct p :: Ptr RenderPassTransformBeginInfoQCOM
p RenderPassTransformBeginInfoQCOM{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr SurfaceTransformFlagBitsKHR
-> SurfaceTransformFlagBitsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagBitsKHR
transform)
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr RenderPassTransformBeginInfoQCOM -> IO b -> IO b
pokeZeroCStruct p :: Ptr RenderPassTransformBeginInfoQCOM
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr SurfaceTransformFlagBitsKHR
-> SurfaceTransformFlagBitsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagBitsKHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct RenderPassTransformBeginInfoQCOM where
peekCStruct :: Ptr RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM
peekCStruct p :: Ptr RenderPassTransformBeginInfoQCOM
p = do
SurfaceTransformFlagBitsKHR
transform <- Ptr SurfaceTransformFlagBitsKHR -> IO SurfaceTransformFlagBitsKHR
forall a. Storable a => Ptr a -> IO a
peek @SurfaceTransformFlagBitsKHR ((Ptr RenderPassTransformBeginInfoQCOM
p Ptr RenderPassTransformBeginInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR))
RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM
forall (f :: * -> *) a. Applicative f => a -> f a
pure (RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM)
-> RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM
forall a b. (a -> b) -> a -> b
$ SurfaceTransformFlagBitsKHR -> RenderPassTransformBeginInfoQCOM
RenderPassTransformBeginInfoQCOM
SurfaceTransformFlagBitsKHR
transform
instance Storable RenderPassTransformBeginInfoQCOM where
sizeOf :: RenderPassTransformBeginInfoQCOM -> Int
sizeOf ~RenderPassTransformBeginInfoQCOM
_ = 24
alignment :: RenderPassTransformBeginInfoQCOM -> Int
alignment ~RenderPassTransformBeginInfoQCOM
_ = 8
peek :: Ptr RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM
peek = Ptr RenderPassTransformBeginInfoQCOM
-> IO RenderPassTransformBeginInfoQCOM
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> IO ()
poke ptr :: Ptr RenderPassTransformBeginInfoQCOM
ptr poked :: RenderPassTransformBeginInfoQCOM
poked = Ptr RenderPassTransformBeginInfoQCOM
-> RenderPassTransformBeginInfoQCOM -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderPassTransformBeginInfoQCOM
ptr RenderPassTransformBeginInfoQCOM
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero RenderPassTransformBeginInfoQCOM where
zero :: RenderPassTransformBeginInfoQCOM
zero = SurfaceTransformFlagBitsKHR -> RenderPassTransformBeginInfoQCOM
RenderPassTransformBeginInfoQCOM
SurfaceTransformFlagBitsKHR
forall a. Zero a => a
zero
data CommandBufferInheritanceRenderPassTransformInfoQCOM = CommandBufferInheritanceRenderPassTransformInfoQCOM
{
CommandBufferInheritanceRenderPassTransformInfoQCOM
-> SurfaceTransformFlagBitsKHR
transform :: SurfaceTransformFlagBitsKHR
,
CommandBufferInheritanceRenderPassTransformInfoQCOM -> Rect2D
renderArea :: Rect2D
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CommandBufferInheritanceRenderPassTransformInfoQCOM)
#endif
deriving instance Show CommandBufferInheritanceRenderPassTransformInfoQCOM
instance ToCStruct CommandBufferInheritanceRenderPassTransformInfoQCOM where
withCStruct :: CommandBufferInheritanceRenderPassTransformInfoQCOM
-> (Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b)
-> IO b
withCStruct x :: CommandBufferInheritanceRenderPassTransformInfoQCOM
x f :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM -> IO b
f = Int
-> Int
-> (Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 40 8 ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM -> IO b)
-> IO b)
-> (Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p -> Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p CommandBufferInheritanceRenderPassTransformInfoQCOM
x (Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM -> IO b
f Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p)
pokeCStruct :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b
-> IO b
pokeCStruct p :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p CommandBufferInheritanceRenderPassTransformInfoQCOM{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr SurfaceTransformFlagBitsKHR
-> SurfaceTransformFlagBitsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagBitsKHR
transform)
Ptr Rect2D -> Rect2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr Rect2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Rect2D)) (Rect2D
renderArea)
IO b
f
cStructSize :: Int
cStructSize = 40
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO b -> IO b
pokeZeroCStruct p :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr SurfaceTransformFlagBitsKHR
-> SurfaceTransformFlagBitsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR)) (SurfaceTransformFlagBitsKHR
forall a. Zero a => a
zero)
Ptr Rect2D -> Rect2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr Rect2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Rect2D)) (Rect2D
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CommandBufferInheritanceRenderPassTransformInfoQCOM where
peekCStruct :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM
peekCStruct p :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p = do
SurfaceTransformFlagBitsKHR
transform <- Ptr SurfaceTransformFlagBitsKHR -> IO SurfaceTransformFlagBitsKHR
forall a. Storable a => Ptr a -> IO a
peek @SurfaceTransformFlagBitsKHR ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr SurfaceTransformFlagBitsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr SurfaceTransformFlagBitsKHR))
Rect2D
renderArea <- Ptr Rect2D -> IO Rect2D
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Rect2D ((Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
p Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> Int -> Ptr Rect2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Rect2D))
CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM
forall (f :: * -> *) a. Applicative f => a -> f a
pure (CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM)
-> CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM
forall a b. (a -> b) -> a -> b
$ SurfaceTransformFlagBitsKHR
-> Rect2D -> CommandBufferInheritanceRenderPassTransformInfoQCOM
CommandBufferInheritanceRenderPassTransformInfoQCOM
SurfaceTransformFlagBitsKHR
transform Rect2D
renderArea
instance Storable CommandBufferInheritanceRenderPassTransformInfoQCOM where
sizeOf :: CommandBufferInheritanceRenderPassTransformInfoQCOM -> Int
sizeOf ~CommandBufferInheritanceRenderPassTransformInfoQCOM
_ = 40
alignment :: CommandBufferInheritanceRenderPassTransformInfoQCOM -> Int
alignment ~CommandBufferInheritanceRenderPassTransformInfoQCOM
_ = 8
peek :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM
peek = Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO CommandBufferInheritanceRenderPassTransformInfoQCOM
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> CommandBufferInheritanceRenderPassTransformInfoQCOM -> IO ()
poke ptr :: Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
ptr poked :: CommandBufferInheritanceRenderPassTransformInfoQCOM
poked = Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
-> CommandBufferInheritanceRenderPassTransformInfoQCOM
-> IO ()
-> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
ptr CommandBufferInheritanceRenderPassTransformInfoQCOM
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero CommandBufferInheritanceRenderPassTransformInfoQCOM where
zero :: CommandBufferInheritanceRenderPassTransformInfoQCOM
zero = SurfaceTransformFlagBitsKHR
-> Rect2D -> CommandBufferInheritanceRenderPassTransformInfoQCOM
CommandBufferInheritanceRenderPassTransformInfoQCOM
SurfaceTransformFlagBitsKHR
forall a. Zero a => a
zero
Rect2D
forall a. Zero a => a
zero
type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 1
pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: forall a . Integral a => a
pattern $bQCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: a
$mQCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 1
type QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform"
pattern QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bQCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME :: a
$mQCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform"