Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- createGs :: forall (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd sc a. (CreateInfoListToMiddle cias, ToMiddle mac) => D sd -> Maybe (P sc) -> PL (U14 CreateInfo) cias -> M (U2 A) mac -> (forall sg. PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias) -> IO a) -> IO a
- unsafeRecreateGs :: forall (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd s sg. (CreateInfoListToMiddle cias, ToMiddle mac) => D sd -> Maybe (P s) -> PL (U14 CreateInfo) cias -> M (U2 A) mac -> PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias) -> IO ()
- data G s (vibs :: [(Type, Rate)]) (vias :: [(Nat, Type)]) (lyta :: (Type, [(Type, [BindingType])], [Type]))
- data CreateInfo (mn :: Maybe Type) (ssas :: [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])]) (visa :: (Maybe Type, [(Type, Rate)], [(Nat, Type)])) (iasa :: Maybe Type) (tsssa :: Maybe Type) (vpsa :: Maybe Type) (rstsa :: Maybe Type) (mssa :: Maybe Type) (dssa :: Maybe Type) (cbsa :: Maybe Type) (dsa :: Maybe Type) (lyta :: (Type, [(Type, [BindingType])], [Type])) rpa (bpha :: (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))) = CreateInfo {
- createInfoNext :: M mn
- createInfoFlags :: CreateFlags
- createInfoStages :: PL (U5 CreateInfo) ssas
- createInfoVertexInputState :: Maybe (U3 CreateInfo visa)
- createInfoInputAssemblyState :: Maybe (CreateInfo iasa)
- createInfoTessellationState :: Maybe (CreateInfo tsssa)
- createInfoViewportState :: Maybe (CreateInfo vpsa)
- createInfoRasterizationState :: Maybe (CreateInfo rstsa)
- createInfoMultisampleState :: Maybe (CreateInfo mssa)
- createInfoDepthStencilState :: Maybe (CreateInfo dssa)
- createInfoColorBlendState :: Maybe (CreateInfo cbsa)
- createInfoDynamicState :: Maybe (CreateInfo dsa)
- createInfoLayout :: U3 P lyta
- createInfoRenderPass :: R rpa
- createInfoSubpass :: Word32
- createInfoBasePipelineHandle :: Maybe (U4 G bpha)
- createInfoBasePipelineIndex :: Int32
- type family CreateInfoListArgsToGArgs (cias :: [(k3, k4, (k5, k, k1), k6, k7, k8, k9, k10, k11, k12, k13, k2, k14, k15)]) :: [(k, k1, k2)] where ...
- class (GListFromMiddle (CreateInfoListArgsToGArgs cias), DestroyShaderStages (MiddleArgs cias) (TAllocationCallbacksListList cias), AllocationCallbacksListListFromCreateInfoList cias, CreateInfoListToCore (MiddleArgs cias)) => CreateInfoListToMiddle (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))])
- group :: forall (ma :: Maybe (Type, Type)) sd k (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))]) a. ToMiddle ma => D sd -> M (U2 A) ma -> (forall sg. Group sd ma sg k gas -> IO a) -> IO a
- data Group sd (ma :: Maybe (Type, Type)) sg k (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))])
- createGs' :: forall k (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd sg sc. (Ord k, CreateInfoListToMiddle cias, ToMiddle mac) => Group sd mac sg k (CreateInfoListArgsToGArgs cias) -> k -> Maybe (P sc) -> PL (U14 CreateInfo) cias -> IO (Either String (PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias)))
- unsafeDestroyGs :: forall k (ma :: Maybe (Type, Type)) sd sg (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))]). (Ord k, ToMiddle ma) => Group sd ma sg k gas -> k -> IO (Either String ())
- lookup :: forall k sd (ma :: Maybe (Type, Type)) sg (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))]). Ord k => Group sd ma sg k gas -> k -> IO (Maybe (PL (U3 (G sg)) gas))
CREATE AND RECREATE
createGs :: forall (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd sc a. (CreateInfoListToMiddle cias, ToMiddle mac) => D sd -> Maybe (P sc) -> PL (U14 CreateInfo) cias -> M (U2 A) mac -> (forall sg. PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias) -> IO a) -> IO a Source #
unsafeRecreateGs :: forall (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd s sg. (CreateInfoListToMiddle cias, ToMiddle mac) => D sd -> Maybe (P s) -> PL (U14 CreateInfo) cias -> M (U2 A) mac -> PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias) -> IO () Source #
data G s (vibs :: [(Type, Rate)]) (vias :: [(Nat, Type)]) (lyta :: (Type, [(Type, [BindingType])], [Type])) Source #
data CreateInfo (mn :: Maybe Type) (ssas :: [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])]) (visa :: (Maybe Type, [(Type, Rate)], [(Nat, Type)])) (iasa :: Maybe Type) (tsssa :: Maybe Type) (vpsa :: Maybe Type) (rstsa :: Maybe Type) (mssa :: Maybe Type) (dssa :: Maybe Type) (cbsa :: Maybe Type) (dsa :: Maybe Type) (lyta :: (Type, [(Type, [BindingType])], [Type])) rpa (bpha :: (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))) Source #
CreateInfo | |
|
type family CreateInfoListArgsToGArgs (cias :: [(k3, k4, (k5, k, k1), k6, k7, k8, k9, k10, k11, k12, k13, k2, k14, k15)]) :: [(k, k1, k2)] where ... Source #
CreateInfoListArgsToGArgs ('[] :: [(k4, k5, (k6, k1, k2), k7, k8, k9, k10, k11, k12, k13, k14, k3, k15, k16)]) = '[] :: [(k1, k2, k3)] | |
CreateInfoListArgsToGArgs (cia ': cias :: [(k1, k2, (k3, k4, k5), k6, k7, k8, k9, k10, k11, k12, k13, k14, k15, k16)]) = CreateInfoArgsToGArgs cia ': CreateInfoListArgsToGArgs cias |
class (GListFromMiddle (CreateInfoListArgsToGArgs cias), DestroyShaderStages (MiddleArgs cias) (TAllocationCallbacksListList cias), AllocationCallbacksListListFromCreateInfoList cias, CreateInfoListToCore (MiddleArgs cias)) => CreateInfoListToMiddle (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) Source #
createInfoListToMiddle
Instances
CreateInfoListToMiddle ('[] :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) Source # | |
Defined in Gpu.Vulkan.Pipeline.Graphics createInfoListToMiddle :: D sd -> PL (U14 CreateInfo) ('[] :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) -> IO (PL (U11 CreateInfo) (MiddleArgs ('[] :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]))) | |
(Map3_5 ssas, CreateInfoListToMiddle ssas, CreateInfoListToCore (MiddleArgs ssas), BindingStrideList vibs Rate, AttributeDescriptions vibs vias, WithPoked (M mn), WithPoked (M nvis), WithPoked (M iasa), WithPoked (M tsssa), WithPoked (M vpsa), WithPoked (M rstsa), WithPoked (M mssa), WithPoked (M dssa), WithPoked (M cbsa), WithPoked (M dsa), CreateInfoListToMiddle ss) => CreateInfoListToMiddle ('(mn, ssas, '(nvis, vibs, vias), iasa, tsssa, vpsa, rstsa, mssa, dssa, cbsa, dsa, '(sl, sbtss, pcl), rpa, '(sb, vibs', vias', slbtss')) ': ss) Source # | |
Defined in Gpu.Vulkan.Pipeline.Graphics createInfoListToMiddle :: D sd -> PL (U14 CreateInfo) ('(mn, ssas, '(nvis, vibs, vias), iasa, tsssa, vpsa, rstsa, mssa, dssa, cbsa, dsa, '(sl, sbtss, pcl), rpa, '(sb, vibs', vias', slbtss')) ': ss) -> IO (PL (U11 CreateInfo) (MiddleArgs ('(mn, ssas, '(nvis, vibs, vias), iasa, tsssa, vpsa, rstsa, mssa, dssa, cbsa, dsa, '(sl, sbtss, pcl), rpa, '(sb, vibs', vias', slbtss')) ': ss))) |
Group
group :: forall (ma :: Maybe (Type, Type)) sd k (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))]) a. ToMiddle ma => D sd -> M (U2 A) ma -> (forall sg. Group sd ma sg k gas -> IO a) -> IO a Source #
data Group sd (ma :: Maybe (Type, Type)) sg k (gas :: [([(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type]))]) Source #
createGs' :: forall k (cias :: [(Maybe Type, [(Maybe Type, Maybe Type, ShaderKind, Maybe (Type, Type), [Type])], (Maybe Type, [(Type, Rate)], [(Nat, Type)]), Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, Maybe Type, (Type, [(Type, [BindingType])], [Type]), Type, (Type, [(Type, Rate)], [(Nat, Type)], (Type, [(Type, [BindingType])], [Type])))]) (mac :: Maybe (Type, Type)) sd sg sc. (Ord k, CreateInfoListToMiddle cias, ToMiddle mac) => Group sd mac sg k (CreateInfoListArgsToGArgs cias) -> k -> Maybe (P sc) -> PL (U14 CreateInfo) cias -> IO (Either String (PL (U3 (G sg)) (CreateInfoListArgsToGArgs cias))) Source #