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
3
4#include <vector>
5#include <vulkan/vulkan_core.h>
6
7namespace Vulkan {
9 public:
11
12 void addBufferBarrier(const VkBufferMemoryBarrier2 &barrier);
13 void addMemoryBarrier(const VkMemoryBarrier2 &barrier);
14
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}
RAII wrapper for Vulkan buffer and device memory.
void addBufferBarrier(const VkBufferMemoryBarrier2 &barrier)
VkDependencyInfo getDependencyInfo() const
std::vector< VkBufferMemoryBarrier2 > bufferMemoryBarriers
void addMemoryBarrier(const VkMemoryBarrier2 &barrier)
void addComputeBufferBarrier(VkPipelineStageFlags2 srcStageMask, VkAccessFlags2 srcAccessMask, VkPipelineStageFlags2 dstStageMask, VkAccessFlags2 dstAccessMask, const EngineCore::VulkanBuffer &buffer)
std::vector< VkMemoryBarrier2 > memoryBarriers
Used for vulkan specific helpers like something to chain pNexts together.