Device-owned cache of Vulkan render passes, pipelines, layouts, and samplers used by RVKPainter. Shared across all passes on the device.
More...
#include <RVKPipeline.h>
|
| | ~RVKPipeline () noexcept |
| | Destroys all cached pipelines, render passes, samplers, layouts and shader modules.
|
| |
| VkPipeline | colorPipeline (VkRenderPass rp, VkFormat format, const RVKBlend &blend) noexcept |
| | Returns (creating and caching if needed) the drawColor pipeline for the given render pass/format and blend state.
|
| |
| VkPipeline | imagePipeline (VkRenderPass rp, VkFormat format, const RVKBlend &blend, const RVKImageSpec &spec) noexcept |
| | Returns (creating and caching if needed) the drawImage pipeline for the given render pass/format, blend state, and fragment specialization (spec).
|
| |
| VkSampler | sampler (RImageFilter min, RImageFilter mag, RImageWrap wrapS, RImageWrap wrapT) noexcept |
| | Returns (creating and caching if needed) a sampler for the given filter/wrap modes.
|
| |
| VkPipelineLayout | colorLayout () const noexcept |
| | Pipeline layout for the color pipeline (push constants only).
|
| |
| VkPipelineLayout | imageLayout () const noexcept |
| | Pipeline layout for the image/effect pipelines (image+mask sampler set + push constants).
|
| |
| VkDescriptorSetLayout | imageSetLayout () const noexcept |
| | Descriptor set layout of the image+mask combined image samplers.
|
| |
| | RObject ()=default |
| | Constructs a default RObject.
|
| |
|
| static std::unique_ptr< RVKPipeline > | Make (RVKDevice *device) noexcept |
| | Creates the pipeline cache for device (loads shader modules, layouts). Returns nullptr on failure.
|
| |
Device-owned cache of Vulkan render passes, pipelines, layouts, and samplers used by RVKPainter. Shared across all passes on the device.
◆ ~RVKPipeline()
Destroys all cached pipelines, render passes, samplers, layouts and shader modules.
◆ Make()
Creates the pipeline cache for device (loads shader modules, layouts). Returns nullptr on failure.
◆ colorPipeline()
| VkPipeline colorPipeline |
( |
VkRenderPass |
rp, |
|
|
VkFormat |
format, |
|
|
const RVKBlend & |
blend |
|
) |
| |
|
noexcept |
Returns (creating and caching if needed) the drawColor pipeline for the given render pass/format and blend state.
◆ imagePipeline()
| VkPipeline imagePipeline |
( |
VkRenderPass |
rp, |
|
|
VkFormat |
format, |
|
|
const RVKBlend & |
blend, |
|
|
const RVKImageSpec & |
spec |
|
) |
| |
|
noexcept |
Returns (creating and caching if needed) the drawImage pipeline for the given render pass/format, blend state, and fragment specialization (spec).
◆ sampler()
| VkSampler sampler |
( |
RImageFilter |
min, |
|
|
RImageFilter |
mag, |
|
|
RImageWrap |
wrapS, |
|
|
RImageWrap |
wrapT |
|
) |
| |
|
noexcept |
Returns (creating and caching if needed) a sampler for the given filter/wrap modes.
◆ colorLayout()
| VkPipelineLayout colorLayout |
( |
| ) |
const |
|
inlinenoexcept |
Pipeline layout for the color pipeline (push constants only).
◆ imageLayout()
| VkPipelineLayout imageLayout |
( |
| ) |
const |
|
inlinenoexcept |
Pipeline layout for the image/effect pipelines (image+mask sampler set + push constants).
◆ imageSetLayout()
| VkDescriptorSetLayout imageSetLayout |
( |
| ) |
const |
|
inlinenoexcept |
Descriptor set layout of the image+mask combined image samplers.