Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
vkevent.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include "
coregraphics/event.h
"
11
#include "
ids/idallocator.h
"
12
#include "
util/stringatom.h
"
13
namespace
Vulkan
14
{
15
16
static
const
SizeT
EventMaxNumBarriers
= 16;
17
18
struct
VkEventInfo
19
{
20
Util::StringAtom
name
;
21
VkEvent
event
;
22
VkPipelineStageFlags
leftDependency
;
23
VkPipelineStageFlags
rightDependency
;
24
VkImageMemoryBarrier
imageBarriers
[
EventMaxNumBarriers
];
25
uint32_t
numImageBarriers
;
26
VkBufferMemoryBarrier
bufferBarriers
[
EventMaxNumBarriers
];
27
uint32_t
numBufferBarriers
;
28
VkMemoryBarrier
memoryBarriers
[
EventMaxNumBarriers
];
29
uint32_t
numMemoryBarriers
;
30
31
};
32
33
enum
34
{
35
Event_Device
36
,
Event_Info
37
};
38
39
typedef
Ids::IdAllocator
<
40
VkDevice
41
, VkEventInfo
42
>
VkEventAllocator
;
43
extern
VkEventAllocator
eventAllocator
;
44
46
const
VkEventInfo
&
EventGetVk
(
const
CoreGraphics::EventId
id
);
47
48
}
// namespace Vulkan
Ids::IdAllocator
An ID allocator associates an id with a slice in an N number of arrays.
Definition
idallocator.h:39
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
idallocator.h
Vulkan
Vulkan implementation of GPU acceleration structure.
Definition
vkaccelerationstructure.cc:15
Vulkan::eventAllocator
VkEventAllocator eventAllocator(0x00FFFFFF)
Definition
vkevent.h:43
Vulkan::VkEventAllocator
Ids::IdAllocator< VkDevice, VkEventInfo > VkEventAllocator
Definition
vkevent.h:42
Vulkan::EventGetVk
const VkEventInfo & EventGetVk(const CoreGraphics::EventId id)
Get vk event info.
Definition
vkevent.cc:28
Vulkan::EventMaxNumBarriers
static const SizeT EventMaxNumBarriers
Definition
vkevent.h:16
Vulkan::Event_Info
@ Event_Info
Definition
vkevent.h:36
Vulkan::Event_Device
@ Event_Device
Definition
vkevent.h:35
event.h
stringatom.h
CoreGraphics::EventId
Definition
event.h:24
Vulkan::VkEventInfo
Definition
vkevent.h:19
Vulkan::VkEventInfo::memoryBarriers
VkMemoryBarrier memoryBarriers[EventMaxNumBarriers]
Definition
vkevent.h:28
Vulkan::VkEventInfo::leftDependency
VkPipelineStageFlags leftDependency
Definition
vkevent.h:22
Vulkan::VkEventInfo::bufferBarriers
VkBufferMemoryBarrier bufferBarriers[EventMaxNumBarriers]
Definition
vkevent.h:26
Vulkan::VkEventInfo::imageBarriers
VkImageMemoryBarrier imageBarriers[EventMaxNumBarriers]
Definition
vkevent.h:24
Vulkan::VkEventInfo::name
Util::StringAtom name
Definition
vkevent.h:20
Vulkan::VkEventInfo::event
VkEvent event
Definition
vkevent.h:21
Vulkan::VkEventInfo::rightDependency
VkPipelineStageFlags rightDependency
Definition
vkevent.h:23
Vulkan::VkEventInfo::numBufferBarriers
uint32_t numBufferBarriers
Definition
vkevent.h:27
Vulkan::VkEventInfo::numImageBarriers
uint32_t numImageBarriers
Definition
vkevent.h:25
Vulkan::VkEventInfo::numMemoryBarriers
uint32_t numMemoryBarriers
Definition
vkevent.h:29
SizeT
int SizeT
Definition
types.h:42
code
render
coregraphics
vk
vkevent.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.