gpu-vulkan-0.1.0.142: Vulkan library
Safe HaskellNone
LanguageHaskell2010

Gpu.Vulkan.Image.Internal

Synopsis

CREATE

create :: forall (mn :: Maybe Type) (fmt :: Format) (mac :: Maybe (Type, Type)) sd (nm :: Symbol) a. (WithPoked (M mn), FormatToValue fmt, ToMiddle mac) => D sd -> CreateInfo mn fmt -> M (U2 A) mac -> (forall s. I s nm fmt -> IO a) -> IO a Source #

unsafeRecreate :: forall (mn :: Maybe Type) (mac :: Maybe (Type, Type)) (fmt :: Format) sd sm si (nm :: Symbol). (WithPoked (M mn), ToMiddle mac, FormatToValue fmt) => D sd -> CreateInfo mn fmt -> M (U2 A) mac -> Binded sm si nm fmt -> IO () Source #

unsafeRecreate' :: forall (mn :: Maybe Type) (mac :: Maybe (Type, Type)) (fmt :: Format) sd sm si (nm :: Symbol) a. (WithPoked (M mn), ToMiddle mac, FormatToValue fmt) => D sd -> CreateInfo mn fmt -> M (U2 A) mac -> Binded sm si nm fmt -> IO a -> IO () Source #

newtype I s (nm :: Symbol) (fmt :: Format) Source #

Constructors

I I 

newtype Binded sm si (nm :: Symbol) (fmt :: Format) Source #

Constructors

Binded I 

Manage Destruction

data Group sd (ma :: Maybe (Type, Type)) s k2 (nm :: k) (fmt :: k1) Source #

group :: forall {k1} {k2} (mac :: Maybe (Type, Type)) sd k3 (nm :: k1) (fmt :: k2) a. ToMiddle mac => D sd -> M (U2 A) mac -> (forall s. Group sd mac s k3 nm fmt -> IO a) -> IO a Source #

create' :: forall k (mn :: Maybe Type) (fmt :: Format) (mac :: Maybe (Type, Type)) sd sm (nm :: Symbol). (Ord k, WithPoked (M mn), FormatToValue fmt, ToMiddle mac) => Group sd mac sm k nm fmt -> k -> CreateInfo mn fmt -> IO (Either String (I sm nm fmt)) Source #

unsafeDestroy :: forall {k1} {k2} k3 (mac :: Maybe (Type, Type)) sd sm (nm :: k1) (fmt :: k2). (Ord k3, ToMiddle mac) => Group sd mac sm k3 nm fmt -> k3 -> IO (Either String ()) Source #

lookup :: forall k sd (ma :: Maybe (Type, Type)) smng (nm :: Symbol) (fmt :: Format). Ord k => Group sd ma smng k nm fmt -> k -> IO (Maybe (I smng nm fmt)) Source #

GET MEMORY REQUIREMENTS

getMemoryRequirements :: forall sd si (nm :: Symbol) (fmt :: Format). D sd -> I si nm fmt -> IO Requirements Source #

getMemoryRequirementsBinded :: forall sd sm si (nm :: Symbol) (fmt :: Format). D sd -> Binded sm si nm fmt -> IO Requirements Source #

MEMORY BARRIER

class MemoryBarrierListToMiddle (mbargs :: [(Maybe Type, Type, Type, Symbol, Format)]) where Source #

Instances

Instances details
MemoryBarrierListToMiddle ('[] :: [(Maybe Type, Type, Type, Symbol, Format)]) Source # 
Instance details

Defined in Gpu.Vulkan.Image.Internal

MemoryBarrierListToMiddle mbargs => MemoryBarrierListToMiddle ('(mn, si, sm, nm, fmt) ': mbargs) Source # 
Instance details

Defined in Gpu.Vulkan.Image.Internal

Methods

memoryBarrierListToMiddle :: PL (U5 MemoryBarrier) ('(mn, si, sm, nm, fmt) ': mbargs) -> PL MemoryBarrier (M0_5 ('(mn, si, sm, nm, fmt) ': mbargs)) Source #

BLIT