20struct ShaderProgramId;
27#if NEBULA_GRAPHICS_DEBUG
28struct NvidiaAftermathCheckpoint
31 NvidiaAftermathCheckpoint* prev;
69#if NEBULA_GRAPHICS_DEBUG
84#if NEBULA_ENABLE_PROFILING
85 , CmdBuffer_RecordsMarkers
86 , CmdBuffer_ProfilingMarkers
89#if NEBULA_GRAPHICS_DEBUG
90 , CmdBuffer_NVCheckpoints
147 QueryChunk& newChunk = chunkCreator(queryType);
148 state.currentChunk++;
155 return chunkCreator(queryType);
182#if NEBULA_ENABLE_PROFILING
187#if NEBULA_GRAPHICS_DEBUG
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
Definition idallocator.h:106
Nebula's dynamic array class.
Definition array.h:60
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
QueryType
Definition config.h:52
@ NumQueryTypes
Definition config.h:56
QueueType
Definition config.h:40
@ NumQueueTypes
Definition config.h:46
CmdPipelineBuildBits
Definition commandbuffer.h:54
uint AllocateQueries(const CoreGraphics::QueryType type, uint numQueries)
Allocate a range of queries.
Definition vkgraphicsdevice.cc:2060
Vulkan implementation of GPU acceleration structure.
Definition vkaccelerationstructure.cc:15
PFN_vkCmdEndDebugUtilsLabelEXT VkCmdDebugMarkerEnd
Definition vkcommandbufferthread.cc:25
@ CommandBufferPool_VkCommandPool
Definition vkcommandbuffer.h:48
@ CommandBufferPool_VkDevice
Definition vkcommandbuffer.h:47
Ids::IdAllocatorSafe< 0x1000, VkDevice, VkCommandBuffer, VkCommandPool, CoreGraphics::CmdPipelineBuildBits, VkPipelineBundle, ViewportBundle, ScissorBundle, CoreGraphics::QueueType > VkCommandBufferAllocator
Definition vkcommandbuffer.h:190
const VkCommandPool CmdBufferPoolGetVk(const CoreGraphics::CmdBufferPoolId id)
get vk command buffer pool
Definition vkcommandbuffer.cc:37
PFN_vkCmdInsertDebugUtilsLabelEXT VkCmdDebugMarkerInsert
Definition vkcommandbufferthread.cc:26
Ids::IdAllocator< VkDevice, VkCommandPool > VkCommandBufferPoolAllocator
Definition vkcommandbuffer.h:50
@ CmdBuffer_PendingViewports
Definition vkcommandbuffer.h:81
@ CmdBuffer_PipelineBuildBits
Definition vkcommandbuffer.h:79
@ CmdBuffer_VkCommandPool
Definition vkcommandbuffer.h:78
@ CmdBuffer_VkDevice
Definition vkcommandbuffer.h:76
@ CmdBuffer_VkPipelineBundle
Definition vkcommandbuffer.h:80
@ CmdBuffer_VkCommandBuffer
Definition vkcommandbuffer.h:77
@ CmdBuffer_Usage
Definition vkcommandbuffer.h:83
@ CmdBuffer_PendingScissors
Definition vkcommandbuffer.h:82
static const uint NumPoolTypes
Definition vkcommandbuffer.h:55
Vulkan::GraphicsDeviceState state
const VkCommandBuffer CmdBufferGetVk(const CoreGraphics::CmdBufferId id)
Get vk command buffer.
Definition vkcommandbuffer.cc:55
const VkCommandPool CmdBufferGetVkPool(const CoreGraphics::CmdBufferId id)
Get vk command buffer pool.
Definition vkcommandbuffer.cc:65
const VkDevice CmdBufferPoolGetVkDevice(const CoreGraphics::CmdBufferPoolId id)
get vk device that created the pool
Definition vkcommandbuffer.cc:46
const VkDevice CmdBufferGetVkDevice(const CoreGraphics::CmdBufferId id)
Get vk device.
Definition vkcommandbuffer.cc:74
PFN_vkCmdBeginDebugUtilsLabelEXT VkCmdDebugMarkerBegin
Definition vkcommandbufferthread.cc:24
A shader represents an entire shader resource, containing several stages and programs.
Definition commandbuffer.h:155
Definition commandbuffer.h:150
Definition commandbuffer.h:101
Nebula's universal string class.
Definition string.h:50
Definition vkcommandbuffer.h:57
VkCommandPool pools[CoreGraphics::QueueType::NumQueueTypes][NumPoolTypes]
Definition vkcommandbuffer.h:58
uint queueFamilies[CoreGraphics::QueueType::NumQueueTypes]
Definition vkcommandbuffer.h:59
VkDevice dev
Definition vkcommandbuffer.h:60
Definition vkcommandbuffer.h:112
uint queryCount
Definition vkcommandbuffer.h:114
uint offset
Definition vkcommandbuffer.h:113
Definition vkcommandbuffer.h:120
uint chunkSize
Definition vkcommandbuffer.h:122
uint currentChunk
Definition vkcommandbuffer.h:121
Definition vkcommandbuffer.h:108
QueryState states[CoreGraphics::QueryType::NumQueryTypes]
Definition vkcommandbuffer.h:124
QueryChunk & GetChunk(CoreGraphics::QueryType queryType)
Definition vkcommandbuffer.h:127
bool enabled[CoreGraphics::QueryType::NumQueryTypes]
Definition vkcommandbuffer.h:109
Util::Array< QueryChunk > chunks[CoreGraphics::QueryType::NumQueryTypes]
Definition vkcommandbuffer.h:117
Definition vkcommandbuffer.h:167
uint numPending
Definition vkcommandbuffer.h:169
Util::FixedArray< VkRect2D > scissors
Definition vkcommandbuffer.h:168
Definition vkcommandbuffer.h:161
uint numPending
Definition vkcommandbuffer.h:163
Util::FixedArray< VkViewport > viewports
Definition vkcommandbuffer.h:162
Definition vkcommandbuffer.h:95
VkPipelineLayout raytracingLayout
Definition vkcommandbuffer.h:102
VkGraphicsPipelineCreateInfo pipelineInfo
Definition vkcommandbuffer.h:96
CoreGraphics::PassId pass
Definition vkcommandbuffer.h:103
VkPipelineLayout graphicsLayout
Definition vkcommandbuffer.h:101
VkPipelineMultisampleStateCreateInfo multisampleInfo
Definition vkcommandbuffer.h:98
VkPipelineLayout computeLayout
Definition vkcommandbuffer.h:100
CoreGraphics::ShaderProgramId program
Definition vkcommandbuffer.h:104
CoreGraphics::InputAssemblyKey inputAssembly
Definition vkcommandbuffer.h:99
VkPipelineColorBlendStateCreateInfo blendInfo
Definition vkcommandbuffer.h:97
unsigned int uint
Definition types.h:31