Vulkan Schnee
0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
BarrierBundle.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Engine/Renderer/VulkanBuffer.h
"
3
4
#include <vector>
5
#include <vulkan/vulkan_core.h>
6
7
namespace
Vulkan
{
8
class
BarrierBundle
{
9
public
:
10
BarrierBundle
();
11
12
void
addBufferBarrier
(
const
VkBufferMemoryBarrier2 &barrier);
13
void
addMemoryBarrier
(
const
VkMemoryBarrier2 &barrier);
14
15
void
addComputeBufferBarrier
(
16
VkPipelineStageFlags2 srcStageMask,
17
VkAccessFlags2 srcAccessMask,
18
VkPipelineStageFlags2 dstStageMask,
19
VkAccessFlags2 dstAccessMask,
20
const
EngineCore::VulkanBuffer
& buffer
21
);
22
23
VkDependencyInfo
getDependencyInfo
()
const
;
24
25
void
clear
();
26
27
private
:
28
std::vector<VkMemoryBarrier2>
memoryBarriers
{};
29
std::vector<VkBufferMemoryBarrier2>
bufferMemoryBarriers
{};
30
};
31
}
VulkanBuffer.h
EngineCore::VulkanBuffer
RAII wrapper for Vulkan buffer and device memory.
Definition
VulkanBuffer.h:29
Vulkan::BarrierBundle::addBufferBarrier
void addBufferBarrier(const VkBufferMemoryBarrier2 &barrier)
Definition
BarrierBundle.cpp:9
Vulkan::BarrierBundle::getDependencyInfo
VkDependencyInfo getDependencyInfo() const
Definition
BarrierBundle.cpp:34
Vulkan::BarrierBundle::bufferMemoryBarriers
std::vector< VkBufferMemoryBarrier2 > bufferMemoryBarriers
Definition
BarrierBundle.h:29
Vulkan::BarrierBundle::addMemoryBarrier
void addMemoryBarrier(const VkMemoryBarrier2 &barrier)
Definition
BarrierBundle.cpp:13
Vulkan::BarrierBundle::addComputeBufferBarrier
void addComputeBufferBarrier(VkPipelineStageFlags2 srcStageMask, VkAccessFlags2 srcAccessMask, VkPipelineStageFlags2 dstStageMask, VkAccessFlags2 dstAccessMask, const EngineCore::VulkanBuffer &buffer)
Definition
BarrierBundle.cpp:17
Vulkan::BarrierBundle::BarrierBundle
BarrierBundle()
Definition
BarrierBundle.cpp:6
Vulkan::BarrierBundle::clear
void clear()
Definition
BarrierBundle.cpp:45
Vulkan::BarrierBundle::memoryBarriers
std::vector< VkMemoryBarrier2 > memoryBarriers
Definition
BarrierBundle.h:28
Vulkan
Used for vulkan specific helpers like something to chain pNexts together.
Definition
BarrierBundle.cpp:5
Engine
include
Engine
Vulkan
BarrierBundle.h
Generated by
1.14.0