gpu-vulkan-core 0.1.0.18 → 0.1.0.19
raw patch · 7 files changed
+114/−5 lines, 7 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Gpu.Vulkan.CommandBuffer.Core: data SubmitInfo
+ Gpu.Vulkan.CommandBuffer.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.CommandBuffer.Core.SubmitInfo
+ Gpu.Vulkan.CommandBuffer.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.CommandBuffer.Core.SubmitInfo
+ Gpu.Vulkan.CommandBuffer.Core: pattern SubmitInfo :: () -> PtrVoid -> C -> Word32 -> SubmitInfo
+ Gpu.Vulkan.CommandBuffer.Core: submitInfoCommandBuffer :: SubmitInfo -> C
+ Gpu.Vulkan.CommandBuffer.Core: submitInfoDeviceMask :: SubmitInfo -> Word32
+ Gpu.Vulkan.CommandBuffer.Core: submitInfoPNext :: SubmitInfo -> PtrVoid
+ Gpu.Vulkan.CommandBuffer.Core: submitInfoSType :: SubmitInfo -> ()
+ Gpu.Vulkan.CommandBuffer.Core: type PtrSubmitInfo = Ptr SubmitInfo
+ Gpu.Vulkan.Core: data SubmitInfo2
+ Gpu.Vulkan.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Core.SubmitInfo2
+ Gpu.Vulkan.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Core.SubmitInfo2
+ Gpu.Vulkan.Core: pattern SubmitInfo2 :: () -> PtrVoid -> Word32 -> Word32 -> PtrSubmitInfo -> Word32 -> PtrSubmitInfo -> Word32 -> PtrSubmitInfo -> SubmitInfo2
+ Gpu.Vulkan.Core: submitInfo2CommandBufferInfoCount :: SubmitInfo2 -> Word32
+ Gpu.Vulkan.Core: submitInfo2Flags :: SubmitInfo2 -> Word32
+ Gpu.Vulkan.Core: submitInfo2PCommandBufferInfos :: SubmitInfo2 -> PtrSubmitInfo
+ Gpu.Vulkan.Core: submitInfo2PNext :: SubmitInfo2 -> PtrVoid
+ Gpu.Vulkan.Core: submitInfo2PSignalSemaphoreInfos :: SubmitInfo2 -> PtrSubmitInfo
+ Gpu.Vulkan.Core: submitInfo2PWaitSemaphoreInfos :: SubmitInfo2 -> PtrSubmitInfo
+ Gpu.Vulkan.Core: submitInfo2SType :: SubmitInfo2 -> ()
+ Gpu.Vulkan.Core: submitInfo2SignalSemaphoreInfoCount :: SubmitInfo2 -> Word32
+ Gpu.Vulkan.Core: submitInfo2WaitSemaphoreInfoCount :: SubmitInfo2 -> Word32
+ Gpu.Vulkan.Queue.Core: submit2 :: Q -> Word32 -> Ptr SubmitInfo2 -> F -> IO Int32
+ Gpu.Vulkan.Semaphore.Core: data SubmitInfo
+ Gpu.Vulkan.Semaphore.Core: instance GHC.Internal.Foreign.Storable.Storable Gpu.Vulkan.Semaphore.Core.SubmitInfo
+ Gpu.Vulkan.Semaphore.Core: instance GHC.Internal.Show.Show Gpu.Vulkan.Semaphore.Core.SubmitInfo
+ Gpu.Vulkan.Semaphore.Core: pattern SubmitInfo :: () -> PtrVoid -> S -> Word64 -> Word64 -> Word32 -> SubmitInfo
+ Gpu.Vulkan.Semaphore.Core: submitInfoDeviceIndex :: SubmitInfo -> Word32
+ Gpu.Vulkan.Semaphore.Core: submitInfoPNext :: SubmitInfo -> PtrVoid
+ Gpu.Vulkan.Semaphore.Core: submitInfoSType :: SubmitInfo -> ()
+ Gpu.Vulkan.Semaphore.Core: submitInfoSemaphore :: SubmitInfo -> S
+ Gpu.Vulkan.Semaphore.Core: submitInfoStageMask :: SubmitInfo -> Word64
+ Gpu.Vulkan.Semaphore.Core: submitInfoValue :: SubmitInfo -> Word64
+ Gpu.Vulkan.Semaphore.Core: type PtrSubmitInfo = Ptr SubmitInfo
Files
- gpu-vulkan-core.cabal +1/−1
- src/Gpu/Vulkan/CommandBuffer/Core.hs-boot +4/−1
- src/Gpu/Vulkan/CommandBuffer/Core.hsc +29/−1
- src/Gpu/Vulkan/Core.hsc +38/−0
- src/Gpu/Vulkan/Queue/Core.hsc +5/−1
- src/Gpu/Vulkan/Semaphore/Core.hs-boot +4/−1
- src/Gpu/Vulkan/Semaphore/Core.hsc +33/−0
gpu-vulkan-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: gpu-vulkan-core-version: 0.1.0.18+version: 0.1.0.19 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/CommandBuffer/Core.hs-boot view
@@ -1,9 +1,12 @@ {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} -module Gpu.Vulkan.CommandBuffer.Core (C, PtrC) where+module Gpu.Vulkan.CommandBuffer.Core (C, PtrC, PtrSubmitInfo) where import Foreign.Ptr data CTag type C = Ptr CTag type PtrC = Ptr C++data SubmitInfo+type PtrSubmitInfo = Ptr SubmitInfo
src/Gpu/Vulkan/CommandBuffer/Core.hsc view
@@ -23,8 +23,14 @@ inheritanceInfoSType, inheritanceInfoPNext, inheritanceInfoRenderPass, inheritanceInfoSubpass, inheritanceInfoFramebuffer, inheritanceInfoOcclusionQueryEnable,- inheritanceInfoQueryFlags, inheritanceInfoPipelineStatistics+ inheritanceInfoQueryFlags, inheritanceInfoPipelineStatistics, + -- * SUBMIT INFO++ SubmitInfo, PtrSubmitInfo, pattern SubmitInfo,+ submitInfoSType, submitInfoPNext,+ submitInfoCommandBuffer, submitInfoDeviceMask+ ) where import Foreign.Ptr@@ -135,3 +141,25 @@ foreign import ccall "vkFreeCommandBuffers" freeCs :: Device.D -> CommandPool.C -> #{type uint32_t} -> Ptr C -> IO ()++sTypeS :: #{type VkStructureType}+sTypeS = #{const VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO}++struct "SubmitInfo" #{size VkCommandBufferSubmitInfo}+ #{alignment VkCommandBufferSubmitInfo} [+ ("sType", ''(), [| const $ pure () |],+ [| \p _ -> #{poke VkCommandBufferSubmitInfo, sType}+ p sTypeS |]),+ ("pNext", ''PtrVoid,+ [| #{peek VkCommandBufferSubmitInfo, pNext} |],+ [| #{poke VkCommandBufferSubmitInfo, pNext} |]),+ ("commandBuffer", ''C,+ [| #{peek VkCommandBufferSubmitInfo, commandBuffer} |],+ [| #{poke VkCommandBufferSubmitInfo, commandBuffer} |]),+ ("deviceMask", ''#{type uint32_t},+ [| #{peek VkCommandBufferSubmitInfo, deviceMask} |],+ [| #{poke VkCommandBufferSubmitInfo, deviceMask} |])+ ]+ [''Show, ''Storable]++type PtrSubmitInfo = Ptr SubmitInfo
src/Gpu/Vulkan/Core.hsc view
@@ -31,6 +31,12 @@ submitInfoCommandBufferCount, submitInfoPCommandBuffers, submitInfoSignalSemaphoreCount, submitInfoPSignalSemaphores, + SubmitInfo2, pattern SubmitInfo2,+ submitInfo2SType, submitInfo2PNext, submitInfo2Flags,+ submitInfo2WaitSemaphoreInfoCount, submitInfo2PWaitSemaphoreInfos,+ submitInfo2CommandBufferInfoCount, submitInfo2PCommandBufferInfos,+ submitInfo2SignalSemaphoreInfoCount, submitInfo2PSignalSemaphoreInfos,+ -- * PROPERTIES -- ** ExtensionProperties@@ -290,6 +296,38 @@ ("pSignalSemaphores", ''Semaphore.PtrS, [| #{peek VkSubmitInfo, pSignalSemaphores} |], [| #{poke VkSubmitInfo, pSignalSemaphores} |]) ]+ [''Show, ''Storable]++sTypeS2 :: #{type VkStructureType}+sTypeS2 = #{const VK_STRUCTURE_TYPE_SUBMIT_INFO_2}++struct "SubmitInfo2" #{size VkSubmitInfo2} #{alignment VkSubmitInfo2} [+ ("sType", ''(), [| const $ pure () |],+ [| \p _ -> #{poke VkSubmitInfo2, sType} p sTypeS2 |]),+ ("pNext", ''PtrVoid,+ [| #{peek VkSubmitInfo2, pNext} |],+ [| #{poke VkSubmitInfo2, pNext} |]),+ ("flags", ''#{type VkSubmitFlags},+ [| #{peek VkSubmitInfo2, flags} |],+ [| #{poke VkSubmitInfo2, flags} |]),+ ("waitSemaphoreInfoCount", ''#{type uint32_t},+ [| #{peek VkSubmitInfo2, waitSemaphoreInfoCount} |],+ [| #{poke VkSubmitInfo2, waitSemaphoreInfoCount} |]),+ ("pWaitSemaphoreInfos", ''Semaphore.PtrSubmitInfo,+ [| #{peek VkSubmitInfo2, pWaitSemaphoreInfos} |],+ [| #{poke VkSubmitInfo2, pWaitSemaphoreInfos} |]),+ ("commandBufferInfoCount", ''#{type uint32_t},+ [| #{peek VkSubmitInfo2, commandBufferInfoCount} |],+ [| #{poke VkSubmitInfo2, commandBufferInfoCount} |]),+ ("pCommandBufferInfos", ''CommandBuffer.PtrSubmitInfo,+ [| #{peek VkSubmitInfo2, pCommandBufferInfos} |],+ [| #{poke VkSubmitInfo2, pCommandBufferInfos} |]),+ ("signalSemaphoreInfoCount", ''#{type uint32_t},+ [| #{peek VkSubmitInfo2, signalSemaphoreInfoCount} |],+ [| #{poke VkSubmitInfo2, signalSemaphoreInfoCount} |]),+ ("pSignalSemaphoreInfos", ''Semaphore.PtrSubmitInfo,+ [| #{peek VkSubmitInfo2, pSignalSemaphoreInfos} |],+ [| #{poke VkSubmitInfo2, pSignalSemaphoreInfos} |]) ] [''Show, ''Storable] struct "ExtensionProperties" #{size VkExtensionProperties}
src/Gpu/Vulkan/Queue/Core.hsc view
@@ -8,7 +8,7 @@ -- * SUBMIT AND WAIT IDLE - Q, submit, waitIdle,+ Q, submit, submit2, waitIdle, -- * BIND SPARSE @@ -90,4 +90,8 @@ foreign import ccall "vkQueueBindSparse" bindSparse :: Q -> #{type uint32_t} -> Ptr BindSparseInfo -> Fence.F ->+ IO #{type VkResult}++foreign import ccall "vkQueueSubmit2" submit2 ::+ Q -> #{type uint32_t} -> Ptr SubmitInfo2 -> Fence.F -> IO #{type VkResult}
src/Gpu/Vulkan/Semaphore/Core.hs-boot view
@@ -1,9 +1,12 @@ {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} -module Gpu.Vulkan.Semaphore.Core (S, PtrS) where+module Gpu.Vulkan.Semaphore.Core (S, PtrS, PtrSubmitInfo) where import Foreign.Ptr data STag type S = Ptr STag type PtrS = Ptr S++data SubmitInfo+type PtrSubmitInfo = Ptr SubmitInfo
src/Gpu/Vulkan/Semaphore/Core.hsc view
@@ -10,6 +10,13 @@ create, destroy, S, PtrS, CreateInfo, pattern CreateInfo, createInfoSType, createInfoPNext, createInfoFlags, + -- * SUBMIT INFO++ SubmitInfo, PtrSubmitInfo, pattern SubmitInfo,+ submitInfoSType, submitInfoPNext,+ submitInfoSemaphore, submitInfoValue,+ submitInfoStageMask, submitInfoDeviceIndex+ ) where import Foreign.Ptr@@ -49,3 +56,29 @@ foreign import ccall "vkDestroySemaphore" destroy :: Device.D -> S -> Ptr AllocationCallbacks.A -> IO ()++ssType :: #{type VkStructureType}+ssType = #{const VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO}++struct "SubmitInfo" #{size VkSemaphoreSubmitInfo}+ #{alignment VkSemaphoreSubmitInfo} [+ ("sType", ''(), [| const $ pure () |],+ [| \p _ -> #{poke VkSemaphoreSubmitInfo, sType} p ssType |]),+ ("pNext", ''PtrVoid,+ [| #{peek VkSemaphoreSubmitInfo, pNext} |],+ [| #{poke VkSemaphoreSubmitInfo, pNext} |]),+ ("semaphore", ''S,+ [| #{peek VkSemaphoreSubmitInfo, semaphore} |],+ [| #{poke VkSemaphoreSubmitInfo, semaphore} |]),+ ("value", ''#{type uint64_t},+ [| #{peek VkSemaphoreSubmitInfo, value} |],+ [| #{poke VkSemaphoreSubmitInfo, value} |]),+ ("stageMask", ''#{type VkPipelineStageFlags2},+ [| #{peek VkSemaphoreSubmitInfo, stageMask} |],+ [| #{poke VkSemaphoreSubmitInfo, stageMask} |]),+ ("deviceIndex", ''#{type uint32_t},+ [| #{peek VkSemaphoreSubmitInfo, deviceIndex} |],+ [| #{poke VkSemaphoreSubmitInfo, deviceIndex} |]) ]+ [''Show, ''Storable]++type PtrSubmitInfo = Ptr SubmitInfo