Nebula
Loading...
Searching...
No Matches
vkbuffer.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "ids/idallocator.h"
11#include "coregraphics/config.h"
12#include "coregraphics/buffer.h"
13#include "coregraphics/memory.h"
14
15namespace Vulkan
16{
17
28
34
36{
38};
39
40enum
41{
45};
46
47
49 0xFFFF
50 , VkBufferLoadInfo
51 , VkBufferRuntimeInfo
52 , VkBufferMapInfo
55
56
64
65enum
66{
69};
71 0xFF
72 , BufferSparsePageTable
76
78VkBuffer BufferGetVk(const CoreGraphics::BufferId id);
80VkDeviceMemory BufferGetVkMemory(const CoreGraphics::BufferId id);
83
84
85} // namespace Vulkan
Definition idallocator.h:106
Nebula's dynamic array class.
Definition array.h:60
BufferAccessMode
Definition buffer.h:27
uint BufferUsageFlags
Definition buffer.h:53
uint32_t Id32
Definition id.h:138
Vulkan implementation of GPU acceleration structure.
Definition vkaccelerationstructure.cc:15
Ids::IdAllocatorSafe< 0xFFFF, VkBufferLoadInfo, VkBufferRuntimeInfo, VkBufferMapInfo > VkBufferAllocator
Definition vkbuffer.h:53
Ids::IdAllocatorSafe< 0xFF, BufferSparsePageTable, Util::Array< VkSparseMemoryBind > > VkBufferSparseExtensionAllocator
Definition vkbuffer.h:74
VkBuffer BufferGetVk(const CoreGraphics::BufferId id)
get buffer object
Definition vkbuffer.cc:18
VkBufferAllocator bufferAllocator
Definition vkbuffer.cc:11
@ Buffer_MapInfo
Definition vkbuffer.h:44
@ Buffer_RuntimeInfo
Definition vkbuffer.h:43
@ Buffer_LoadInfo
Definition vkbuffer.h:42
VkDevice BufferGetVkDevice(const CoreGraphics::BufferId id)
get buffer device
Definition vkbuffer.cc:36
VkBufferSparseExtensionAllocator bufferSparseExtensionAllocator
Definition vkbuffer.cc:12
VkDeviceMemory BufferGetVkMemory(const CoreGraphics::BufferId id)
get buffer memory
Definition vkbuffer.cc:27
@ BufferExtension_SparsePendingBinds
Definition vkbuffer.h:68
@ BufferExtension_SparsePageTable
Definition vkbuffer.h:67
Compile time configuration options for the CoreGraphics subsystem.
Graphics memory interface.
Definition memory.h:41
Definition buffer.h:23
Definition vkbuffer.h:58
Util::Array< CoreGraphics::BufferSparsePage > pages
Definition vkbuffer.h:59
Util::Array< VkSparseMemoryBind > pageBindings
Definition vkbuffer.h:60
VkMemoryRequirements memoryReqs
Definition vkbuffer.h:62
uint32_t bindCounts
Definition vkbuffer.h:61
Definition vkbuffer.h:19
VkDevice dev
Definition vkbuffer.h:20
CoreGraphics::Alloc mem
Definition vkbuffer.h:21
uint32_t size
Definition vkbuffer.h:23
uint32_t byteSize
Definition vkbuffer.h:25
CoreGraphics::BufferAccessMode mode
Definition vkbuffer.h:22
uint32_t elementSize
Definition vkbuffer.h:24
Ids::Id32 sparseExtension
Definition vkbuffer.h:26
Definition vkbuffer.h:36
void * mappedMemory
Definition vkbuffer.h:37
Definition vkbuffer.h:30
VkBuffer buf
Definition vkbuffer.h:31
CoreGraphics::BufferUsageFlags usageFlags
Definition vkbuffer.h:32