keid-core-0.1.3.0: src/Render/Pass.hs
module Render.Pass
( usePass
, beginInfo
) where
import RIO
import RIO.Vector.Partial ((!))
import Vulkan.Core10 qualified as Vk
import Vulkan.Zero (zero)
import Engine.Vulkan.Types (HasRenderPass(..))
usePass :: (MonadIO io, HasRenderPass a) => a -> Word32 -> Vk.CommandBuffer -> io r -> io r
usePass render imageIndex cb =
Vk.cmdUseRenderPass
cb
(beginInfo render imageIndex)
Vk.SUBPASS_CONTENTS_INLINE
beginInfo :: HasRenderPass a => a -> Word32 -> Vk.RenderPassBeginInfo '[]
beginInfo rp imageIndex = zero
{ Vk.renderPass = getRenderPass rp
, Vk.framebuffer = getFramebuffers rp ! fromIntegral imageIndex
, Vk.renderArea = getRenderArea rp
, Vk.clearValues = getClearValues rp
}