{-# LINE 1 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
module Gpu.Vulkan.Cmd.Core (
beginRenderPass, endRenderPass,
draw, drawIndexed, dispatch,
bindPipeline, bindVertexBuffers, bindIndexBuffer,
bindDescriptorSets,
pushConstants,
copyBuffer, copyBufferToImage, copyImageToBuffer, blitImage,
pipelineBarrier, pipelineBarrier2,
beginQuery, endQuery, resetQueryPool,
writeTimestamp,
) where
import Foreign.Ptr
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
import qualified Gpu.Vulkan.Buffer.Core as Buffer
import qualified Gpu.Vulkan.PipelineLayout.Core as Pipeline.Layout
import qualified Gpu.Vulkan.DescriptorSet.Core as DscSet
import qualified Gpu.Vulkan.Memory.Core as Memory
import qualified Gpu.Vulkan.Image.Core as Image
import Gpu.Vulkan.QueryPool.Core as QueryPool
foreign import ccall "vkCmdBeginRenderPass" beginRenderPass ::
CommandBuffer.C -> Ptr RenderPass.BeginInfo ->
Word32 -> IO ()
{-# LINE 55 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdBindPipeline" bindPipeline ::
CommandBuffer.C -> Word32 -> Pipeline.P -> IO ()
{-# LINE 58 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdDraw" draw ::
CommandBuffer.C -> Word32 -> Word32 ->
{-# LINE 61 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Word32 -> IO ()
{-# LINE 62 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdDrawIndexed" drawIndexed ::
CommandBuffer.C -> Word32 -> Word32 ->
{-# LINE 65 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Int32 -> Word32 -> IO ()
{-# LINE 66 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdEndRenderPass" endRenderPass ::
CommandBuffer.C -> IO ()
foreign import ccall "vkCmdBindVertexBuffers" bindVertexBuffers ::
CommandBuffer.C -> Word32 -> Word32 ->
{-# LINE 72 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Ptr Buffer.B -> Ptr Word64 -> IO ()
{-# LINE 73 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdCopyBuffer" copyBuffer ::
CommandBuffer.C -> Buffer.B -> Buffer.B -> Word32 ->
{-# LINE 76 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Ptr Buffer.Copy -> IO ()
foreign import ccall "vkCmdBindIndexBuffer" bindIndexBuffer ::
CommandBuffer.C -> Buffer.B -> Word64 ->
{-# LINE 80 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> IO ()
{-# LINE 81 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdBindDescriptorSets" bindDescriptorSets ::
CommandBuffer.C -> Word32 -> Pipeline.Layout.P ->
{-# LINE 84 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Word32 -> Ptr DscSet.D ->
{-# LINE 85 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Word32 -> IO ()
{-# LINE 86 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdPipelineBarrier" pipelineBarrier ::
CommandBuffer.C ->
Word32 -> Word32 ->
{-# LINE 90 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 ->
{-# LINE 91 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Memory.Barrier ->
{-# LINE 92 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Buffer.MemoryBarrier ->
{-# LINE 93 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Image.MemoryBarrier -> IO ()
{-# LINE 94 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdCopyBufferToImage" copyBufferToImage ::
CommandBuffer.C -> Buffer.B -> Image.I -> Word32 ->
{-# LINE 97 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Buffer.ImageCopy -> IO ()
{-# LINE 98 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdCopyImageToBuffer" copyImageToBuffer ::
CommandBuffer.C -> Image.I -> Word32 -> Buffer.B ->
{-# LINE 101 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Buffer.ImageCopy -> IO ()
{-# LINE 102 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdBlitImage" blitImage ::
CommandBuffer.C ->
Image.I -> Word32 -> Image.I -> Word32 ->
{-# LINE 106 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Ptr Image.Blit -> Word32 -> IO ()
{-# LINE 107 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdDispatch" dispatch ::
CommandBuffer.C ->
Word32 -> Word32 -> Word32 -> IO ()
{-# LINE 111 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdPushConstants" pushConstants ::
CommandBuffer.C -> Pipeline.Layout.P -> Word32 ->
{-# LINE 114 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> Word32 -> Ptr () -> IO ()
{-# LINE 115 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdResetQueryPool" resetQueryPool ::
CommandBuffer.C -> QueryPool.Q ->
Word32 -> Word32 -> IO ()
{-# LINE 119 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdBeginQuery" beginQuery ::
CommandBuffer.C -> QueryPool.Q -> Word32 ->
{-# LINE 122 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> IO ()
{-# LINE 123 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdEndQuery" endQuery ::
CommandBuffer.C -> QueryPool.Q -> Word32 -> IO ()
{-# LINE 126 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdWriteTimestamp" writeTimestamp ::
CommandBuffer.C -> Word32 -> QueryPool.Q ->
{-# LINE 129 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
Word32 -> IO ()
{-# LINE 130 "src/Gpu/Vulkan/Cmd/Core.hsc" #-}
foreign import ccall "vkCmdPipelineBarrier2" pipelineBarrier2 ::
CommandBuffer.C -> Ptr DependencyInfo -> IO ()