Nebula
Loading...
Searching...
No Matches
vkpass.cc File Reference
#include "vkpass.h"
#include "vkgraphicsdevice.h"
#include "vktypes.h"
#include "coregraphics/config.h"
#include "coregraphics/shaderserver.h"
#include "vktextureview.h"
#include "coregraphics/pass.h"
#include "coregraphics/vk/vkcommandbuffer.h"
#include "gpulang/render/system_shaders/shared.h"

Classes

struct  CoreGraphics::SubpassInfo

Namespaces

namespace  Vulkan
 Vulkan implementation of GPU acceleration structure.
namespace  CoreGraphics
 Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.

Functions

const VkRenderPassBeginInfo & Vulkan::PassGetVkRenderPassBeginInfo (const CoreGraphics::PassId id)
 get vk render pass
const VkGraphicsPipelineCreateInfo & Vulkan::PassGetVkFramebufferInfo (const CoreGraphics::PassId id)
 get vk framebuffer info
const SizeT Vulkan::PassGetVkNumAttachments (const CoreGraphics::PassId id)
 get number of pass attachments
const VkDevice Vulkan::PassGetVkDevice (const CoreGraphics::PassId id)
 Get device creating this pass.
const VkFramebuffer Vulkan::PassGetVkFramebuffer (const CoreGraphics::PassId id)
 Get framebuffer.
const VkRenderPass Vulkan::PassGetVkRenderPass (const CoreGraphics::PassId id)
 Get pass.
const VkRenderingInfo Vulkan::RenderPassGetVk (const CoreGraphics::RenderPassId id)
 Get rendering info from render pass.
const VkPipelineRenderingCreateInfo & Vulkan::RenderPassGetVkPipelineInfo (const CoreGraphics::RenderPassId id)
 Get pipeline create info.
const CoreGraphics::ResourceTableId Vulkan::RenderPassGetResourceTable (const CoreGraphics::RenderPassId id)
 Get resource table for render pass.
const VkPipelineViewportStateCreateInfo & Vulkan::PassGetVkViewportInfo (const CoreGraphics::PassId id, uint32_t subpass)
 get vk viewport info for subpass
VkAttachmentLoadOp Vulkan::AsVkLoadOp (const CoreGraphics::AttachmentFlagBits bits)
VkAttachmentStoreOp Vulkan::AsVkStoreOp (const CoreGraphics::AttachmentFlagBits bits)
VkAttachmentLoadOp Vulkan::AsVkLoadOpStencil (const CoreGraphics::AttachmentFlagBits bits)
VkAttachmentStoreOp Vulkan::AsVkStoreOpStencil (const CoreGraphics::AttachmentFlagBits bits)
Math::rectangle< int > CoreGraphics::VkViewportToRect (const VkViewport &vp)
Math::rectangle< int > CoreGraphics::VkScissorToRect (const VkRect2D &sc)
void CoreGraphics::GetSubpassInfo (const VkPassLoadInfo &loadInfo, Util::FixedArray< VkSubpassDescription > &outDescs, Util::Array< VkSubpassDependency > &outDeps, Util::FixedArray< VkAttachmentDescription > &outAttachments, Util::Array< uint32_t > &usedAttachmentCounts, Util::FixedArray< VkPipelineViewportStateCreateInfo > &outPipelineInfos, uint32_t &numUsedAttachmentsTotal)
void CoreGraphics::SetupPass (const PassId pid)
const PassId CoreGraphics::CreatePass (const PassCreateInfo &info)
 create pass
void CoreGraphics::DestroyPass (const PassId id)
 discard pass
const RenderPassId CoreGraphics::CreateRenderPass (const RenderPassCreateInfo &info)
 Create pass for dynamic rendering.
void CoreGraphics::DestroyRenderPass (RenderPassId pass)
 Destroy render pass.
void CoreGraphics::RenderPassSetRenderTargetParameters (const CoreGraphics::CmdBufferId cmdBuf, const RenderPassId id, const Util::FixedArray< Shared::RenderTargetParameters > &viewports)
 Set viewports.
const SizeT CoreGraphics::RenderPassGetNumSamples (const RenderPassId id)
 Get number of samples pass is rendering to.
void CoreGraphics::PassRenderEnd (CoreGraphics::CmdBufferId cmdBuf)
void CoreGraphics::PassWindowResizeCallback (const PassId id)
 called when window is resized
void CoreGraphics::PassSetRenderTargetParameters (const PassId id, const Util::FixedArray< Shared::RenderTargetParameters > &viewports)
 Set viewports.
const Util::Array< CoreGraphics::TextureViewId > & CoreGraphics::PassGetAttachments (const CoreGraphics::PassId id)
 get number of color attachments for entire pass (attachment list)
const uint32_t CoreGraphics::PassGetNumSubpassAttachments (const CoreGraphics::PassId id, const IndexT subpass)
 get number of color attachments for a subpass
const CoreGraphics::ResourceTableId CoreGraphics::PassGetResourceTable (const CoreGraphics::PassId id)
 Get pass resource table.
const Util::StringAtom CoreGraphics::PassGetName (const CoreGraphics::PassId id)
 get name

Variables

VkPassAllocator Vulkan::passAllocator (0x000000FF)
VkPassRenderAllocator Vulkan::passRenderAllocator (0x000000FF)
Util::FixedArray< SubpassInfoCoreGraphics::subpassInfos