Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Documentation
data Allocated (s :: Store) a Source #
Allocated | |
|
Instances
allocateCoherent :: (MonadVulkan env m, MonadResource m, Storable a) => Maybe Text -> BufferUsageFlagBits -> ("initial size" ::: Int) -> Vector a -> m (ReleaseKey, Allocated 'Coherent a) Source #
createCoherent :: forall a env m. (MonadVulkan env m, Storable a) => Maybe Text -> BufferUsageFlagBits -> ("initial size" ::: Int) -> Vector a -> m (Allocated 'Coherent a) Source #
createStaged :: forall a env m. (Storable a, MonadVulkan env m) => Maybe Text -> Queues CommandPool -> BufferUsageFlagBits -> Int -> Vector a -> m (Allocated 'Staged a) Source #
register :: (MonadVulkan env m, MonadResource m) => Allocated stage a -> m ReleaseKey Source #
pokeCoherent :: (MonadVulkan env m, Storable a) => Allocated 'Coherent a -> Word32 -> a -> m () Source #
updateCoherent :: (MonadUnliftIO io, Storable a) => Vector a -> Allocated 'Coherent a -> io (Allocated 'Coherent a) Source #
updateCoherentResize_ :: (MonadVulkan env m, Storable a) => Allocated 'Coherent a -> Vector a -> m (Allocated 'Coherent a) Source #
copyBuffer_ :: (MonadUnliftIO io, HasVulkan context) => context -> Queues CommandPool -> ("dstBuffer" ::: Buffer) -> ("srcBuffer" ::: Buffer) -> DeviceSize -> io () Source #
type ObserverCoherent a = ObserverIO (Allocated 'Coherent a) Source #
newObserverCoherent :: (MonadVulkan env m, Storable a) => ("label" ::: Text) -> BufferUsageFlagBits -> Int -> Vector a -> ResourceT m (ObserverCoherent a) Source #
observeCoherentResize_ :: (MonadVulkan env m, HasOutput source, GetOutput source ~ Vector output, Storable output) => source -> ObserverCoherent output -> m () Source #
observeCoherentSingle :: (MonadVulkan env m, HasOutput source, GetOutput source ~ output, Storable output) => source -> ObserverCoherent output -> m () Source #