{-# LINE 1 "src/Gpu/Vulkan/Core.hsc" #-}
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE BlockArguments, TupleSections #-}
{-# LANGUAGE PatternSynonyms, ViewPatterns #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
module Gpu.Vulkan.Core (
ApplicationInfo, PtrApplicationInfo, pattern ApplicationInfo,
applicationInfoSType, applicationInfoPNext,
applicationInfoPApplicationName, applicationInfoApplicationVersion,
applicationInfoPEngineName, applicationInfoEngineVersion,
applicationInfoApiVersion,
ApiVersion, makeApiVersion,
apiVersion_1_0, apiVersion_1_1, apiVersion_1_2, apiVersion_1_3,
SubmitInfo, pattern SubmitInfo,
submitInfoSType, submitInfoPNext,
submitInfoWaitSemaphoreCount, submitInfoPWaitSemaphores,
submitInfoPWaitDstStageMask, PtrPipelineStageFlags,
submitInfoCommandBufferCount, submitInfoPCommandBuffers,
submitInfoSignalSemaphoreCount, submitInfoPSignalSemaphores,
SubmitInfo2, pattern SubmitInfo2,
submitInfo2SType, submitInfo2PNext, submitInfo2Flags,
submitInfo2WaitSemaphoreInfoCount, submitInfo2PWaitSemaphoreInfos,
submitInfo2CommandBufferInfoCount, submitInfo2PCommandBufferInfos,
submitInfo2SignalSemaphoreInfoCount, submitInfo2PSignalSemaphoreInfos,
ExtensionProperties, pattern ExtensionProperties,
extensionPropertiesExtensionName, extensionPropertiesSpecVersion,
LayerProperties, pattern LayerProperties,
layerPropertiesLayerName, layerPropertiesSpecVersion,
layerPropertiesImplementationVersion, layerPropertiesDescription,
FormatProperties, pattern FormatProperties,
formatPropertiesLinearTilingFeatures,
formatPropertiesOptimalTilingFeatures, formatPropertiesBufferFeatures,
Viewport, PtrViewport, pattern Viewport,
viewportX, viewportY, viewportWidth, viewportHeight,
viewportMinDepth, viewportMaxDepth,
StencilOpState, pattern StencilOpState,
stencilOpStateFailOp, stencilOpStatePassOp, stencilOpStateDepthFailOp,
stencilOpStateCompareOp, stencilOpStateCompareMask,
stencilOpStateWriteMask, stencilOpStateReference,
ClearValue, PtrClearValue,
clearValueFromClearColorValue, clearValueFromClearDepthStencilValue,
ClearColorValue,
clearColorValueFromUints, clearColorValueFromInts,
clearColorValueFromFloats,
ClearDepthStencilValue, pattern ClearDepthStencilValue,
clearDepthStencilValueDepth, clearDepthStencilValueStencil,
StructCommon, pattern StructCommon,
structCommonSType, structCommonPNext,
Rect2d, PtrRect2d, pattern Rect2d,
rect2dExtent, rect2dOffset,
Offset2d, pattern Offset2d,
offset2dX, offset2dY,
Offset3d, ListOffset3d, pattern Offset3d,
offset3dX, offset3dY, offset3dZ,
Extent2d, pattern Extent2d,
extent2dWidth, extent2dHeight,
Extent3d, pattern Extent3d,
extent3dWidth, extent3dHeight, extent3dDepth,
DependencyInfo, pattern DependencyInfo,
dependencyInfoSType, dependencyInfoPNext, dependencyInfoDependencyFlags,
dependencyInfoMemoryBarrierCount, dependencyInfoPMemoryBarriers,
dependencyInfoBufferMemoryBarrierCount,
dependencyInfoPBufferMemoryBarriers,
dependencyInfoImageMemoryBarrierCount,
dependencyInfoPImageMemoryBarriers,
BlitImageInfo2, pattern BlitImageInfo2,
blitImageInfo2SType, blitImageInfo2PNext,
blitImageInfo2SrcImage, blitImageInfo2SrcImageLayout,
blitImageInfo2DstImage, blitImageInfo2DstImageLayout,
blitImageInfo2RegionCount, blitImageInfo2PRegions, blitImageInfo2Filter
) where
import Foreign.Ptr
import Foreign.ForeignPtr
import Foreign.Marshal.Utils
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String
import Foreign.C.Struct
import Foreign.C.Struct.TypeSynonyms
import Data.Word
import Data.Int
import qualified Data.Text as Txt
import qualified Data.Text.Foreign as Txt
import {-# SOURCE #-} qualified Gpu.Vulkan.CommandBuffer.Core as CommandBuffer
import {-# SOURCE #-} qualified Gpu.Vulkan.Semaphore.Core as Semaphore
import qualified Gpu.Vulkan.Memory.Core as Memory
import {-# SOURCE #-} qualified Gpu.Vulkan.Buffer.Core as Buffer
import {-# SOURCE #-} qualified Gpu.Vulkan.Image.Core as Image
struct "StructCommon" (48)
{-# LINE 162 "src/Gpu/Vulkan/Core.hsc" #-}
8 [
{-# LINE 163 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''Word32,
{-# LINE 164 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 165 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |] ),
{-# LINE 166 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid,
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 168 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]) ]
{-# LINE 169 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
type ApiVersion = Word32
{-# LINE 172 "src/Gpu/Vulkan/Core.hsc" #-}
struct "ApplicationInfo" (48)
{-# LINE 174 "src/Gpu/Vulkan/Core.hsc" #-}
8 [
{-# LINE 175 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''(), [| const $ pure () |],
[| \p _ -> (\hsc_ptr -> pokeByteOff hsc_ptr 0) p
{-# LINE 177 "src/Gpu/Vulkan/Core.hsc" #-}
(0 ::
{-# LINE 178 "src/Gpu/Vulkan/Core.hsc" #-}
Word32) |]),
{-# LINE 179 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid, [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 180 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 181 "src/Gpu/Vulkan/Core.hsc" #-}
("pApplicationName", ''CString,
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 183 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 184 "src/Gpu/Vulkan/Core.hsc" #-}
("applicationVersion", ''ApiVersion,
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 186 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]),
{-# LINE 187 "src/Gpu/Vulkan/Core.hsc" #-}
("pEngineName", ''CString,
[| (\hsc_ptr -> peekByteOff hsc_ptr 32) |],
{-# LINE 189 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]),
{-# LINE 190 "src/Gpu/Vulkan/Core.hsc" #-}
("engineVersion", ''ApiVersion,
[| (\hsc_ptr -> peekByteOff hsc_ptr 40) |],
{-# LINE 192 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 40) |]),
{-# LINE 193 "src/Gpu/Vulkan/Core.hsc" #-}
("apiVersion", ''ApiVersion,
[| (\hsc_ptr -> peekByteOff hsc_ptr 44) |],
{-# LINE 195 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 44) |]) ]
{-# LINE 196 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
foreign import capi "vulkan/vulkan.h VK_MAKE_API_VERSION" makeApiVersion ::
Word8 -> Word8 -> Word16 -> Word16 -> ApiVersion
foreign import capi "vulkan/vulkan.h value VK_API_VERSION_1_0" apiVersion_1_0 ::
ApiVersion
foreign import capi "vulkan/vulkan.h value VK_API_VERSION_1_1" apiVersion_1_1 ::
ApiVersion
foreign import capi "vulkan/vulkan.h value VK_API_VERSION_1_2" apiVersion_1_2 ::
ApiVersion
foreign import capi "vulkan/vulkan.h value VK_API_VERSION_1_3" apiVersion_1_3 ::
ApiVersion
type PtrApplicationInfo = Ptr ApplicationInfo
struct "Extent2d" (8) 4 [
{-# LINE 216 "src/Gpu/Vulkan/Core.hsc" #-}
("width", ''Word32, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 217 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 218 "src/Gpu/Vulkan/Core.hsc" #-}
("height", ''Word32, [| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 219 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]) ]
{-# LINE 220 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "Extent3d" (12) 4 [
{-# LINE 223 "src/Gpu/Vulkan/Core.hsc" #-}
("width", ''Word32, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 224 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 225 "src/Gpu/Vulkan/Core.hsc" #-}
("height", ''Word32, [| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 226 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]),
{-# LINE 227 "src/Gpu/Vulkan/Core.hsc" #-}
("depth", ''Word32, [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 228 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]) ]
{-# LINE 229 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "Viewport" (24) 4 [
{-# LINE 232 "src/Gpu/Vulkan/Core.hsc" #-}
("x", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 233 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 234 "src/Gpu/Vulkan/Core.hsc" #-}
("y", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 235 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]),
{-# LINE 236 "src/Gpu/Vulkan/Core.hsc" #-}
("width", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 237 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 238 "src/Gpu/Vulkan/Core.hsc" #-}
("height", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 12) |],
{-# LINE 239 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 12) |]),
{-# LINE 240 "src/Gpu/Vulkan/Core.hsc" #-}
("minDepth", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 241 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 242 "src/Gpu/Vulkan/Core.hsc" #-}
("maxDepth", ''Float, [| (\hsc_ptr -> peekByteOff hsc_ptr 20) |],
{-# LINE 243 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 20) |]) ]
{-# LINE 244 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
type PtrViewport = Ptr Viewport
struct "Offset2d" (8) 4 [
{-# LINE 249 "src/Gpu/Vulkan/Core.hsc" #-}
("x", ''Int32, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 250 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 251 "src/Gpu/Vulkan/Core.hsc" #-}
("y", ''Int32, [| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 252 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]) ]
{-# LINE 253 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "Offset3d" (12) 4 [
{-# LINE 256 "src/Gpu/Vulkan/Core.hsc" #-}
("x", ''Int32, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 257 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 258 "src/Gpu/Vulkan/Core.hsc" #-}
("y", ''Int32, [| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 259 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]),
{-# LINE 260 "src/Gpu/Vulkan/Core.hsc" #-}
("z", ''Int32, [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 261 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]) ]
{-# LINE 262 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
type ListOffset3d = [Offset3d]
struct "Rect2d" (16) 4 [
{-# LINE 267 "src/Gpu/Vulkan/Core.hsc" #-}
("offset", ''Offset2d, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 268 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 269 "src/Gpu/Vulkan/Core.hsc" #-}
("extent", ''Extent2d, [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 270 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]) ]
{-# LINE 271 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
type PtrRect2d = Ptr Rect2d
type PtrPipelineStageFlags = Ptr Word32
{-# LINE 276 "src/Gpu/Vulkan/Core.hsc" #-}
sTypeS :: Word32
{-# LINE 278 "src/Gpu/Vulkan/Core.hsc" #-}
sTypeS = 4
{-# LINE 279 "src/Gpu/Vulkan/Core.hsc" #-}
struct "SubmitInfo" (72) 8 [
{-# LINE 281 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''(), [| const $ pure () |],
[| \p _ -> (\hsc_ptr -> pokeByteOff hsc_ptr 0) p sTypeS |]),
{-# LINE 283 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid,
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 285 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 286 "src/Gpu/Vulkan/Core.hsc" #-}
("waitSemaphoreCount", ''Word32,
{-# LINE 287 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 288 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 289 "src/Gpu/Vulkan/Core.hsc" #-}
("pWaitSemaphores", ''Semaphore.PtrS,
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 291 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]),
{-# LINE 292 "src/Gpu/Vulkan/Core.hsc" #-}
("pWaitDstStageMask", ''PtrPipelineStageFlags,
[| (\hsc_ptr -> peekByteOff hsc_ptr 32) |],
{-# LINE 294 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]),
{-# LINE 295 "src/Gpu/Vulkan/Core.hsc" #-}
("commandBufferCount", ''Word32,
{-# LINE 296 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 40) |],
{-# LINE 297 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 40) |]),
{-# LINE 298 "src/Gpu/Vulkan/Core.hsc" #-}
("pCommandBuffers", ''CommandBuffer.PtrC,
[| (\hsc_ptr -> peekByteOff hsc_ptr 48) |],
{-# LINE 300 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 48) |]),
{-# LINE 301 "src/Gpu/Vulkan/Core.hsc" #-}
("signalSemaphoreCount", ''Int32,
{-# LINE 302 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 56) |],
{-# LINE 303 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 56) |]),
{-# LINE 304 "src/Gpu/Vulkan/Core.hsc" #-}
("pSignalSemaphores", ''Semaphore.PtrS,
[| (\hsc_ptr -> peekByteOff hsc_ptr 64) |],
{-# LINE 306 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 64) |]) ]
{-# LINE 307 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
sTypeS2 :: Word32
{-# LINE 310 "src/Gpu/Vulkan/Core.hsc" #-}
sTypeS2 = 1000314004
{-# LINE 311 "src/Gpu/Vulkan/Core.hsc" #-}
struct "SubmitInfo2" (64) 8 [
{-# LINE 313 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''(), [| const $ pure () |],
[| \p _ -> (\hsc_ptr -> pokeByteOff hsc_ptr 0) p sTypeS2 |]),
{-# LINE 315 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid,
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 317 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 318 "src/Gpu/Vulkan/Core.hsc" #-}
("flags", ''Word32,
{-# LINE 319 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 320 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 321 "src/Gpu/Vulkan/Core.hsc" #-}
("waitSemaphoreInfoCount", ''Word32,
{-# LINE 322 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 20) |],
{-# LINE 323 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 20) |]),
{-# LINE 324 "src/Gpu/Vulkan/Core.hsc" #-}
("pWaitSemaphoreInfos", ''Semaphore.PtrSubmitInfo,
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 326 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]),
{-# LINE 327 "src/Gpu/Vulkan/Core.hsc" #-}
("commandBufferInfoCount", ''Word32,
{-# LINE 328 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 32) |],
{-# LINE 329 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]),
{-# LINE 330 "src/Gpu/Vulkan/Core.hsc" #-}
("pCommandBufferInfos", ''CommandBuffer.PtrSubmitInfo,
[| (\hsc_ptr -> peekByteOff hsc_ptr 40) |],
{-# LINE 332 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 40) |]),
{-# LINE 333 "src/Gpu/Vulkan/Core.hsc" #-}
("signalSemaphoreInfoCount", ''Word32,
{-# LINE 334 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 48) |],
{-# LINE 335 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 48) |]),
{-# LINE 336 "src/Gpu/Vulkan/Core.hsc" #-}
("pSignalSemaphoreInfos", ''Semaphore.PtrSubmitInfo,
[| (\hsc_ptr -> peekByteOff hsc_ptr 56) |],
{-# LINE 338 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 56) |]) ]
{-# LINE 339 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "ExtensionProperties" (260)
{-# LINE 342 "src/Gpu/Vulkan/Core.hsc" #-}
4 [
{-# LINE 343 "src/Gpu/Vulkan/Core.hsc" #-}
("extensionName", ''Txt.Text,
[| \p -> Txt.takeWhile (/= '\NUL') <$> Txt.peekCStringLen
((\hsc_ptr -> hsc_ptr `plusPtr` 0) p,
{-# LINE 346 "src/Gpu/Vulkan/Core.hsc" #-}
256) |],
{-# LINE 347 "src/Gpu/Vulkan/Core.hsc" #-}
[| \p bs -> Txt.withCStringLen bs \(cs, ln) -> do
copyBytes ((\hsc_ptr -> hsc_ptr `plusPtr` 0) p) cs ln
{-# LINE 349 "src/Gpu/Vulkan/Core.hsc" #-}
poke ((\hsc_ptr -> hsc_ptr `plusPtr` 0) p `plusPtr` ln :: Ptr CChar) 0
{-# LINE 350 "src/Gpu/Vulkan/Core.hsc" #-}
|]
),
("specVersion", ''Word32,
{-# LINE 353 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 256) |],
{-# LINE 354 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 256) |]) ]
{-# LINE 355 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "LayerProperties" (520)
{-# LINE 358 "src/Gpu/Vulkan/Core.hsc" #-}
4 [
{-# LINE 359 "src/Gpu/Vulkan/Core.hsc" #-}
("layerName", ''Txt.Text,
[| \p -> Txt.takeWhile (/= '\NUL') <$> Txt.peekCStringLen
((\hsc_ptr -> hsc_ptr `plusPtr` 0) p,
{-# LINE 362 "src/Gpu/Vulkan/Core.hsc" #-}
256) |],
{-# LINE 363 "src/Gpu/Vulkan/Core.hsc" #-}
[| \p bs -> Txt.withCStringLen bs \(cs, ln) -> do
copyBytes ((\hsc_ptr -> hsc_ptr `plusPtr` 0) p) cs ln
{-# LINE 365 "src/Gpu/Vulkan/Core.hsc" #-}
poke ((\hsc_ptr -> hsc_ptr `plusPtr` 0) p `plusPtr` ln :: Ptr CChar) 0
{-# LINE 366 "src/Gpu/Vulkan/Core.hsc" #-}
|]),
("specVersion", ''Word32,
{-# LINE 368 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 256) |],
{-# LINE 369 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 256) |]),
{-# LINE 370 "src/Gpu/Vulkan/Core.hsc" #-}
("implementationVersion", ''Word32,
{-# LINE 371 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 260) |],
{-# LINE 372 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 260) |]),
{-# LINE 373 "src/Gpu/Vulkan/Core.hsc" #-}
("description", ''Txt.Text,
[| \p -> Txt.takeWhile (/= '\NUL') <$> Txt.peekCStringLen
((\hsc_ptr -> hsc_ptr `plusPtr` 264) p,
{-# LINE 376 "src/Gpu/Vulkan/Core.hsc" #-}
256) |],
{-# LINE 377 "src/Gpu/Vulkan/Core.hsc" #-}
[| \p bs -> Txt.withCStringLen bs \(cs, ln) -> do
copyBytes ((\hsc_ptr -> hsc_ptr `plusPtr` 264) p) cs ln
{-# LINE 379 "src/Gpu/Vulkan/Core.hsc" #-}
poke ((\hsc_ptr -> hsc_ptr `plusPtr` 264) p `plusPtr` ln :: Ptr CChar) 0
{-# LINE 380 "src/Gpu/Vulkan/Core.hsc" #-}
|]) ]
[''Show, ''Storable]
struct "StencilOpState" (28) 4 [
{-# LINE 384 "src/Gpu/Vulkan/Core.hsc" #-}
("failOp", ''Word32,
{-# LINE 385 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 386 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 387 "src/Gpu/Vulkan/Core.hsc" #-}
("passOp", ''Word32,
{-# LINE 388 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 389 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]),
{-# LINE 390 "src/Gpu/Vulkan/Core.hsc" #-}
("depthFailOp", ''Word32,
{-# LINE 391 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 392 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 393 "src/Gpu/Vulkan/Core.hsc" #-}
("compareOp", ''Word32,
{-# LINE 394 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 12) |],
{-# LINE 395 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 12) |]),
{-# LINE 396 "src/Gpu/Vulkan/Core.hsc" #-}
("compareMask", ''Word32,
{-# LINE 397 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 398 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 399 "src/Gpu/Vulkan/Core.hsc" #-}
("writeMask", ''Word32,
{-# LINE 400 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 20) |],
{-# LINE 401 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 20) |]),
{-# LINE 402 "src/Gpu/Vulkan/Core.hsc" #-}
("reference", ''Word32,
{-# LINE 403 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 404 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]) ]
{-# LINE 405 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
data ClearValue
type PtrClearValue = Ptr ClearValue
data ClearColorValue
clearColorValueFromFloats :: Ptr Float -> Ptr ClearColorValue
{-# LINE 412 "src/Gpu/Vulkan/Core.hsc" #-}
clearColorValueFromFloats = castPtr
clearColorValueFromInts :: Ptr Int32 -> Ptr ClearColorValue
{-# LINE 415 "src/Gpu/Vulkan/Core.hsc" #-}
clearColorValueFromInts = castPtr
clearColorValueFromUints :: Ptr Word32 -> Ptr ClearColorValue
{-# LINE 418 "src/Gpu/Vulkan/Core.hsc" #-}
clearColorValueFromUints = castPtr
struct "ClearDepthStencilValue" (8)
{-# LINE 421 "src/Gpu/Vulkan/Core.hsc" #-}
4 [
{-# LINE 422 "src/Gpu/Vulkan/Core.hsc" #-}
("depth", ''Float,
{-# LINE 423 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 424 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 425 "src/Gpu/Vulkan/Core.hsc" #-}
("stencil", ''Word32,
{-# LINE 426 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 427 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]) ]
{-# LINE 428 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
clearValueFromClearColorValue :: Ptr ClearColorValue -> Ptr ClearValue
clearValueFromClearColorValue :: Ptr ClearColorValue -> Ptr ClearValue
clearValueFromClearColorValue = Ptr ClearColorValue -> Ptr ClearValue
forall a b. Ptr a -> Ptr b
castPtr
clearValueFromClearDepthStencilValue ::
ClearDepthStencilValue -> (Ptr ClearValue -> IO a) -> IO a
clearValueFromClearDepthStencilValue :: forall a.
ClearDepthStencilValue -> (Ptr ClearValue -> IO a) -> IO a
clearValueFromClearDepthStencilValue (ClearDepthStencilValue_ ForeignPtr ClearDepthStencilValue
fp) Ptr ClearValue -> IO a
f =
ForeignPtr ClearDepthStencilValue
-> (Ptr ClearDepthStencilValue -> IO a) -> IO a
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr ClearDepthStencilValue
fp ((Ptr ClearDepthStencilValue -> IO a) -> IO a)
-> (Ptr ClearDepthStencilValue -> IO a) -> IO a
forall a b. (a -> b) -> a -> b
$ Ptr ClearValue -> IO a
f (Ptr ClearValue -> IO a)
-> (Ptr ClearDepthStencilValue -> Ptr ClearValue)
-> Ptr ClearDepthStencilValue
-> IO a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr ClearDepthStencilValue -> Ptr ClearValue
forall a b. Ptr a -> Ptr b
castPtr
struct "FormatProperties" (12)
{-# LINE 439 "src/Gpu/Vulkan/Core.hsc" #-}
4 [
{-# LINE 440 "src/Gpu/Vulkan/Core.hsc" #-}
("linearTilingFeatures", ''Word32,
{-# LINE 441 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 0) |],
{-# LINE 442 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]),
{-# LINE 443 "src/Gpu/Vulkan/Core.hsc" #-}
("optimalTilingFeatures", ''Word32,
{-# LINE 444 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 4) |],
{-# LINE 445 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 4) |]),
{-# LINE 446 "src/Gpu/Vulkan/Core.hsc" #-}
("bufferFeatures", ''Word32,
{-# LINE 447 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 448 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]) ]
{-# LINE 449 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "DependencyInfo" (64) 8 [
{-# LINE 452 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''(), [| const $ pure () |],
[| \p _ -> (\hsc_ptr -> pokeByteOff hsc_ptr 0) p
{-# LINE 454 "src/Gpu/Vulkan/Core.hsc" #-}
(1000314003 ::
{-# LINE 455 "src/Gpu/Vulkan/Core.hsc" #-}
Word32) |]),
{-# LINE 456 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid,
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 458 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 459 "src/Gpu/Vulkan/Core.hsc" #-}
("dependencyFlags", ''Word32,
{-# LINE 460 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 461 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |] ),
{-# LINE 462 "src/Gpu/Vulkan/Core.hsc" #-}
("memoryBarrierCount", ''Word32,
{-# LINE 463 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 20) |],
{-# LINE 464 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 20) |] ),
{-# LINE 465 "src/Gpu/Vulkan/Core.hsc" #-}
("pMemoryBarriers", ''Memory.PtrBarrier2,
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 467 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |] ),
{-# LINE 468 "src/Gpu/Vulkan/Core.hsc" #-}
("bufferMemoryBarrierCount", ''Word32,
{-# LINE 469 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 32) |],
{-# LINE 470 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]),
{-# LINE 471 "src/Gpu/Vulkan/Core.hsc" #-}
("pBufferMemoryBarriers", ''Buffer.PtrMemoryBarrier2,
[| (\hsc_ptr -> peekByteOff hsc_ptr 40) |],
{-# LINE 473 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 40) |]),
{-# LINE 474 "src/Gpu/Vulkan/Core.hsc" #-}
("imageMemoryBarrierCount", ''Word32,
{-# LINE 475 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 48) |],
{-# LINE 476 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 48) |]),
{-# LINE 477 "src/Gpu/Vulkan/Core.hsc" #-}
("pImageMemoryBarriers", ''Image.PtrMemoryBarrier2,
[| (\hsc_ptr -> peekByteOff hsc_ptr 56) |],
{-# LINE 479 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 56) |]) ]
{-# LINE 480 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]
struct "BlitImageInfo2" (64) 8 [
{-# LINE 483 "src/Gpu/Vulkan/Core.hsc" #-}
("sType", ''(), [| const $ pure () |],
[| \p _ -> (\hsc_ptr -> pokeByteOff hsc_ptr 0) p
{-# LINE 485 "src/Gpu/Vulkan/Core.hsc" #-}
(1000337004 ::
{-# LINE 486 "src/Gpu/Vulkan/Core.hsc" #-}
Word32) |]),
{-# LINE 487 "src/Gpu/Vulkan/Core.hsc" #-}
("pNext", ''PtrVoid,
[| (\hsc_ptr -> peekByteOff hsc_ptr 8) |],
{-# LINE 489 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]),
{-# LINE 490 "src/Gpu/Vulkan/Core.hsc" #-}
("srcImage", ''Image.I,
[| (\hsc_ptr -> peekByteOff hsc_ptr 16) |],
{-# LINE 492 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]),
{-# LINE 493 "src/Gpu/Vulkan/Core.hsc" #-}
("srcImageLayout", ''Word32,
{-# LINE 494 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 24) |],
{-# LINE 495 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]),
{-# LINE 496 "src/Gpu/Vulkan/Core.hsc" #-}
("dstImage", ''Image.I,
[| (\hsc_ptr -> peekByteOff hsc_ptr 32) |],
{-# LINE 498 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]),
{-# LINE 499 "src/Gpu/Vulkan/Core.hsc" #-}
("dstImageLayout", ''Word32,
{-# LINE 500 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 40) |],
{-# LINE 501 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 40) |]),
{-# LINE 502 "src/Gpu/Vulkan/Core.hsc" #-}
("regionCount", ''Word32,
{-# LINE 503 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 44) |],
{-# LINE 504 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 44) |]),
{-# LINE 505 "src/Gpu/Vulkan/Core.hsc" #-}
("pRegions", ''Image.PtrBlit2,
[| (\hsc_ptr -> peekByteOff hsc_ptr 48) |],
{-# LINE 507 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 48) |]),
{-# LINE 508 "src/Gpu/Vulkan/Core.hsc" #-}
("filter", ''Word32,
{-# LINE 509 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> peekByteOff hsc_ptr 56) |],
{-# LINE 510 "src/Gpu/Vulkan/Core.hsc" #-}
[| (\hsc_ptr -> pokeByteOff hsc_ptr 56) |]) ]
{-# LINE 511 "src/Gpu/Vulkan/Core.hsc" #-}
[''Show, ''Storable]