gpu-vulkan-core 0.1.0.19 → 0.1.0.20
raw patch · 5 files changed
+83/−4 lines, 5 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Gpu.Vulkan.Cmd.Core: blitImage2 :: C -> Ptr BlitImageInfo2 -> IO ()
+ Gpu.Vulkan.Core: blitImageInfo2DstImage :: BlitImageInfo2 -> I
+ Gpu.Vulkan.Core: blitImageInfo2DstImageLayout :: BlitImageInfo2 -> Word32
+ Gpu.Vulkan.Core: blitImageInfo2Filter :: BlitImageInfo2 -> Word32
+ Gpu.Vulkan.Core: blitImageInfo2PNext :: BlitImageInfo2 -> PtrVoid
+ Gpu.Vulkan.Core: blitImageInfo2PRegions :: BlitImageInfo2 -> PtrBlit2
+ Gpu.Vulkan.Core: blitImageInfo2RegionCount :: BlitImageInfo2 -> Word32
+ Gpu.Vulkan.Core: blitImageInfo2SType :: BlitImageInfo2 -> ()
+ Gpu.Vulkan.Core: blitImageInfo2SrcImage :: BlitImageInfo2 -> I
+ Gpu.Vulkan.Core: blitImageInfo2SrcImageLayout :: BlitImageInfo2 -> Word32
+ Gpu.Vulkan.Core: data BlitImageInfo2
+ Gpu.Vulkan.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Core.BlitImageInfo2
+ Gpu.Vulkan.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Core.BlitImageInfo2
+ Gpu.Vulkan.Core: pattern BlitImageInfo2 :: () -> PtrVoid -> I -> Word32 -> I -> Word32 -> Word32 -> PtrBlit2 -> Word32 -> BlitImageInfo2
+ Gpu.Vulkan.Image.Core: blit2DstOffsets :: Blit2 -> ListOffset3d
+ Gpu.Vulkan.Image.Core: blit2DstSubresource :: Blit2 -> SubresourceLayers
+ Gpu.Vulkan.Image.Core: blit2PNext :: Blit2 -> PtrVoid
+ Gpu.Vulkan.Image.Core: blit2SType :: Blit2 -> ()
+ Gpu.Vulkan.Image.Core: blit2SrcOffsets :: Blit2 -> ListOffset3d
+ Gpu.Vulkan.Image.Core: blit2SrcSubresource :: Blit2 -> SubresourceLayers
+ Gpu.Vulkan.Image.Core: data Blit2
+ Gpu.Vulkan.Image.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Image.Core.Blit2
+ Gpu.Vulkan.Image.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Image.Core.Blit2
+ Gpu.Vulkan.Image.Core: pattern Blit2 :: () -> PtrVoid -> SubresourceLayers -> ListOffset3d -> SubresourceLayers -> ListOffset3d -> Blit2
+ Gpu.Vulkan.Image.Core: type PtrBlit2 = Ptr Blit2
Files
- gpu-vulkan-core.cabal +1/−1
- src/Gpu/Vulkan/Cmd/Core.hsc +4/−1
- src/Gpu/Vulkan/Core.hsc +40/−1
- src/Gpu/Vulkan/Image/Core.hs-boot +7/−1
- src/Gpu/Vulkan/Image/Core.hsc +31/−0
gpu-vulkan-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: gpu-vulkan-core-version: 0.1.0.19+version: 0.1.0.20 synopsis: Thin wrapper for Vulkan API description: Please see the README on GitHub at <https://github.com/YoshikuniJujo/gpu-vulkan-core#readme> category: GPU
src/Gpu/Vulkan/Cmd/Core.hsc view
@@ -18,7 +18,7 @@ -- * COPY BUFFER AND IMAGE - copyBuffer, copyBufferToImage, copyImageToBuffer, blitImage,+ copyBuffer, copyBufferToImage, copyImageToBuffer, blitImage, blitImage2, -- * CLEAR COLOR IMAGE @@ -107,6 +107,9 @@ CommandBuffer.C -> Image.I -> #{type VkImageLayout} -> Image.I -> #{type VkImageLayout} -> #{type uint32_t} -> Ptr Image.Blit -> #{type VkFilter} -> IO ()++foreign import ccall "vkCmdBlitImage2" blitImage2 ::+ CommandBuffer.C -> Ptr BlitImageInfo2 -> IO() foreign import ccall "vkCmdDispatch" dispatch :: CommandBuffer.C ->
src/Gpu/Vulkan/Core.hsc view
@@ -123,8 +123,16 @@ dependencyInfoBufferMemoryBarrierCount, dependencyInfoPBufferMemoryBarriers, dependencyInfoImageMemoryBarrierCount,- dependencyInfoPImageMemoryBarriers+ dependencyInfoPImageMemoryBarriers, + -- * BLIT IMAGE INFO 2++ BlitImageInfo2, pattern BlitImageInfo2,+ blitImageInfo2SType, blitImageInfo2PNext,+ blitImageInfo2SrcImage, blitImageInfo2SrcImageLayout,+ blitImageInfo2DstImage, blitImageInfo2DstImageLayout,+ blitImageInfo2RegionCount, blitImageInfo2PRegions, blitImageInfo2Filter+ ) where import Foreign.Ptr@@ -469,4 +477,35 @@ ("pImageMemoryBarriers", ''Image.PtrMemoryBarrier2, [| #{peek VkDependencyInfo, pImageMemoryBarriers} |], [| #{poke VkDependencyInfo, pImageMemoryBarriers} |]) ]+ [''Show, ''Storable]++struct "BlitImageInfo2" #{size VkBlitImageInfo2} #{alignment VkBlitImageInfo2} [+ ("sType", ''(), [| const $ pure () |],+ [| \p _ -> #{poke VkBlitImageInfo2, sType} p+ (#{const VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2} ::+ #{type VkStructureType}) |]),+ ("pNext", ''PtrVoid,+ [| #{peek VkBlitImageInfo2, pNext} |],+ [| #{poke VkBlitImageInfo2, pNext} |]),+ ("srcImage", ''Image.I,+ [| #{peek VkBlitImageInfo2, srcImage} |],+ [| #{poke VkBlitImageInfo2, srcImage} |]),+ ("srcImageLayout", ''#{type VkImageLayout},+ [| #{peek VkBlitImageInfo2, srcImageLayout} |],+ [| #{poke VkBlitImageInfo2, srcImageLayout} |]),+ ("dstImage", ''Image.I,+ [| #{peek VkBlitImageInfo2, dstImage} |],+ [| #{poke VkBlitImageInfo2, dstImage} |]),+ ("dstImageLayout", ''#{type VkImageLayout},+ [| #{peek VkBlitImageInfo2, dstImageLayout} |],+ [| #{poke VkBlitImageInfo2, dstImageLayout} |]),+ ("regionCount", ''#{type uint32_t},+ [| #{peek VkBlitImageInfo2, regionCount} |],+ [| #{poke VkBlitImageInfo2, regionCount} |]),+ ("pRegions", ''Image.PtrBlit2,+ [| #{peek VkBlitImageInfo2, pRegions} |],+ [| #{poke VkBlitImageInfo2, pRegions} |]),+ ("filter", ''#{type VkFilter},+ [| #{peek VkBlitImageInfo2, filter} |],+ [| #{poke VkBlitImageInfo2, filter} |]) ] [''Show, ''Storable]
src/Gpu/Vulkan/Image/Core.hs-boot view
@@ -1,6 +1,12 @@-module Gpu.Vulkan.Image.Core where+module Gpu.Vulkan.Image.Core (MemoryBarrier2, PtrMemoryBarrier2, I, Blit2, PtrBlit2) where import Foreign.Ptr data MemoryBarrier2 type PtrMemoryBarrier2 = Ptr MemoryBarrier2++data Blit2+type PtrBlit2 = Ptr Blit2++data ITag+type I = Ptr ITag
src/Gpu/Vulkan/Image/Core.hsc view
@@ -48,6 +48,11 @@ Blit, pattern Blit, blitSrcSubresource, blitSrcOffsets, blitDstSubresource, blitDstOffsets, + Blit2, PtrBlit2, pattern Blit2,+ blit2SType, blit2PNext,+ blit2SrcSubresource, blit2SrcOffsets,+ blit2DstSubresource, blit2DstOffsets,+ -- ** SubresourceLayers SubresourceLayers, pattern SubresourceLayers,@@ -276,6 +281,32 @@ [| \p os -> pokeArray (#{ptr VkImageBlit, dstOffsets} p) $ take 2 os |]) ] [''Show, ''Storable]++struct "Blit2" #{size VkImageBlit2} #{alignment VkImageBlit2} [+ ("sType", ''(), [| const $ pure () |],+ [| \p _ -> #{poke VkImageBlit2, sType} p+ (#{const VK_STRUCTURE_TYPE_IMAGE_BLIT_2} ::+ #{type VkStructureType}) |]),+ ("pNext", ''PtrVoid,+ [| #{peek VkImageBlit2, pNext} |],+ [| #{poke VkImageBlit2, pNext} |]),+ ("srcSubresource", ''SubresourceLayers,+ [| #{peek VkImageBlit2, srcSubresource} |],+ [| #{poke VkImageBlit2, srcSubresource} |]),+ ("srcOffsets", ''ListOffset3d,+ [| \p -> peekArray 2 (#{ptr VkImageBlit2, srcOffsets} p) |],+ [| \p os -> pokeArray+ (#{ptr VkImageBlit2, srcOffsets} p) $ take 2 os |]),+ ("dstSubresource", ''SubresourceLayers,+ [| #{peek VkImageBlit2, dstSubresource} |],+ [| #{poke VkImageBlit2, dstSubresource} |]),+ ("dstOffsets", ''ListOffset3d,+ [| \p -> peekArray 2 (#{ptr VkImageBlit2, dstOffsets} p) |],+ [| \p os -> pokeArray+ (#{ptr VkImageBlit2, dstOffsets} p) $ take 2 os |]) ]+ [''Show, ''Storable]++type PtrBlit2 = Ptr Blit2 struct "Subresource" #{size VkImageSubresource} #{alignment VkImageSubresource} [