|
SleakEngine 1.0.0
C++23 multi-backend game engine
|
#include <vulkan/vulkan.h>#include <vma/vk_mem_alloc.h>#include "../../include/private/Graphics/Vulkan/VulkanBuffer.hpp"#include <Core/Logger.hpp>#include <cstring>#include <stdexcept>Go to the source code of this file.
Namespaces | |
| namespace | Sleak |
| Root namespace for everything the engine exposes. | |
| namespace | Sleak::RenderEngine |
| Backend-facing rendering layer shared by the four graphics backends. | |
Macros | |
| #define | VMA_DYNAMIC_VULKAN_FUNCTIONS 0 |
| #define | VMA_IMPLEMENTATION |
| #define | VMA_STATIC_VULKAN_FUNCTIONS 1 |
Functions | |
| static VkDeviceSize | Sleak::RenderEngine::BucketSize (VkDeviceSize s) |
| Rounds a size up to the nearest pool bucket so similar-sized buffers can share slots. | |
| static bool | Sleak::RenderEngine::IsRecyclable (VkBufferUsageFlags usage, VkMemoryPropertyFlags props) |
| True when a buffer is both device-local and a recyclable usage, the pool's eligibility gate. | |
| static bool | Sleak::RenderEngine::UsageIsRecyclable (VkBufferUsageFlags usage) |
| True for vertex/index usages, the only kinds worth pooling for reuse. | |
Variables | |
| static uint32_t | Sleak::RenderEngine::g_idleFrames = 0 |
| static uint64_t | Sleak::RenderEngine::g_lastPoolWarnFrame = UINT64_MAX |
| static uint64_t | Sleak::RenderEngine::g_lastReclaimWarnFrame = UINT64_MAX |
| static uint32_t | Sleak::RenderEngine::g_maxFramesInFlight = 3 |
| static constexpr uint32_t | Sleak::RenderEngine::kIdleFramesBeforeTrim = 120 |
| static constexpr size_t | Sleak::RenderEngine::kIdleTrimPerFrame = 8 |
| static constexpr size_t | Sleak::RenderEngine::kMaxDeletesPerFrame = 64 |
| static constexpr VkDeviceSize | Sleak::RenderEngine::kPoolBucket = 64 * 1024 |
| #define VMA_DYNAMIC_VULKAN_FUNCTIONS 0 |
Definition at line 4 of file VulkanBuffer.cpp.
| #define VMA_IMPLEMENTATION |
Definition at line 5 of file VulkanBuffer.cpp.
| #define VMA_STATIC_VULKAN_FUNCTIONS 1 |
Definition at line 3 of file VulkanBuffer.cpp.