RavEngine
Loading...
Searching...
No Matches
VkRenderPipeline.hpp
1#pragma once
2#include <RGL/Types.hpp>
3#include <RGL/Pipeline.hpp>
4#include "VkDevice.hpp"
5#include "VkRenderPass.hpp"
6#include <unordered_map>
7#include "VkPipelineLibraryShared.hpp"
8
9namespace RGL {
10
12 const std::shared_ptr<DeviceVk> owningDevice;
13 VkPipelineLayout layout = VK_NULL_HANDLE;
14 VkDescriptorSetLayout descriptorSetLayout = VK_NULL_HANDLE;
15
16 std::unordered_map<uint32_t, VkShaderStageFlags> pushConstantBindingStageFlags;
17 std::unordered_map<uint32_t, VkDescriptorType> bindingDescriptorTypes;
18
19 PipelineLayoutVk(decltype(owningDevice), const PipelineLayoutDescriptor&);
20 virtual ~PipelineLayoutVk();
21 };
22
24 const std::shared_ptr<DeviceVk> owningDevice;
25 const std::shared_ptr<PipelineLayoutVk> pipelineLayout;
26 VkPipeline graphicsPipeline = VK_NULL_HANDLE;
27
28 BufferBindingStore vsBufferBindings, fsBufferBindings;
29
30 RenderPipelineVk(decltype(owningDevice), const RenderPipelineDescriptor&);
31 virtual ~RenderPipelineVk();
32 };
33
34
35}
Definition Pipeline.hpp:103
Definition Pipeline.hpp:274
Definition Pipeline.hpp:59
Definition VkRenderPipeline.hpp:11
Definition Pipeline.hpp:164
Definition VkRenderPipeline.hpp:23