Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
vkbarrier.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include "
ids/idallocator.h
"
11
#include "
coregraphics/barrier.h
"
12
13
namespace
Vulkan
14
{
15
16
static
const
SizeT
MaxNumBarriers
= 16;
17
18
struct
VkBarrierInfo
19
{
20
Util::StringAtom
name
;
21
VkPipelineStageFlags
srcFlags
;
22
VkPipelineStageFlags
dstFlags
;
23
VkDependencyFlags
dep
;
24
uint32_t
numMemoryBarriers
;
25
VkMemoryBarrier
memoryBarriers
[
MaxNumBarriers
];
26
uint32_t
numBufferBarriers
;
27
VkBufferMemoryBarrier
bufferBarriers
[
MaxNumBarriers
];
28
uint32_t
numImageBarriers
;
29
VkImageMemoryBarrier
imageBarriers
[
MaxNumBarriers
];
30
};
31
32
enum
33
{
34
Barrier_Info
35
,
Barrier_Textures
// This is for reloading textures
36
,
Barrier_Buffers
37
};
38
39
typedef
Ids::IdAllocator
<
40
VkBarrierInfo
41
,
Util::Array<CoreGraphics::TextureId>
42
>
VkBarrierAllocator
;
43
extern
VkBarrierAllocator
barrierAllocator
;
44
46
const
VkBarrierInfo
&
BarrierGetVk
(
const
CoreGraphics::BarrierId
id
);
47
48
49
}
// namespace Vulkan
Ids::IdAllocator
An ID allocator associates an id with a slice in an N number of arrays.
Definition
idallocator.h:39
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
idallocator.h
Vulkan
Vulkan implementation of GPU acceleration structure.
Definition
vkaccelerationstructure.cc:15
Vulkan::MaxNumBarriers
static const SizeT MaxNumBarriers
Definition
vkbarrier.h:16
Vulkan::Barrier_Buffers
@ Barrier_Buffers
Definition
vkbarrier.h:36
Vulkan::Barrier_Textures
@ Barrier_Textures
Definition
vkbarrier.h:35
Vulkan::Barrier_Info
@ Barrier_Info
Definition
vkbarrier.h:34
Vulkan::VkBarrierAllocator
Ids::IdAllocator< VkBarrierInfo, Util::Array< CoreGraphics::TextureId > > VkBarrierAllocator
Definition
vkbarrier.h:42
Vulkan::barrierAllocator
VkBarrierAllocator barrierAllocator(0x00FFFFFF)
Definition
vkbarrier.h:43
Vulkan::BarrierGetVk
const VkBarrierInfo & BarrierGetVk(const CoreGraphics::BarrierId id)
Get Vulkan info.
Definition
vkbarrier.cc:25
barrier.h
CoreGraphics::BarrierId
Definition
barrier.h:21
Vulkan::VkBarrierInfo
Definition
vkbarrier.h:19
Vulkan::VkBarrierInfo::numImageBarriers
uint32_t numImageBarriers
Definition
vkbarrier.h:28
Vulkan::VkBarrierInfo::srcFlags
VkPipelineStageFlags srcFlags
Definition
vkbarrier.h:21
Vulkan::VkBarrierInfo::dep
VkDependencyFlags dep
Definition
vkbarrier.h:23
Vulkan::VkBarrierInfo::numBufferBarriers
uint32_t numBufferBarriers
Definition
vkbarrier.h:26
Vulkan::VkBarrierInfo::name
Util::StringAtom name
Definition
vkbarrier.h:20
Vulkan::VkBarrierInfo::memoryBarriers
VkMemoryBarrier memoryBarriers[MaxNumBarriers]
Definition
vkbarrier.h:25
Vulkan::VkBarrierInfo::bufferBarriers
VkBufferMemoryBarrier bufferBarriers[MaxNumBarriers]
Definition
vkbarrier.h:27
Vulkan::VkBarrierInfo::numMemoryBarriers
uint32_t numMemoryBarriers
Definition
vkbarrier.h:24
Vulkan::VkBarrierInfo::imageBarriers
VkImageMemoryBarrier imageBarriers[MaxNumBarriers]
Definition
vkbarrier.h:29
Vulkan::VkBarrierInfo::dstFlags
VkPipelineStageFlags dstFlags
Definition
vkbarrier.h:22
SizeT
int SizeT
Definition
types.h:42
code
render
coregraphics
vk
vkbarrier.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.