gpu-vulkan-0.1.0.162: Vulkan library
Safe HaskellNone
LanguageHaskell2010

Gpu.Vulkan.Object

Synopsis

OBJECT

data O Source #

Constructors

Static_ O 
Dynamic Nat O 

Instances

Instances details
(Storable v, KnownNat oalgn, SizeAlignmentList objs) => OffsetOfList (v :: Type) nm (List oalgn v nm ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeListFromSzAlgns :: Size -> PL SizeAlignmentOf (List oalgn v nm ': objs) -> (Size, Size) Source #

(SizeAlignment obj, OffsetOfList v nm objs) => OffsetOfList (v :: k) nm (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeListFromSzAlgns :: Size -> PL SizeAlignmentOf (obj ': objs) -> (Size, Size) Source #

UpdateDynamicLength _bts ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

LengthOf obj (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

lengthOf :: PL Length (obj ': objs) -> Length obj Source #

LengthOf obj objs => LengthOf obj (obj' ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

lengthOf :: PL Length (obj' ': objs) -> Length obj Source #

(SizeAlignment v, OffsetRange v vs (i - 1)) => OffsetRange v (v ': vs) i Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

(SizeAlignment v, SizeAlignmentList vs) => OffsetRange v (v ': vs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

(SizeAlignment v', OffsetRange v vs i) => OffsetRange v (v' ': vs) i Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v' ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v' ': vs) -> (Size, Size)

MemoryBarrier2ListToMiddle ('[] :: [(Maybe Type, Type, Type, Symbol, O)]) Source # 
Instance details

Defined in Gpu.Vulkan.Buffer.Internal

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

Defined in Gpu.Vulkan.Buffer.Internal

OnlyDynamicLengths ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('[] :: [O]) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('[] :: [O]) = '[] :: [O]

Methods

onlyDynamicLength :: PL Length ('[] :: [O]) -> PL Length (OnlyDynamics ('[] :: [O])) Source #

SizeAlignmentList ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

sizeAlignmentListWholeAlignment :: ObjAlignment Source #

sizeAlignmentList :: PL Length ('[] :: [O]) -> PL SizeAlignmentOf ('[] :: [O]) Source #

WholeAlign ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

wholeAlign :: Size Source #

BindSparseInfosToMiddle ('[] :: [(Maybe Type, [Type], [(Type, Symbol, [O], [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [Type])]) Source # 
Instance details

Defined in Gpu.Vulkan.Queue

Methods

bindSparseInfosToMiddle :: D sd -> PL (U6 BindSparseInfo) ('[] :: [(Maybe Type, [Type], [(Type, Symbol, [O], [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [Type])]) -> IO (PL BindSparseInfo (M0_6 ('[] :: [(Maybe Type, [Type], [(Type, Symbol, [O], [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [(Type, Symbol, Format, [(Type, [(Type, ImageBufferArg)], Nat)])], [Type])])))

MakeCopies ('[] :: [([O], Nat, Nat)]) ss ds Source # 
Instance details

Defined in Gpu.Vulkan.Buffer.Internal

Methods

makeCopies :: PL Length ss -> PL Length ds -> [Copy]

MemoryBarrier2ListToMiddle nsmsbnmobjs => MemoryBarrier2ListToMiddle ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs) Source # 
Instance details

Defined in Gpu.Vulkan.Buffer.Internal

Methods

memoryBarrier2ListToMiddle :: PL (U5 MemoryBarrier2) ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs) -> PL MemoryBarrier2 (M0_5 ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs))

MemoryBarrierListToMiddle nsmsbnmobjs => MemoryBarrierListToMiddle ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs) Source # 
Instance details

Defined in Gpu.Vulkan.Buffer.Internal

Methods

memoryBarrierListToMiddle :: PL (U5 MemoryBarrier) ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs) -> PL MemoryBarrier (M0_5 ('(mn, sm, sb, nm, obj) ': nsmsbnmobjs))

OnlyDynamicLengths objs => OnlyDynamicLengths ('Dynamic _n o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('Dynamic _n o ': objs) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Dynamic _n o ': objs) = o ': OnlyDynamics objs

Methods

onlyDynamicLength :: PL Length ('Dynamic _n o ': objs) -> PL Length (OnlyDynamics ('Dynamic _n o ': objs)) Source #

OnlyDynamicLengths objs => OnlyDynamicLengths ('Static_ _o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('Static_ _o ': objs) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Static_ _o ': objs) = OnlyDynamics objs

Methods

onlyDynamicLength :: PL Length ('Static_ _o ': objs) -> PL Length (OnlyDynamics ('Static_ _o ': objs)) Source #

(SizeAlignment obj, SizeAlignmentList objs) => SizeAlignmentList (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

sizeAlignmentListWholeAlignment :: ObjAlignment Source #

sizeAlignmentList :: PL Length (obj ': objs) -> PL SizeAlignmentOf (obj ': objs) Source #

(SizeAlignment obj, WholeAlign objs) => WholeAlign (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

wholeAlign :: Size Source #

(MemoryBindInfosToMiddle bbs, OpaqueMemoryBindInfosToMiddle iobs, MemoryBindInfosToMiddle ibs, BindSparseInfosToMiddle bsias) => BindSparseInfosToMiddle ('(mn, swss, bbs, iobs, ibs, ssss) ': bsias) Source # 
Instance details

Defined in Gpu.Vulkan.Queue

Methods

bindSparseInfosToMiddle :: D sd -> PL (U6 BindSparseInfo) ('(mn, swss, bbs, iobs, ibs, ssss) ': bsias) -> IO (PL BindSparseInfo (M0_6 ('(mn, swss, bbs, iobs, ibs, ssss) ': bsias)))

(CopyInfo as is id ss ds, MakeCopies ass ss ds) => MakeCopies ('(as, is, id) ': ass) ss ds Source # 
Instance details

Defined in Gpu.Vulkan.Buffer.Internal

Methods

makeCopies :: PL Length ss -> PL Length ds -> [Copy]

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer ('Dynamic n o ': os') ': bts) ('Dynamic n o ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

UpdateDynamicLength ('Buffer os' ': bts) (oo ': os) => UpdateDynamicLength ('Buffer ('Dynamic n o ': os') ': bts) (oo ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer (Dynamic n algn ('Just _nm) ot t ': os') ': bts) (Dynamic n algn ('Nothing :: Maybe Symbol) ot t ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

Methods

updateDynamicLength :: PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Dynamic n algn ('Just _nm) ot t ': os') ': bts)) -> PL Length (OnlyDynamics (Dynamic n algn ('Nothing :: Maybe Symbol) ot t ': os)) -> PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Dynamic n algn ('Just _nm) ot t ': os') ': bts))

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer (Dynamic n algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts) (Dynamic n algn ('Just _nm) ot t ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

Methods

updateDynamicLength :: PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Dynamic n algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts)) -> PL Length (OnlyDynamics (Dynamic n algn ('Just _nm) ot t ': os)) -> PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Dynamic n algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts))

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer (Static algn ('Just _nm) ot t ': os') ': bts) (Static algn ('Nothing :: Maybe Symbol) ot t ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

Methods

updateDynamicLength :: PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Static algn ('Just _nm) ot t ': os') ': bts)) -> PL Length (OnlyDynamics (Static algn ('Nothing :: Maybe Symbol) ot t ': os)) -> PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Static algn ('Just _nm) ot t ': os') ': bts))

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer (Static algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts) (Static algn ('Just _nm) ot t ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

Methods

updateDynamicLength :: PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Static algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts)) -> PL Length (OnlyDynamics (Static algn ('Just _nm) ot t ': os)) -> PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer (Static algn ('Nothing :: Maybe Symbol) ot t ': os') ': bts))

(UpdateDynamicLengthPrefix os os', OnlyDynamicLengths os) => UpdateDynamicLength ('Buffer ('Static_ o ': os') ': bts) ('Static_ o ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

UpdateDynamicLength ('Buffer os' ': bts) (oo ': os) => UpdateDynamicLength ('Buffer ('Static_ o ': os') ': bts) (oo ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

UpdateDynamicLength bts (o ': os) => UpdateDynamicLength ('Buffer ('[] :: [O]) ': bts) (o ': os) Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSetLayout.UpdateDynamicLengths

Methods

updateDynamicLength :: PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer ('[] :: [O]) ': bts)) -> PL Length (OnlyDynamics (o ': os)) -> PL (PL Length) (BindingTypeListBufferOnlyDynamics ('Buffer ('[] :: [O]) ': bts))

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (Dynamic n al ('Nothing :: Maybe Symbol) ot t ': objs) (i - 1) => BindingAndArrayElemBuffer ('Buffer (Dynamic n al ('Just _nm) ot t ': lobjs) ': lbts) (Dynamic n al ('Nothing :: Maybe Symbol) ot t ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n0 => n0 -> n0 -> (n0, n0)

IsPrefixObject objs lobjs => BindingAndArrayElemBuffer ('Buffer (Dynamic n al ('Just _nm) ot t ': lobjs) ': lbts) (Dynamic n al ('Nothing :: Maybe Symbol) ot t ': objs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n0 => n0 -> n0 -> (n0, n0)

IsPrefixObject objs lobjs => BindingAndArrayElemBuffer ('Buffer (Dynamic n al ('Nothing :: Maybe Symbol) ot t ': lobjs) ': lbts) (Dynamic n al ('Just _nm) ot t ': objs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n0 => n0 -> n0 -> (n0, n0)

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (Dynamic n al ('Just nm) ot t ': objs) (i - 1) => BindingAndArrayElemBuffer ('Buffer (Dynamic n al ('Nothing :: Maybe Symbol) ot t ': lobjs) ': lbts) (Dynamic n al ('Just nm) ot t ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n0 => n0 -> n0 -> (n0, n0)

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (Static al ('Nothing :: Maybe Symbol) ot t ': objs) (i - 1) => BindingAndArrayElemBuffer ('Buffer (Static al ('Just _nm) ot t ': lobjs) ': lbts) (Static al ('Nothing :: Maybe Symbol) ot t ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

IsPrefixObject objs lobjs => BindingAndArrayElemBuffer ('Buffer (Static al ('Just _nm) ot t ': lobjs) ': lbts) (Static al ('Nothing :: Maybe Symbol) ot t ': objs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

IsPrefixObject objs lobjs => BindingAndArrayElemBuffer ('Buffer (Static al ('Nothing :: Maybe Symbol) ot t ': lobjs) ': lbts) (Static al ('Just _nm) ot t ': objs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (Static al ('Just nm) ot t ': objs) (i - 1) => BindingAndArrayElemBuffer ('Buffer (Static al ('Nothing :: Maybe Symbol) ot t ': lobjs) ': lbts) (Static al ('Just nm) ot t ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (obj ': objs) i => BindingAndArrayElemBuffer ('Buffer (lobj ': lobjs) ': lbts) (obj ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

BindingAndArrayElemBuffer ('Buffer lobjs ': lbts) (obj ': objs) (i - 1) => BindingAndArrayElemBuffer ('Buffer (obj ': lobjs) ': lbts) (obj ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

IsPrefixObject objs lobjs => BindingAndArrayElemBuffer ('Buffer (obj ': lobjs) ': lbts) (obj ': objs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

BindingAndArrayElemBuffer lbts (obj ': objs) i => BindingAndArrayElemBuffer (bt ': lbts) (obj ': objs) i Source # 
Instance details

Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem.Buffer

Methods

bindingAndArrayElemBuffer :: Integral n => n -> n -> (n, n)

type OnlyDynamics ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('[] :: [O]) = '[] :: [O]
type OnlyDynamics ('Dynamic _n o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Dynamic _n o ': objs) = o ': OnlyDynamics objs
type OnlyDynamics ('Static_ _o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Static_ _o ': objs) = OnlyDynamics objs

Synonyms

type Static (algn :: Alignment) (mnm :: Maybe Symbol) (ot :: ObjectType) v = 'Static_ ('O algn mnm ot v) Source #

type Dynamic (n :: Nat) (algn :: Alignment) (mnm :: Maybe Symbol) (ot :: ObjectType) v = 'Dynamic n ('O algn mnm ot v) Source #

static

type Atom (algn :: Alignment) v (nm :: Symbol) = AtomMaybeName algn v ('Just nm) Source #

type List (algn :: Alignment) v (nm :: Symbol) = ListMaybeName algn v ('Just nm) Source #

type Image (algn :: Alignment) v (nm :: Symbol) = ImageMaybeName algn v ('Just nm) Source #

type AtomNoName (algn :: Alignment) v = AtomMaybeName algn v ('Nothing :: Maybe Symbol) Source #

type ListNoName (algn :: Alignment) v = ListMaybeName algn v ('Nothing :: Maybe Symbol) Source #

type ImageNoName (algn :: Alignment) v = ImageMaybeName algn v ('Nothing :: Maybe Symbol) Source #

type AtomMaybeName (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Static_ (AtomMaybeName algn v mnm) Source #

type ListMaybeName (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Static_ (ListMaybeName algn v mnm) Source #

type ImageMaybeName (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Static_ (ImageMaybeName algn v mnm) Source #

dynamic

type DynAtomNew (n :: Nat) (algn :: Alignment) v (nm :: Symbol) = 'Dynamic n (AtomNew algn v nm) Source #

type DynList (n :: Nat) (algn :: Alignment) v (nm :: Symbol) = 'Dynamic n (List algn v nm) Source #

type DynImage (n :: Nat) (algn :: Alignment) v (nm :: Symbol) = 'Dynamic n (Image algn v nm) Source #

type DynAtomNoName (n :: Nat) (algn :: Alignment) v = 'Dynamic n (AtomNoName algn v) Source #

type DynListNoName (n :: Nat) (algn :: Alignment) v = 'Dynamic n (ListNoName algn v) Source #

type DynImageNoName (n :: Nat) (algn :: Alignment) v = 'Dynamic n (ImageNoName algn v) Source #

type DynAtomMaybeName (n :: Nat) (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Dynamic n (AtomMaybeName algn v mnm) Source #

type DynListMaybeName (n :: Nat) (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Dynamic n (ListMaybeName algn v mnm) Source #

type DynImageMaybeName (n :: Nat) (algn :: Alignment) v (mnm :: Maybe Symbol) = 'Dynamic n (ImageMaybeName algn v mnm) Source #

Type Of Object

type family TypeOf (obj :: O) where ... Source #

Equations

TypeOf ('Static_ kobj) = TypeOf kobj 
TypeOf ('Dynamic n kobj) = TypeOf kobj 

OBJECT LENGTH

data Length (obj :: O) Source #

Instances

Instances details
Show (Length obj) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

showsPrec :: Int -> Length obj -> ShowS #

show :: Length obj -> String #

showList :: [Length obj] -> ShowS #

Eq (Length obj) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

(==) :: Length obj -> Length obj -> Bool #

(/=) :: Length obj -> Length obj -> Bool #

Synonyms

pattern LengthAtom :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (AtomMaybeName algn v mnm)) Source #

pattern LengthList :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Size -> Length ('Static_ (ListMaybeName algn v mnm)) Source #

pattern LengthImage :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Size -> Size -> Size -> Size -> Size -> Length ('Static_ (ImageMaybeName algn v mnm)) Source #

lengthImageRow :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (ImageMaybeName algn v mnm)) -> Size Source #

lengthImageWidth :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (ImageMaybeName algn v mnm)) -> Size Source #

lengthImageHeight :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (ImageMaybeName algn v mnm)) -> Size Source #

lengthImageDepth :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (ImageMaybeName algn v mnm)) -> Size Source #

lengthImageLayerCount :: forall (algn :: Alignment) v (mnm :: Maybe Symbol). Length ('Static_ (ImageMaybeName algn v mnm)) -> Size Source #

pattern LengthDynAtom :: forall (n :: Nat) (algn :: Alignment) v (nm :: Maybe Symbol). Length ('Dynamic n (Atom algn v nm)) Source #

pattern LengthDynList :: forall (n :: Nat) (algn :: Alignment) v (nm :: Symbol). Size -> Length ('Dynamic n (List algn v nm)) Source #

pattern LengthDynImage :: forall (n :: Nat) (algn :: Alignment) v (nm :: Symbol). Size -> Size -> Size -> Size -> Size -> Length ('Dynamic n (Image algn v nm)) Source #

pattern LengthList' :: forall (algn :: Alignment) v (nm :: Maybe Symbol). Word64 -> Length ('Static_ (ListMaybeName algn v nm)) Source #

Find Length

class LengthOf (obj :: O) (objs :: [O]) where Source #

Methods

lengthOf :: PL Length objs -> Length obj Source #

Instances

Instances details
LengthOf obj (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

lengthOf :: PL Length (obj ': objs) -> Length obj Source #

LengthOf obj objs => LengthOf obj (obj' ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

lengthOf :: PL Length (obj' ': objs) -> Length obj Source #

ONLY DYNAMIC LENGTHS

class OnlyDynamicLengths (objs :: [O]) where Source #

Associated Types

type OnlyDynamics (objs :: [O]) :: [O] Source #

Instances

Instances details
OnlyDynamicLengths ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('[] :: [O]) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('[] :: [O]) = '[] :: [O]

Methods

onlyDynamicLength :: PL Length ('[] :: [O]) -> PL Length (OnlyDynamics ('[] :: [O])) Source #

OnlyDynamicLengths objs => OnlyDynamicLengths ('Dynamic _n o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('Dynamic _n o ': objs) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Dynamic _n o ': objs) = o ': OnlyDynamics objs

Methods

onlyDynamicLength :: PL Length ('Dynamic _n o ': objs) -> PL Length (OnlyDynamics ('Dynamic _n o ': objs)) Source #

OnlyDynamicLengths objs => OnlyDynamicLengths ('Static_ _o ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Associated Types

type OnlyDynamics ('Static_ _o ': objs) 
Instance details

Defined in Gpu.Vulkan.Object

type OnlyDynamics ('Static_ _o ': objs) = OnlyDynamics objs

Methods

onlyDynamicLength :: PL Length ('Static_ _o ': objs) -> PL Length (OnlyDynamics ('Static_ _o ': objs)) Source #

STORE

class Store v (obj :: O) where Source #

Methods

store :: Ptr (TypeOf obj) -> Length obj -> v -> IO () Source #

load :: Ptr (TypeOf obj) -> Length obj -> IO v Source #

length :: v -> Length obj Source #

Instances

Instances details
Store v bobj => Store v ('Static_ bobj) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

store :: Ptr (TypeOf ('Static_ bobj)) -> Length ('Static_ bobj) -> v -> IO () Source #

load :: Ptr (TypeOf ('Static_ bobj)) -> Length ('Static_ bobj) -> IO v Source #

length :: v -> Length ('Static_ bobj) Source #

(KnownNat n, Store v bobj) => Store [Maybe v] ('Dynamic n bobj) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

store :: Ptr (TypeOf ('Dynamic n bobj)) -> Length ('Dynamic n bobj) -> [Maybe v] -> IO () Source #

load :: Ptr (TypeOf ('Dynamic n bobj)) -> Length ('Dynamic n bobj) -> IO [Maybe v] Source #

length :: [Maybe v] -> Length ('Dynamic n bobj) Source #

SIZE, ALIGNMENT AND OFFSET

Whole Size

wholeSize :: forall (objs :: [O]). SizeAlignmentList objs => PL Length objs -> Size Source #

class WholeAlign (objs :: [O]) where Source #

Methods

wholeAlign :: Size Source #

Instances

Instances details
WholeAlign ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

wholeAlign :: Size Source #

(SizeAlignment obj, WholeAlign objs) => WholeAlign (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

wholeAlign :: Size Source #

Offset Range

offsetRange :: forall (obj :: O) (objs :: [O]) (i :: Nat). OffsetRange obj objs i => Size -> PL Length objs -> (Size, Size) Source #

offsetSize :: forall (obj :: O) (objs :: [O]) (i :: Nat). OffsetRange obj objs i => Size -> PL Length objs -> (Size, Size) Source #

class (SizeAlignmentList vs, TypeIndex v vs) => OffsetRange (v :: O) (vs :: [O]) (i :: Nat) Source #

Minimal complete definition

offsetRangeFromSzAlgns', offsetSizeFromSzAlgns'

Instances

Instances details
(SizeAlignment v, OffsetRange v vs (i - 1)) => OffsetRange v (v ': vs) i Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

(SizeAlignment v, SizeAlignmentList vs) => OffsetRange v (v ': vs) 0 Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v ': vs) -> (Size, Size)

(SizeAlignment v', OffsetRange v vs i) => OffsetRange v (v' ': vs) i Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v' ': vs) -> (Size, Size)

offsetSizeFromSzAlgns' :: Size -> PL SizeAlignmentOf (v' ': vs) -> (Size, Size)

Offset Of List

offsetOfList :: forall {k} (v :: k) (onm :: Symbol) (vs :: [O]). OffsetOfList v onm vs => PL Length vs -> (Size, Size) Source #

class SizeAlignmentList objs => OffsetOfList (v :: k) (nm :: Symbol) (objs :: [O]) where Source #

Methods

offsetRangeListFromSzAlgns :: Size -> PL SizeAlignmentOf objs -> (Size, Size) Source #

Instances

Instances details
(Storable v, KnownNat oalgn, SizeAlignmentList objs) => OffsetOfList (v :: Type) nm (List oalgn v nm ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeListFromSzAlgns :: Size -> PL SizeAlignmentOf (List oalgn v nm ': objs) -> (Size, Size) Source #

(SizeAlignment obj, OffsetOfList v nm objs) => OffsetOfList (v :: k) nm (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

offsetRangeListFromSzAlgns :: Size -> PL SizeAlignmentOf (obj ': objs) -> (Size, Size) Source #

Size AlignmentList

class SizeAlignmentList (objs :: [O]) where Source #

Methods

sizeAlignmentListWholeAlignment :: ObjAlignment Source #

sizeAlignmentList :: PL Length objs -> PL SizeAlignmentOf objs Source #

Instances

Instances details
SizeAlignmentList ('[] :: [O]) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

sizeAlignmentListWholeAlignment :: ObjAlignment Source #

sizeAlignmentList :: PL Length ('[] :: [O]) -> PL SizeAlignmentOf ('[] :: [O]) Source #

(SizeAlignment obj, SizeAlignmentList objs) => SizeAlignmentList (obj ': objs) Source # 
Instance details

Defined in Gpu.Vulkan.Object

Methods

sizeAlignmentListWholeAlignment :: ObjAlignment Source #

sizeAlignmentList :: PL Length (obj ': objs) -> PL SizeAlignmentOf (obj ': objs) Source #

class SizeAlignment (obj :: O) where Source #

Instances

Instances details
SizeAlignment kobj => SizeAlignment ('Static_ kobj) Source # 
Instance details

Defined in Gpu.Vulkan.Object

(KnownNat n, SizeAlignment kobj) => SizeAlignment ('Dynamic n kobj) Source # 
Instance details

Defined in Gpu.Vulkan.Object