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

Engine.Types

Synopsis

App globals

Stage stack

data StackStage where Source #

Constructors

StackStage :: forall rp p rr st. RenderPass rp => Stage rp p rr st -> StackStage 
StackStageContinue :: forall rp p rr st. RenderPass rp => ReleaseKey -> st -> Stage rp p rr st -> StackStage 

Stage on a stack

type StageFrameRIO rp p rr st = RIO (App GlobalHandles st, Frame rp p rr) Source #

data Stage rp p rr st Source #

Constructors

forall a. Stage 

Fields

Frame loop inside a stage

data Frame renderpass pipelines resources Source #

All the information required to render a single frame

Constructors

Frame 

Fields

Instances

Instances details
HasDescSet tag rr => HasDescSet (tag :: k) (env, Frame rp p rr) Source # 
Instance details

Defined in Engine.Vulkan.DescSets

Methods

getDescSet :: (env, Frame rp p rr) -> Tagged tag DescriptorSet Source #

HasDescSet tag rr => HasDescSet (tag :: k) (Frame rp p rr) Source # 
Instance details

Defined in Engine.Vulkan.DescSets

Methods

getDescSet :: Frame rp p rr -> Tagged tag DescriptorSet Source #

HasStateRef st (App GlobalHandles st, Frame rp p rr) Source # 
Instance details

Defined in Engine.Types

Methods

stateRefL :: Lens' (App GlobalHandles st, Frame rp p rr) (SomeRef st) #

MonadResource (RIO (env, Frame rp p rr)) Source # 
Instance details

Defined in Engine.Types

Methods

liftResourceT :: ResourceT IO a -> RIO (env, Frame rp p rr) a #

HasLogFunc env => HasLogFunc (env, Frame rp p rr) Source # 
Instance details

Defined in Engine.Types

Methods

logFuncL :: Lens' (env, Frame rp p rr) LogFunc #

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 #

type GPUWork = ("host semaphore" ::: Semaphore, "frame index" ::: Word64) Source #

data RecycledResources a Source #

These are resources which are reused by a later frame when the current frame is retired

Constructors

RecycledResources 

Fields

Instances

Instances details
HasDescSet tag rr => HasDescSet (tag :: k) (RecycledResources rr) Source # 
Instance details

Defined in Engine.Vulkan.DescSets

type family HKD f a where ... Source #

Equations

HKD Identity a = a 
HKD f a = f a