ngfx::VKBuffer
Inherits from ngfx::Buffer
Public Functions
Name | |
---|---|
void | create(VKGraphicsContext * ctx, const void * data, uint32_t size, VkBufferUsageFlags bufferUsageFlags, VkMemoryPropertyFlags memoryPropertyFlags =VkMemoryPropertyFlags(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
virtual | ~VKBuffer() |
virtual void * | map() override |
virtual void | unmap() override |
virtual void | upload(const void * data, uint32_t size, uint32_t offset =0) override |
virtual void | download(void * data, uint32_t size, uint32_t offset =0) override |
const VkDescriptorSet & | getUboDescriptorSet(ShaderStageFlags shaderStageFlags) |
const VkDescriptorSet & | getSsboDescriptorSet(ShaderStageFlags shaderStageFlags) |
Protected Functions
Name | |
---|---|
void | createBuffer(const void * data, uint32_t size, VkBufferUsageFlags bufferUsageFlags) |
void | createMemory(VkMemoryPropertyFlags memoryPropertyFlags) |
void | initDescriptorSet(VkDescriptorPool descriptorPool, VkDescriptorSetLayout descriptorSetLayout, VkDescriptorType descriptorType, VkDescriptorSet & descriptorSet) |
Public Attributes
Name | |
---|---|
VkDeviceMemory | memory |
VkBuffer | v |
uint32_t | size |
VkBufferCreateInfo | createInfo |
VkMemoryAllocateInfo | allocInfo |
VkDescriptorSet | uboDescriptorSet |
VkDescriptorSet | ssboDescriptorSet |
Protected Attributes
Name | |
---|---|
VKGraphicsContext * | ctx |
VkMemoryRequirements | memReqs |
Additional inherited members
Public Functions inherited from ngfx::Buffer
Name | |
---|---|
virtual | ~Buffer() |
Public Functions Documentation
function create
void create(
VKGraphicsContext * ctx,
const void * data,
uint32_t size,
VkBufferUsageFlags bufferUsageFlags,
VkMemoryPropertyFlags memoryPropertyFlags =VkMemoryPropertyFlags(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT|VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)
)
function ~VKBuffer
virtual ~VKBuffer()
function map
virtual void * map() override
Reimplements: ngfx::Buffer::map
Map the buffer contents for CPU read/write access
function unmap
virtual void unmap() override
Reimplements: ngfx::Buffer::unmap
Unmap the buffer
function upload
virtual void upload(
const void * data,
uint32_t size,
uint32_t offset =0
) override
Parameters:
- data The buffer data
- size The size of the data (in bytes)
- offset The destination offset (in bytes)
Reimplements: ngfx::Buffer::upload
Upload the CPU data to the GPU buffer
function download
virtual void download(
void * data,
uint32_t size,
uint32_t offset =0
) override
Parameters:
- data The destination address
- size The size of the data to download (in bytes)
- offset The destination offset (in bytes)
Reimplements: ngfx::Buffer::download
Download the GPU data to CPU-accessible memory
function getUboDescriptorSet
const VkDescriptorSet & getUboDescriptorSet(
ShaderStageFlags shaderStageFlags
)
function getSsboDescriptorSet
const VkDescriptorSet & getSsboDescriptorSet(
ShaderStageFlags shaderStageFlags
)
Protected Functions Documentation
function createBuffer
void createBuffer(
const void * data,
uint32_t size,
VkBufferUsageFlags bufferUsageFlags
)
function createMemory
void createMemory(
VkMemoryPropertyFlags memoryPropertyFlags
)
function initDescriptorSet
void initDescriptorSet(
VkDescriptorPool descriptorPool,
VkDescriptorSetLayout descriptorSetLayout,
VkDescriptorType descriptorType,
VkDescriptorSet & descriptorSet
)
Public Attributes Documentation
variable memory
VkDeviceMemory memory = VK_NULL_HANDLE;
variable v
VkBuffer v = VK_NULL_HANDLE;
variable size
uint32_t size;
variable createInfo
VkBufferCreateInfo createInfo;
variable allocInfo
VkMemoryAllocateInfo allocInfo;
variable uboDescriptorSet
VkDescriptorSet uboDescriptorSet = 0;
variable ssboDescriptorSet
VkDescriptorSet ssboDescriptorSet = 0;
Protected Attributes Documentation
variable ctx
VKGraphicsContext * ctx;
variable memReqs
VkMemoryRequirements memReqs;
Updated on 3 April 2021 at 20:21:51 PDT