Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Config (dsl :: [Type]) vertices instances spec = Config {
- cVertexCode :: Maybe ByteString
- cFragmentCode :: Maybe ByteString
- cVertexInput :: SomeStruct PipelineVertexInputStateCreateInfo
- cDescLayouts :: Tagged dsl [DsBindings]
- cPushConstantRanges :: Vector PushConstantRange
- cBlend :: Bool
- cDepthWrite :: Bool
- cDepthTest :: Bool
- cDepthCompare :: CompareOp
- cTopology :: PrimitiveTopology
- cCull :: CullModeFlagBits
- cDepthBias :: Maybe ("constant" ::: Float, "slope" ::: Float)
- cSpecialization :: spec
- baseConfig :: Config '[] vertices instances ()
- type family Configure pipeline spec where ...
- data Pipeline (dsl :: [Type]) vertices instances = Pipeline {}
- allocate :: (MonadVulkan env m, MonadResource m, HasRenderPass renderpass, Specialization spec, HasCallStack) => Maybe Extent2D -> SampleCountFlagBits -> Config dsl vertices instances spec -> renderpass -> m (ReleaseKey, Pipeline dsl vertices instances)
- create :: (MonadUnliftIO io, HasVulkan ctx, HasRenderPass renderpass, Specialization spec, HasCallStack) => ctx -> Maybe Extent2D -> SampleCountFlagBits -> renderpass -> Config dsl vertices instances spec -> io (Pipeline dsl vertices instances)
- destroy :: (MonadIO io, HasVulkan ctx) => ctx -> Pipeline dsl vertices instances -> io ()
- bind :: (Compatible pipeLayout boundLayout, MonadIO m) => CommandBuffer -> Pipeline pipeLayout vertices instances -> Bound boundLayout vertices instances m () -> Bound boundLayout oldVertices oldInstances m ()
- pushPlaceholder :: PushConstantRange
- vertexInput :: [(VertexInputRate, [Format])] -> SomeStruct PipelineVertexInputStateCreateInfo
- attrBindings :: [[Format]] -> Vector VertexInputAttributeDescription
- formatSize :: Integral a => Format -> a
Documentation
data Config (dsl :: [Type]) vertices instances spec Source #
Config | |
|
baseConfig :: Config '[] vertices instances () Source #
Settings for generic triangle-rendering pipeline.
allocate :: (MonadVulkan env m, MonadResource m, HasRenderPass renderpass, Specialization spec, HasCallStack) => Maybe Extent2D -> SampleCountFlagBits -> Config dsl vertices instances spec -> renderpass -> m (ReleaseKey, Pipeline dsl vertices instances) Source #
create :: (MonadUnliftIO io, HasVulkan ctx, HasRenderPass renderpass, Specialization spec, HasCallStack) => ctx -> Maybe Extent2D -> SampleCountFlagBits -> renderpass -> Config dsl vertices instances spec -> io (Pipeline dsl vertices instances) Source #
bind :: (Compatible pipeLayout boundLayout, MonadIO m) => CommandBuffer -> Pipeline pipeLayout vertices instances -> Bound boundLayout vertices instances m () -> Bound boundLayout oldVertices oldInstances m () Source #
pushPlaceholder :: PushConstantRange Source #
vertexInput :: [(VertexInputRate, [Format])] -> SomeStruct PipelineVertexInputStateCreateInfo Source #
attrBindings :: [[Format]] -> Vector VertexInputAttributeDescription Source #
formatSize :: Integral a => Format -> a Source #