keid-core-0.1.4.0: Core parts of Keid engine.
Safe HaskellNone
LanguageHaskell2010

Engine.Setup.Device

Description

Physical device tools

Synopsis

Documentation

allocatePhysical :: (MonadUnliftIO m, MonadThrow m, MonadReader env m, HasLogFunc env, MonadResource m) => Instance -> Maybe SurfaceKHR -> (PhysicalDeviceInfo -> Word64) -> m (PhysicalDeviceInfo, PhysicalDevice) Source #

physicalDeviceInfo :: (MonadIO m, MonadReader env m, HasLogFunc env) => Maybe SurfaceKHR -> PhysicalDevice -> m (Maybe PhysicalDeviceInfo) Source #

queueRequirements :: MonadIO m => PhysicalDevice -> Maybe SurfaceKHR -> Queues (QueueSpec m) Source #

Requirements for a Queue which has graphics support and can present to the specified surface.

Priorities are ranged 0.0 to 1.0 with higher number means higher priority. https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-priority

deviceHasSwapchain :: MonadIO m => PhysicalDevice -> m Bool Source #

deviceHasTimelineSemaphores :: MonadIO m => PhysicalDevice -> m Bool Source #

allocateLogical :: (MonadUnliftIO m, MonadReader env m, HasLogFunc env, MonadResource m) => PhysicalDeviceInfo -> PhysicalDevice -> m Device Source #