packages feed

gpu-vulkan-core 0.1.0.16 → 0.1.0.17

raw patch · 8 files changed

+195/−4 lines, 8 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Gpu.Vulkan.Buffer.Core: data MemoryBarrier2
+ Gpu.Vulkan.Buffer.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Buffer.Core.MemoryBarrier2
+ Gpu.Vulkan.Buffer.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Buffer.Core.MemoryBarrier2
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2Buffer :: MemoryBarrier2 -> B
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2DstAccessMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2DstQueueFamilyIndex :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2DstStageMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2Offset :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2PNext :: MemoryBarrier2 -> PtrVoid
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2SType :: MemoryBarrier2 -> ()
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2Size :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2SrcAccessMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2SrcQueueFamilyIndex :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Buffer.Core: memoryBarrier2SrcStageMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Buffer.Core: pattern MemoryBarrier2 :: () -> PtrVoid -> Word64 -> Word64 -> Word64 -> Word64 -> Word32 -> Word32 -> B -> Word64 -> Word64 -> MemoryBarrier2
+ Gpu.Vulkan.Buffer.Core: type PtrMemoryBarrier2 = Ptr MemoryBarrier2
+ Gpu.Vulkan.Cmd.Core: pipelineBarrier2 :: C -> Ptr DependencyInfo -> IO ()
+ Gpu.Vulkan.Core: data DependencyInfo
+ Gpu.Vulkan.Core: dependencyInfoBufferMemoryBarrierCount :: DependencyInfo -> Word32
+ Gpu.Vulkan.Core: dependencyInfoDependencyFlags :: DependencyInfo -> Word32
+ Gpu.Vulkan.Core: dependencyInfoImageMemoryBarrierCount :: DependencyInfo -> Word32
+ Gpu.Vulkan.Core: dependencyInfoMemoryBarrierCount :: DependencyInfo -> Word32
+ Gpu.Vulkan.Core: dependencyInfoPBufferMemoryBarriers :: DependencyInfo -> PtrMemoryBarrier2
+ Gpu.Vulkan.Core: dependencyInfoPImageMemoryBarriers :: DependencyInfo -> PtrMemoryBarrier2
+ Gpu.Vulkan.Core: dependencyInfoPMemoryBarriers :: DependencyInfo -> PtrBarrier2
+ Gpu.Vulkan.Core: dependencyInfoPNext :: DependencyInfo -> PtrVoid
+ Gpu.Vulkan.Core: dependencyInfoSType :: DependencyInfo -> ()
+ Gpu.Vulkan.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Core.DependencyInfo
+ Gpu.Vulkan.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Core.DependencyInfo
+ Gpu.Vulkan.Core: pattern DependencyInfo :: () -> PtrVoid -> Word32 -> Word32 -> PtrBarrier2 -> Word32 -> PtrMemoryBarrier2 -> Word32 -> PtrMemoryBarrier2 -> DependencyInfo
+ Gpu.Vulkan.Image.Core: data MemoryBarrier2
+ Gpu.Vulkan.Image.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Image.Core.MemoryBarrier2
+ Gpu.Vulkan.Image.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Image.Core.MemoryBarrier2
+ Gpu.Vulkan.Image.Core: memoryBarrier2DstAccessMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Image.Core: memoryBarrier2DstQueueFamilyIndex :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Image.Core: memoryBarrier2DstStageMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Image.Core: memoryBarrier2Image :: MemoryBarrier2 -> I
+ Gpu.Vulkan.Image.Core: memoryBarrier2NewLayout :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Image.Core: memoryBarrier2OldLayout :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Image.Core: memoryBarrier2PNext :: MemoryBarrier2 -> PtrVoid
+ Gpu.Vulkan.Image.Core: memoryBarrier2SType :: MemoryBarrier2 -> ()
+ Gpu.Vulkan.Image.Core: memoryBarrier2SrcAccessMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Image.Core: memoryBarrier2SrcQueueFamilyIndex :: MemoryBarrier2 -> Word32
+ Gpu.Vulkan.Image.Core: memoryBarrier2SrcStageMask :: MemoryBarrier2 -> Word64
+ Gpu.Vulkan.Image.Core: memoryBarrier2SubresourceRange :: MemoryBarrier2 -> SubresourceRange
+ Gpu.Vulkan.Image.Core: pattern MemoryBarrier2 :: () -> PtrVoid -> Word64 -> Word64 -> Word64 -> Word64 -> Word32 -> Word32 -> Word32 -> Word32 -> I -> SubresourceRange -> MemoryBarrier2
+ Gpu.Vulkan.Image.Core: type PtrMemoryBarrier2 = Ptr MemoryBarrier2
+ Gpu.Vulkan.Memory.Core: barrier2DstAccessMask :: Barrier2 -> Word64
+ Gpu.Vulkan.Memory.Core: barrier2DstStageMask :: Barrier2 -> Word64
+ Gpu.Vulkan.Memory.Core: barrier2PNext :: Barrier2 -> PtrVoid
+ Gpu.Vulkan.Memory.Core: barrier2SType :: Barrier2 -> ()
+ Gpu.Vulkan.Memory.Core: barrier2SrcAccessMask :: Barrier2 -> Word64
+ Gpu.Vulkan.Memory.Core: barrier2SrcStageMask :: Barrier2 -> Word64
+ Gpu.Vulkan.Memory.Core: data Barrier2
+ Gpu.Vulkan.Memory.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Memory.Core.Barrier2
+ Gpu.Vulkan.Memory.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Memory.Core.Barrier2
+ Gpu.Vulkan.Memory.Core: pattern Barrier2 :: () -> PtrVoid -> Word64 -> Word64 -> Word64 -> Word64 -> Barrier2
+ Gpu.Vulkan.Memory.Core: type PtrBarrier2 = Ptr Barrier2

Files

gpu-vulkan-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           gpu-vulkan-core-version:        0.1.0.16+version:        0.1.0.17 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/Buffer/Core.hs-boot view
@@ -0,0 +1,6 @@+module Gpu.Vulkan.Buffer.Core where++import Foreign.Ptr++data MemoryBarrier2+type PtrMemoryBarrier2 = Ptr MemoryBarrier2
src/Gpu/Vulkan/Buffer/Core.hsc view
@@ -30,8 +30,15 @@ 	memoryBarrierSType, memoryBarrierPNext, 	memoryBarrierSrcAccessMask, memoryBarrierDstAccessMask, 	memoryBarrierSrcQueueFamilyIndex, memoryBarrierDstQueueFamilyIndex,-	memoryBarrierBuffer, memoryBarrierOffset, memoryBarrierSize+	memoryBarrierBuffer, memoryBarrierOffset, memoryBarrierSize, +	MemoryBarrier2, PtrMemoryBarrier2, pattern MemoryBarrier2,+	memoryBarrier2SType, memoryBarrier2PNext,+	memoryBarrier2SrcStageMask, memoryBarrier2SrcAccessMask,+	memoryBarrier2DstStageMask, memoryBarrier2DstAccessMask,+	memoryBarrier2SrcQueueFamilyIndex, memoryBarrier2DstQueueFamilyIndex,+	memoryBarrier2Buffer, memoryBarrier2Offset, memoryBarrier2Size+ 	) where  import Foreign.Ptr@@ -138,6 +145,47 @@ 		[| #{peek VkBufferMemoryBarrier, size} |], 		[| #{poke VkBufferMemoryBarrier, size} |]) ] 	[''Show, ''Storable]++mbType2 :: #{type VkStructureType}+mbType2 = #{const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2}++struct "MemoryBarrier2" #{size VkBufferMemoryBarrier2}+	#{alignment VkBufferMemoryBarrier2} [+	("sType", ''(), [| const $ pure() |],+		[| \p _ -> #{poke VkBufferMemoryBarrier2, sType} p mbType2 |]),+	("pNext", ''PtrVoid,+		[| #{peek VkBufferMemoryBarrier2, pNext} |],+		[| #{poke VkBufferMemoryBarrier2, pNext} |]),+	("srcStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkBufferMemoryBarrier2, srcStageMask} |],+		[| #{poke VkBufferMemoryBarrier2, srcStageMask} |]),+	("srcAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkBufferMemoryBarrier2, srcAccessMask} |],+		[| #{poke VkBufferMemoryBarrier2, srcAccessMask} |]),+	("dstStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkBufferMemoryBarrier2, dstStageMask} |],+		[| #{poke VkBufferMemoryBarrier2, dstStageMask} |]),+	("dstAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkBufferMemoryBarrier2, dstAccessMask} |],+		[| #{poke VkBufferMemoryBarrier2, dstAccessMask} |]),+	("srcQueueFamilyIndex", ''#{type uint32_t},+		[| #{peek VkBufferMemoryBarrier2, srcQueueFamilyIndex} |],+		[| #{poke VkBufferMemoryBarrier2, srcQueueFamilyIndex} |]),+	("dstQueueFamilyIndex", ''#{type uint32_t},+		[| #{peek VkBufferMemoryBarrier2, dstQueueFamilyIndex} |],+		[| #{poke VkBufferMemoryBarrier2, dstQueueFamilyIndex} |]),+	("buffer", ''B,+		[| #{peek VkBufferMemoryBarrier2, buffer} |],+		[| #{poke VkBufferMemoryBarrier2, buffer} |]),+	("offset", ''#{type VkDeviceSize},+		[| #{peek VkBufferMemoryBarrier2, offset} |],+		[| #{poke VkBufferMemoryBarrier2, offset} |]),+	("size", ''#{type VkDeviceSize},+		[| #{peek VkBufferMemoryBarrier2, size} |],+		[| #{poke VkBufferMemoryBarrier2, size} |]) ]+	[''Show, ''Storable]++type PtrMemoryBarrier2 = Ptr MemoryBarrier2  struct "ImageCopy" #{size VkBufferImageCopy} #{alignment VkBufferImageCopy} [ 	("bufferOffset", ''#{type VkDeviceSize},
src/Gpu/Vulkan/Cmd/Core.hsc view
@@ -22,7 +22,7 @@  	-- * PIPELINE BARRIER -	pipelineBarrier,+	pipelineBarrier, pipelineBarrier2,  	-- * QUERY @@ -35,6 +35,7 @@ import Data.Word import Data.Int +import Gpu.Vulkan.Core import qualified Gpu.Vulkan.RenderPass.Core as RenderPass import qualified Gpu.Vulkan.Pipeline.Core as Pipeline import qualified Gpu.Vulkan.CommandBuffer.Core as CommandBuffer@@ -126,3 +127,6 @@ foreign import ccall "vkCmdWriteTimestamp" writeTimestamp :: 	CommandBuffer.C -> #{type VkPipelineStageFlagBits} -> QueryPool.Q -> 	#{type uint32_t} -> IO ()++foreign import ccall "vkCmdPipelineBarrier2" pipelineBarrier2 ::+	CommandBuffer.C -> Ptr DependencyInfo -> IO ()
src/Gpu/Vulkan/Core.hsc view
@@ -109,6 +109,16 @@ 	Extent3d, pattern Extent3d, 	extent3dWidth, extent3dHeight, extent3dDepth, +	-- ** DEPENDENCY INFO++	DependencyInfo, pattern DependencyInfo,+	dependencyInfoSType, dependencyInfoPNext, dependencyInfoDependencyFlags,+	dependencyInfoMemoryBarrierCount, dependencyInfoPMemoryBarriers,+	dependencyInfoBufferMemoryBarrierCount,+	dependencyInfoPBufferMemoryBarriers,+	dependencyInfoImageMemoryBarrierCount,+	dependencyInfoPImageMemoryBarriers+ 	) where  import Foreign.Ptr@@ -128,6 +138,10 @@ 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+ #include <vulkan/vulkan.h>  struct "StructCommon" #{size VkApplicationInfo}@@ -386,4 +400,35 @@ 	("bufferFeatures", ''#{type VkFormatFeatureFlags}, 		[| #{peek VkFormatProperties, bufferFeatures} |], 		[| #{poke VkFormatProperties, bufferFeatures} |]) ]+	[''Show, ''Storable]++struct "DependencyInfo" #{size VkDependencyInfo} #{alignment VkDependencyInfo} [+	("sType",  ''(), [| const $ pure () |],+		[| \p _ -> #{poke VkApplicationInfo, sType} p+			(#{const VK_STRUCTURE_TYPE_DEPENDENCY_INFO} ::+				#{type VkStructureType}) |]),+	("pNext", ''PtrVoid,+		[| #{peek VkDependencyInfo, pNext} |],+		[| #{poke VkDependencyInfo, pNext} |]),+	("dependencyFlags", ''#{type VkDependencyFlags},+		[| #{peek VkDependencyInfo, dependencyFlags} |],+		[| #{poke VkDependencyInfo, dependencyFlags} |] ),+	("memoryBarrierCount", ''#{type uint32_t},+		[| #{peek VkDependencyInfo, memoryBarrierCount} |],+		[| #{poke VkDependencyInfo, memoryBarrierCount} |] ),+	("pMemoryBarriers", ''Memory.PtrBarrier2,+		[| #{peek VkDependencyInfo, pMemoryBarriers} |],+		[| #{poke VkDependencyInfo, pMemoryBarriers} |] ),+	("bufferMemoryBarrierCount", ''#{type uint32_t},+		[| #{peek VkDependencyInfo, bufferMemoryBarrierCount} |],+		[| #{poke VkDependencyInfo, bufferMemoryBarrierCount} |]),+	("pBufferMemoryBarriers", ''Buffer.PtrMemoryBarrier2,+		[| #{peek VkDependencyInfo, pBufferMemoryBarriers} |],+		[| #{poke VkDependencyInfo, pBufferMemoryBarriers} |]),+	("imageMemoryBarrierCount", ''#{type uint32_t},+		[| #{peek VkDependencyInfo, imageMemoryBarrierCount} |],+		[| #{poke VkDependencyInfo, imageMemoryBarrierCount} |]),+	("pImageMemoryBarriers", ''Image.PtrMemoryBarrier2,+		[| #{peek VkDependencyInfo, pImageMemoryBarriers} |],+		[| #{poke VkDependencyInfo, pImageMemoryBarriers} |]) ] 	[''Show, ''Storable]
+ src/Gpu/Vulkan/Image/Core.hs-boot view
@@ -0,0 +1,6 @@+module Gpu.Vulkan.Image.Core where++import Foreign.Ptr++data MemoryBarrier2+type PtrMemoryBarrier2 = Ptr MemoryBarrier2
src/Gpu/Vulkan/Image/Core.hsc view
@@ -28,6 +28,14 @@ 	memoryBarrierSrcQueueFamilyIndex, memoryBarrierDstQueueFamilyIndex, 	memoryBarrierImage, memoryBarrierSubresourceRange, +	MemoryBarrier2, PtrMemoryBarrier2, pattern MemoryBarrier2,+	memoryBarrier2SType, memoryBarrier2PNext,+	memoryBarrier2SrcStageMask, memoryBarrier2SrcAccessMask,+	memoryBarrier2DstStageMask, memoryBarrier2DstAccessMask,+	memoryBarrier2OldLayout, memoryBarrier2NewLayout,+	memoryBarrier2SrcQueueFamilyIndex, memoryBarrier2DstQueueFamilyIndex,+	memoryBarrier2Image, memoryBarrier2SubresourceRange,+ 	-- ** SubresourceRange  	SubresourceRange, pattern SubresourceRange,@@ -188,6 +196,50 @@ 		[| #{peek VkImageMemoryBarrier, subresourceRange} |], 		[| #{poke VkImageMemoryBarrier, subresourceRange} |]) ] 	[''Show, ''Storable]++mbType2 :: #{type VkStructureType}+mbType2 = #{const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2}++struct "MemoryBarrier2" #{size VkImageMemoryBarrier2}+		#{alignment VkImageMemoryBarrier2} [+	("sType", ''(), [| const $ pure () |],+		[| \p _ -> #{poke VkImageMemoryBarrier2, sType} p mbType2 |]),+	("pNext", ''PtrVoid,+		[| #{peek VkImageMemoryBarrier2, pNext} |],+		[| #{poke VkImageMemoryBarrier2, pNext} |]),+	("srcStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkImageMemoryBarrier2, srcStageMask} |],+		[| #{poke VkImageMemoryBarrier2, srcStageMask} |]),+	("srcAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkImageMemoryBarrier2, srcAccessMask} |],+		[| #{poke VkImageMemoryBarrier2, srcAccessMask} |]),+	("dstStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkImageMemoryBarrier2, dstStageMask} |],+		[| #{poke VkImageMemoryBarrier2, dstStageMask} |]),+	("dstAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkImageMemoryBarrier2, dstAccessMask} |],+		[| #{poke VkImageMemoryBarrier2, dstAccessMask} |]),+	("oldLayout", ''#{type VkImageLayout},+		[| #{peek VkImageMemoryBarrier2, oldLayout} |],+		[| #{poke VkImageMemoryBarrier2, oldLayout} |]),+	("newLayout", ''#{type VkImageLayout},+		[| #{peek VkImageMemoryBarrier2, newLayout} |],+		[| #{poke VkImageMemoryBarrier2, newLayout} |]),+	("srcQueueFamilyIndex", ''#{type uint32_t},+		[| #{peek VkImageMemoryBarrier2, srcQueueFamilyIndex} |],+		[| #{poke VkImageMemoryBarrier2, srcQueueFamilyIndex} |]),+	("dstQueueFamilyIndex", ''#{type uint32_t},+		[| #{peek VkImageMemoryBarrier2, dstQueueFamilyIndex} |],+		[| #{poke VkImageMemoryBarrier2, dstQueueFamilyIndex} |]),+	("image", ''I,+		[| #{peek VkImageMemoryBarrier2, image} |],+		[| #{poke VkImageMemoryBarrier2, image} |]),+	("subresourceRange", ''SubresourceRange,+		[| #{peek VkImageMemoryBarrier2, subresourceRange} |],+		[| #{poke VkImageMemoryBarrier2, subresourceRange} |]) ]+	[''Show, ''Storable]++type PtrMemoryBarrier2 = Ptr MemoryBarrier2  struct "SubresourceLayers" #{size VkImageSubresourceLayers} 		#{alignment VkImageSubresourceLayers} [
src/Gpu/Vulkan/Memory/Core.hsc view
@@ -31,8 +31,13 @@ 	-- * BARRIER  	Barrier, pattern Barrier,-	barrierSType, barrierPNext, barrierSrcAccessMask, barrierDstAccessMask+	barrierSType, barrierPNext, barrierSrcAccessMask, barrierDstAccessMask, +	Barrier2, PtrBarrier2, pattern Barrier2,+	barrier2SType, barrier2PNext,+	barrier2SrcStageMask, barrier2SrcAccessMask,+	barrier2DstStageMask, barrier2DstAccessMask+ 	) where  import Prelude hiding (map)@@ -139,3 +144,28 @@ 		[| #{peek VkMemoryBarrier, dstAccessMask} |], 		[| #{poke VkMemoryBarrier, dstAccessMask} |]) ] 	[''Show, ''Storable]++bType2 :: #{type VkStructureType}+bType2 = #{const VK_STRUCTURE_TYPE_MEMORY_BARRIER_2}++struct "Barrier2" #{size VkMemoryBarrier2} #{alignment VkMemoryBarrier2} [+	("sType", ''(), [| const $ pure () |],+		[| \p _ -> #{poke VkMemoryBarrier2, sType} p bType2 |]),+	("pNext", ''PtrVoid,+		[| #{peek VkMemoryBarrier2, pNext} |],+		[| #{poke VkMemoryBarrier2, pNext} |]),+	("srcStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkMemoryBarrier2, srcStageMask} |],+		[| #{poke VkMemoryBarrier2, srcStageMask} |]),+	("srcAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkMemoryBarrier2, srcAccessMask} |],+		[| #{poke VkMemoryBarrier2, srcAccessMask} |]),+	("dstStageMask", ''#{type VkPipelineStageFlags2},+		[| #{peek VkMemoryBarrier2, dstStageMask} |],+		[| #{poke VkMemoryBarrier2, dstStageMask} |]),+	("dstAccessMask", ''#{type VkAccessFlags2},+		[| #{peek VkMemoryBarrier2, dstAccessMask} |],+		[| #{poke VkMemoryBarrier2, dstAccessMask} |]) ]+	[''Show, ''Storable]++type PtrBarrier2 = Ptr Barrier2