Nebula
Loading...
Searching...
No Matches
vkpass.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "coregraphics/shader.h"
11#include "coregraphics/pass.h"
12#include "coregraphics/buffer.h"
14
15namespace Vulkan
16{
17
40
58
59enum
60{
65};
66
67typedef Ids::IdAllocator<
68 VkPassLoadInfo,
69 VkPassRuntimeInfo,
70 VkRenderPassBeginInfo,
71 Util::Array<uint32_t> // subpass attachments
74
76const VkRenderPassBeginInfo& PassGetVkRenderPassBeginInfo(const CoreGraphics::PassId& id);
78const VkGraphicsPipelineCreateInfo& PassGetVkFramebufferInfo(const CoreGraphics::PassId& id);
81
83const VkDevice PassGetVkDevice(const CoreGraphics::PassId& id);
85const VkFramebuffer PassGetVkFramebuffer(const CoreGraphics::PassId& id);
87const VkRenderPass PassGetVkRenderPass(const CoreGraphics::PassId& id);
88
89
90} // namespace Vulkan
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
Nebula's dynamic array class.
Definition array.h:60
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
A StringAtom.
Definition stringatom.h:22
PassRecordMode
Definition pass.h:92
Vulkan implementation of GPU acceleration structure.
Definition vkaccelerationstructure.cc:15
const VkFramebuffer PassGetVkFramebuffer(const CoreGraphics::PassId &id)
Get framebuffer.
Definition vkpass.cc:62
Ids::IdAllocator< VkPassLoadInfo, VkPassRuntimeInfo, VkRenderPassBeginInfo, Util::Array< uint32_t > > VkPassAllocator
Definition vkpass.h:72
const SizeT PassGetVkNumAttachments(const CoreGraphics::PassId &id)
get number of pass attachments
Definition vkpass.cc:44
VkPassAllocator passAllocator(0x00FFFFFF)
Definition vkpass.h:73
@ Pass_VkRenderPassBeginInfo
Definition vkpass.h:63
@ Pass_VkLoadInfo
Definition vkpass.h:61
@ Pass_VkRuntimeInfo
Definition vkpass.h:62
@ Pass_SubpassAttachments
Definition vkpass.h:64
const VkGraphicsPipelineCreateInfo & PassGetVkFramebufferInfo(const CoreGraphics::PassId &id)
get vk framebuffer info
Definition vkpass.cc:35
const VkDevice PassGetVkDevice(const CoreGraphics::PassId &id)
Get device creating this pass.
Definition vkpass.cc:53
const VkRenderPass PassGetVkRenderPass(const CoreGraphics::PassId &id)
Get pass.
Definition vkpass.cc:71
const VkRenderPassBeginInfo & PassGetVkRenderPassBeginInfo(const CoreGraphics::PassId &id)
get vk render pass
Definition vkpass.cc:26
A resource table declares a list of resources (ResourceTable in DX12, DescriptorSet in Vulkan)
A shader represents an entire shader resource, containing several stages and programs.
Definition buffer.h:23
Definition pass.h:28
Definition resourcetable.h:402
Definition resourcetable.h:95
Definition vkpass.h:19
Util::Array< Math::vec4 > attachmentClears
Definition vkpass.h:27
Util::FixedArray< VkRect2D > rects
Definition vkpass.h:36
VkRect2D renderArea
Definition vkpass.h:33
Util::Array< CoreGraphics::AttachmentFlagBits > attachmentFlags
Definition vkpass.h:28
Util::FixedArray< VkClearValue > clearValues
Definition vkpass.h:38
VkRenderPass pass
Definition vkpass.h:35
Util::FixedArray< VkViewport > viewports
Definition vkpass.h:37
Util::StringAtom name
Definition vkpass.h:21
VkDevice dev
Definition vkpass.h:20
Util::Array< CoreGraphics::Subpass > subpasses
Definition vkpass.h:30
VkFramebuffer framebuffer
Definition vkpass.h:34
Util::Array< CoreGraphics::TextureViewId > attachments
Definition vkpass.h:26
Util::Array< bool > attachmentIsDepthStencil
Definition vkpass.h:29
Definition vkpass.h:42
CoreGraphics::ResourcePipelineId passPipelineLayout
Definition vkpass.h:53
IndexT renderTargetDimensionsVar
Definition vkpass.h:45
Util::FixedArray< VkPipelineViewportStateCreateInfo > subpassPipelineInfo
Definition vkpass.h:55
CoreGraphics::ResourceTableId passDescriptorSet
Definition vkpass.h:52
VkGraphicsPipelineCreateInfo framebufferPipelineInfo
Definition vkpass.h:47
CoreGraphics::BufferId passBlockBuffer
Definition vkpass.h:44
VkPipelineViewportStateCreateInfo viewportInfo
Definition vkpass.h:49
CoreGraphics::PassRecordMode recordMode
Definition vkpass.h:56
VkPipelineMultisampleStateCreateInfo multisampleInfo
Definition vkpass.h:48
uint32_t currentSubpassIndex
Definition vkpass.h:51
int SizeT
Definition types.h:49
int IndexT
Definition types.h:48