Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- allocateDs :: forall (mn :: Maybe Type) (slbtss :: [(Type, [BindingType])]) sd sp a. (WithPoked (M mn), DListFromMiddle slbtss) => D sd -> AllocateInfo mn sp slbtss -> (forall s. PL (D s) slbtss -> IO a) -> IO a
- data D s (slbts :: (Type, [BindingType]))
- data AllocateInfo (mn :: Maybe Type) sp (slbtss :: [(Type, [BindingType])]) = AllocateInfo {
- allocateInfoNext :: M mn
- allocateInfoDescriptorPool :: P sp
- allocateInfoSetLayouts :: PL (U2 (D :: Type -> [BindingType] -> Type)) slbtss
- class DListFromMiddle (slbtss :: [(Type, [BindingType])])
- type DefaultDynamicLengths (slbts :: (Type, [BindingType])) = Default (PL (PL Length) (BindingTypeListBufferOnlyDynamics (I1_2 slbts)))
- data Group sd s k sp (slbtss :: [(Type, [BindingType])])
- group :: forall sd k sp (slbtss :: [(Type, [BindingType])]) a. D sd -> (forall s. Group sd s k sp slbtss -> IO a) -> IO a
- allocateDs' :: forall k (mn :: Maybe Type) (slbtss :: [(Type, [BindingType])]) sd sg sp. (Ord k, WithPoked (M mn), DListFromMiddle slbtss) => Group sd sg k sp slbtss -> k -> AllocateInfo mn sp slbtss -> IO (Either String (PL (D sg) slbtss))
- unsafeFreeDs :: forall k sd sg sp (slbtss :: [(Type, [BindingType])]). Ord k => Group sd sg k sp slbtss -> k -> IO (Either String ())
- lookup :: forall k sd s sp (slbtss :: [(Type, [BindingType])]). Ord k => Group sd s k sp slbtss -> k -> IO (Maybe (PL (D s) slbtss))
- updateDs :: forall (writeArgs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) (copyArgs :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)]) sd. (Show (PL Write (M0_5 writeArgs)), WriteListToMiddle writeArgs, WriteListUpdateDynamicLengths writeArgs, CopyListToMiddle copyArgs) => D sd -> PL (U5 Write) writeArgs -> PL (U8 Copy) copyArgs -> IO ()
- data Write (mn :: Maybe Type) sds (slbts :: (Type, [BindingType])) (wsarg :: WriteSourcesArg) (i :: Nat) = Write {
- writeNext :: M mn
- writeDstSet :: D sds slbts
- writeDescriptorType :: Type
- writeSources :: WriteSources wsarg
- class WriteListToCore (M0_5 wargs) => WriteListToMiddle (wargs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)])
- class WriteListUpdateDynamicLengths (wargs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)])
- class OnlyDynamicLengths objs => UpdateDynamicLength (bts :: [BindingType]) (objs :: [O])
- data WriteSources (arg :: WriteSourcesArg) where
- ImageInfos :: forall (iiargs :: [(Type, Symbol, Format, Type)]). PL (U4 ImageInfo) iiargs -> WriteSources ('WriteSourcesArgImage iiargs)
- ImageInfosNoSampler :: forall (iiargs :: [(Symbol, Format, Type)]). PL (U3 ImageInfoNoSampler) iiargs -> WriteSources ('WriteSourcesArgImageNoSampler iiargs)
- BufferInfos :: forall (biargs :: [(Type, Type, Symbol, O, Nat)]). PL (U5 BufferInfo) biargs -> WriteSources ('WriteSourcesArgBuffer biargs)
- TexelBufferViews :: forall (tbvargs :: [(Type, Symbol, Type)]). PL (U3 B) tbvargs -> WriteSources ('WriteSourcesArgBufferView tbvargs)
- WriteSourcesInNext :: DstBinding -> DstArrayElement -> DescriptorCount -> WriteSources 'WriteSourcesArgInNext
- data WriteSourcesArg
- = WriteSourcesArgImage [(Type, Symbol, Format, Type)]
- | WriteSourcesArgImageNoSampler [(Symbol, Format, Type)]
- | WriteSourcesArgBuffer [(Type, Type, Symbol, O, Nat)]
- | WriteSourcesArgBufferView [(Type, Symbol, Type)]
- | WriteSourcesArgInNext
- class WriteSourcesToMiddle (lbts :: [BindingType]) (wsarg :: WriteSourcesArg) (i :: Nat)
- data Copy (mn :: Maybe Type) sdss (slbtss :: (Type, [BindingType])) (is :: Nat) sdsd (slbtsd :: (Type, [BindingType])) (id :: Nat) (lbts :: BindingType) = Copy {
- copyNext :: M mn
- copySrcSet :: D sdss slbtss
- copyDstSet :: D sdsd slbtsd
- class CopyListToCore (M0_8 cargs) => CopyListToMiddle (cargs :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)])
- class BindingAndArrayElem (lbts :: [BindingType]) (lbt :: BindingType) (i :: Nat)
- class BindingAndArrayElemImage (lbts :: [BindingType]) (iargs :: [(Symbol, Format)]) (i :: Nat)
- class BindingAndArrayElemImageWithImmutableSampler (lbts :: [BindingType]) (iargs :: [(Symbol, Format)]) (i :: Nat)
- class BindingAndArrayElemBuffer (lbts :: [BindingType]) (objs :: [O]) (i :: Nat)
- class BindingAndArrayElemBufferView (bt :: [BindingType]) (bvargs :: [(Symbol, Type)]) (i :: Nat)
ALLOCATE
allocateDs :: forall (mn :: Maybe Type) (slbtss :: [(Type, [BindingType])]) sd sp a. (WithPoked (M mn), DListFromMiddle slbtss) => D sd -> AllocateInfo mn sp slbtss -> (forall s. PL (D s) slbtss -> IO a) -> IO a Source #
data D s (slbts :: (Type, [BindingType])) Source #
data AllocateInfo (mn :: Maybe Type) sp (slbtss :: [(Type, [BindingType])]) Source #
AllocateInfo | |
|
Instances
(Show (M n), Show (PL (U2 (D :: Type -> [BindingType] -> Type)) slbtss)) => Show (AllocateInfo n sp slbtss) Source # | |
Defined in Gpu.Vulkan.DescriptorSet showsPrec :: Int -> AllocateInfo n sp slbtss -> ShowS # show :: AllocateInfo n sp slbtss -> String # showList :: [AllocateInfo n sp slbtss] -> ShowS # |
class DListFromMiddle (slbtss :: [(Type, [BindingType])]) Source #
dListFromMiddle
Instances
DListFromMiddle ('[] :: [(Type, [BindingType])]) Source # | |
Defined in Gpu.Vulkan.DescriptorSet dListFromMiddle :: [D] -> IO (PL (D s) ('[] :: [(Type, [BindingType])])) | |
(DefaultDynamicLengths slbts, DListFromMiddle slbtss) => DListFromMiddle (slbts ': slbtss) Source # | |
Defined in Gpu.Vulkan.DescriptorSet dListFromMiddle :: [D] -> IO (PL (D s) (slbts ': slbtss)) |
type DefaultDynamicLengths (slbts :: (Type, [BindingType])) = Default (PL (PL Length) (BindingTypeListBufferOnlyDynamics (I1_2 slbts))) Source #
Descriptor Set Group
data Group sd s k sp (slbtss :: [(Type, [BindingType])]) Source #
group :: forall sd k sp (slbtss :: [(Type, [BindingType])]) a. D sd -> (forall s. Group sd s k sp slbtss -> IO a) -> IO a Source #
allocateDs' :: forall k (mn :: Maybe Type) (slbtss :: [(Type, [BindingType])]) sd sg sp. (Ord k, WithPoked (M mn), DListFromMiddle slbtss) => Group sd sg k sp slbtss -> k -> AllocateInfo mn sp slbtss -> IO (Either String (PL (D sg) slbtss)) Source #
unsafeFreeDs :: forall k sd sg sp (slbtss :: [(Type, [BindingType])]). Ord k => Group sd sg k sp slbtss -> k -> IO (Either String ()) Source #
lookup :: forall k sd s sp (slbtss :: [(Type, [BindingType])]). Ord k => Group sd s k sp slbtss -> k -> IO (Maybe (PL (D s) slbtss)) Source #
UPDATE
updateDs :: forall (writeArgs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) (copyArgs :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)]) sd. (Show (PL Write (M0_5 writeArgs)), WriteListToMiddle writeArgs, WriteListUpdateDynamicLengths writeArgs, CopyListToMiddle copyArgs) => D sd -> PL (U5 Write) writeArgs -> PL (U8 Copy) copyArgs -> IO () Source #
Write
data Write (mn :: Maybe Type) sds (slbts :: (Type, [BindingType])) (wsarg :: WriteSourcesArg) (i :: Nat) Source #
Write | |
|
class WriteListToCore (M0_5 wargs) => WriteListToMiddle (wargs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) Source #
writeListToMiddle
Instances
WriteListToMiddle ('[] :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Write writeListToMiddle :: PL (U5 Write) ('[] :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) -> PL Write (M0_5 ('[] :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)])) | |
(WithPoked (M mn), WriteSourcesToMiddle (I1_2 slbts) wsarg i, WriteListToMiddle wargs) => WriteListToMiddle ('(mn, sds, slbts, wsarg, i) ': wargs) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Write |
class WriteListUpdateDynamicLengths (wargs :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) Source #
writeListUpdateDynamicLength
Instances
WriteListUpdateDynamicLengths ('[] :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Write writeListUpdateDynamicLength :: PL (U5 Write) ('[] :: [(Maybe Type, Type, (Type, [BindingType]), WriteSourcesArg, Nat)]) -> IO () | |
(WriteSourcesUpdateDynamicLengths bts wsarg, WriteListUpdateDynamicLengths wargs) => WriteListUpdateDynamicLengths ('(mn, sds, '(sl, bts), wsarg, i) ': wargs) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Write writeListUpdateDynamicLength :: PL (U5 Write) ('(mn, sds, '(sl, bts), wsarg, i) ': wargs) -> IO () |
class OnlyDynamicLengths objs => UpdateDynamicLength (bts :: [BindingType]) (objs :: [O]) Source #
updateDynamicLength
Instances
data WriteSources (arg :: WriteSourcesArg) where Source #
ImageInfos :: forall (iiargs :: [(Type, Symbol, Format, Type)]). PL (U4 ImageInfo) iiargs -> WriteSources ('WriteSourcesArgImage iiargs) | |
ImageInfosNoSampler :: forall (iiargs :: [(Symbol, Format, Type)]). PL (U3 ImageInfoNoSampler) iiargs -> WriteSources ('WriteSourcesArgImageNoSampler iiargs) | |
BufferInfos :: forall (biargs :: [(Type, Type, Symbol, O, Nat)]). PL (U5 BufferInfo) biargs -> WriteSources ('WriteSourcesArgBuffer biargs) | |
TexelBufferViews :: forall (tbvargs :: [(Type, Symbol, Type)]). PL (U3 B) tbvargs -> WriteSources ('WriteSourcesArgBufferView tbvargs) | |
WriteSourcesInNext :: DstBinding -> DstArrayElement -> DescriptorCount -> WriteSources 'WriteSourcesArgInNext |
data WriteSourcesArg Source #
WriteSourcesArgImage [(Type, Symbol, Format, Type)] | |
WriteSourcesArgImageNoSampler [(Symbol, Format, Type)] | |
WriteSourcesArgBuffer [(Type, Type, Symbol, O, Nat)] | |
WriteSourcesArgBufferView [(Type, Symbol, Type)] | |
WriteSourcesArgInNext |
Instances
class WriteSourcesToMiddle (lbts :: [BindingType]) (wsarg :: WriteSourcesArg) (i :: Nat) Source #
writeSourcesToMiddle
Instances
Copy
data Copy (mn :: Maybe Type) sdss (slbtss :: (Type, [BindingType])) (is :: Nat) sdsd (slbtsd :: (Type, [BindingType])) (id :: Nat) (lbts :: BindingType) Source #
Copy | |
|
class CopyListToCore (M0_8 cargs) => CopyListToMiddle (cargs :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)]) Source #
copyListToMiddle
Instances
CopyListToMiddle ('[] :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)]) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy copyListToMiddle :: PL (U8 Copy) ('[] :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)]) -> PL Copy (M0_8 ('[] :: [(Maybe Type, Type, (Type, [BindingType]), Nat, Type, (Type, [BindingType]), Nat, BindingType)])) | |
(WithPoked (M mn), BindingAndArrayElem (I1_2 slbtss) lbts is, BindingAndArrayElem (I1_2 slbtsd) lbts id, BindingLength lbts, CopyListToMiddle cargs) => CopyListToMiddle ('(mn, sdss, slbtss, is, sdsd, slbtsd, id, lbts) ': cargs) Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy |
BindingAndArrayElem
class BindingAndArrayElem (lbts :: [BindingType]) (lbt :: BindingType) (i :: Nat) Source #
bindingAndArrayElem
Instances
BindingAndArrayElemBuffer lbts objs i => BindingAndArrayElem lbts ('Buffer objs) i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy bindingAndArrayElem :: Integral n => (n, n) | |
BindingAndArrayElemBufferView lbts bvargs i => BindingAndArrayElem lbts ('BufferView bvargs) i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy bindingAndArrayElem :: Integral n => (n, n) | |
BindingAndArrayElemImage lbts iargs i => BindingAndArrayElem lbts ('Image iargs) i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy bindingAndArrayElem :: Integral n => (n, n) | |
BindingAndArrayElemImageWithImmutableSampler lbts (M0'1_3 iargs) i => BindingAndArrayElem lbts ('ImageSampler iargs) i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.Copy bindingAndArrayElem :: Integral n => (n, n) |
class BindingAndArrayElemImage (lbts :: [BindingType]) (iargs :: [(Symbol, Format)]) (i :: Nat) Source #
bindingAndArrayElemImage
Instances
BindingAndArrayElemImage ('Image liargs ': lbts) iargs i => BindingAndArrayElemImage ('Image (liarg ': liargs) ': lbts) iargs i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem bindingAndArrayElemImage :: Integral n => n -> n -> (n, n) | |
BindingAndArrayElemImage lbts iargs i => BindingAndArrayElemImage (bt ': lbts) iargs i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem bindingAndArrayElemImage :: Integral n => n -> n -> (n, n) | |
BindingAndArrayElemImage ('Image liargs ': lbts) (iarg ': iargs) (i - 1) => BindingAndArrayElemImage ('Image (iarg ': liargs) ': lbts) (iarg ': iargs) i Source # | |
Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem bindingAndArrayElemImage :: Integral n => n -> n -> (n, n) | |
IsPrefixOf iargs liargs => BindingAndArrayElemImage ('Image (iarg ': liargs) ': lbts) (iarg ': iargs) 0 Source # | |
Defined in Gpu.Vulkan.DescriptorSet.BindingAndArrayElem bindingAndArrayElemImage :: Integral n => n -> n -> (n, n) |
class BindingAndArrayElemImageWithImmutableSampler (lbts :: [BindingType]) (iargs :: [(Symbol, Format)]) (i :: Nat) Source #
bindingAndArrayElemImageWithImmutableSampler
Instances
class BindingAndArrayElemBuffer (lbts :: [BindingType]) (objs :: [O]) (i :: Nat) Source #
bindingAndArrayElemBuffer
Instances
class BindingAndArrayElemBufferView (bt :: [BindingType]) (bvargs :: [(Symbol, Type)]) (i :: Nat) Source #
bindingAndArrayElemBufferView