Per-frame GPU allocation arena (host-visible coherent). 更多...
#include <FrameArena.h>
类 | |
| struct | Alloc |
Public 成员函数 | |
| ~FrameArena () | |
| FrameArena (const FrameArena &)=delete | |
| FrameArena & | operator= (const FrameArena &)=delete |
| FrameArena ()=default | |
| FrameArena (FrameArena &&o) noexcept | |
| FrameArena & | operator= (FrameArena &&o) noexcept |
| bool | ensure (vkb::Device &device, vk::DeviceSize bytes, vk::BufferUsageFlags usage) |
Allocate or grow (before any recording) so bytes fit. | |
| Alloc | alloc (vk::DeviceSize bytes, vk::DeviceSize align=16) |
Allocate bytes (aligned). Returns empty Alloc on capacity overflow. | |
| void | reset () |
| vk::Buffer | buffer () const |
| vk::DeviceSize | capacity () const |
| vk::DeviceSize | used () const |
详细描述
Per-frame GPU allocation arena (host-visible coherent).
One arena per swapchain frame slot. reset() at frame start; alloc() hands out monotonically increasing offsets until capacity. There is no free/realloc inside a frame: everything written here lives until the slot wraps around, which is exactly the lifetime the frame's command buffer needs.
在文件 FrameArena.h 第 18 行定义.
构造及析构函数说明
◆ ~FrameArena()
| eve::graphics::vulkan::FrameArena::~FrameArena | ( | ) |
在文件 FrameArena.cpp 第 5 行定义.
◆ FrameArena() [1/3]
|
delete |
◆ FrameArena() [2/3]
|
default |
◆ FrameArena() [3/3]
|
inlinenoexcept |
在文件 FrameArena.h 第 25 行定义.
成员函数说明
◆ alloc()
| FrameArena::Alloc eve::graphics::vulkan::FrameArena::alloc | ( | vk::DeviceSize | bytes, |
| vk::DeviceSize | align = 16 |
||
| ) |
Allocate bytes (aligned). Returns empty Alloc on capacity overflow.
在文件 FrameArena.cpp 第 50 行定义.
◆ buffer()
| vk::Buffer eve::graphics::vulkan::FrameArena::buffer | ( | ) | const |
在文件 FrameArena.cpp 第 66 行定义.
被这些函数引用 eve::graphics::vulkan::Graphics::gpuDrivenCullEmit().
◆ capacity()
|
inline |
在文件 FrameArena.h 第 43 行定义.
◆ ensure()
| bool eve::graphics::vulkan::FrameArena::ensure | ( | vkb::Device & | device, |
| vk::DeviceSize | bytes, | ||
| vk::BufferUsageFlags | usage | ||
| ) |
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
noexcept |
在文件 FrameArena.cpp 第 13 行定义.
◆ reset()
| void eve::graphics::vulkan::FrameArena::reset | ( | ) |
在文件 FrameArena.cpp 第 62 行定义.
◆ used()
|
inline |
在文件 FrameArena.h 第 44 行定义.
该类的文档由以下文件生成:
- src/modules/graphics/vulkan/FrameArena.h
- src/modules/graphics/vulkan/FrameArena.cpp