keid-core-0.1.9.0: Core parts of Keid engine.
Safe HaskellSafe-Inferred
LanguageGHC2021

Engine.Vulkan.Swapchain

Synopsis

Documentation

allocSwapchainResources Source #

Arguments

:: (MonadResource (RIO env), HasVulkan env, HasLogFunc env) 
=> Maybe PresentModeKHR 
-> SampleCountFlagBits 
-> SwapchainKHR

Previous swapchain, can be NULL_HANDLE

-> Extent2D

If the swapchain size determines the surface size, use this size

-> SurfaceKHR 
-> Var Extent2D 
-> RIO env SwapchainResources 

Allocate everything which depends on the swapchain

recreateSwapchainResources Source #

Arguments

:: (MonadResource (RIO env), HasVulkan env, HasLogFunc env) 
=> Maybe PresentModeKHR 
-> SampleCountFlagBits 
-> Extent2D 
-> SwapchainResources

The reference to these resources will be dropped

-> RIO env SwapchainResources 

createSwapchain Source #

Arguments

:: (MonadResource m, MonadVulkan env m, HasLogFunc env) 
=> Maybe PresentModeKHR 
-> SampleCountFlagBits 
-> SwapchainKHR

Old swapchain, can be NULL_HANDLE

-> Extent2D

If the swapchain size determines the surface size, use this size

-> SurfaceKHR 
-> m SwapchainInfo 

Create a swapchain from a SurfaceKHR

threwSwapchainError :: MonadUnliftIO f => f () -> f Bool Source #

Catch an ERROR_OUT_OF_DATE_KHR exception and return True if that happened

class HasSwapchain a where Source #

Instances

Instances details
HasSwapchain SwapchainResources Source # 
Instance details

Defined in Engine.Vulkan.Swapchain

HasSwapchain (Frame renderpass pipelines resources) Source # 
Instance details

Defined in Engine.Types

Methods

getSurfaceExtent :: Frame renderpass pipelines resources -> Extent2D Source #

getSurfaceFormat :: Frame renderpass pipelines resources -> Format Source #

getDepthFormat :: Frame renderpass pipelines resources -> Format Source #

getMultisample :: Frame renderpass pipelines resources -> SampleCountFlagBits Source #

getAnisotropy :: Frame renderpass pipelines resources -> "max sampler anisotropy" ::: Float Source #

getSwapchainViews :: Frame renderpass pipelines resources -> Vector ImageView Source #

getMinImageCount :: Frame renderpass pipelines resources -> Word32 Source #

getImageCount :: Frame renderpass pipelines resources -> Word32 Source #

setDynamic :: MonadIO io => CommandBuffer -> ("viewport" ::: Rect2D) -> ("scissor" ::: Rect2D) -> io () Source #

setDynamicFullscreen :: (HasSwapchain swapchain, MonadIO io) => CommandBuffer -> swapchain -> io () Source #