Vulkan 计算缓冲区实现(storage/vertex buffer + device memory)。 更多...
#include <VulkanGpuBuffer.h>
Public 成员函数 | |
| ~VulkanGpuBuffer () override | |
| int | getSize () const override |
| 缓冲区字节数 / 用途。 | |
| std::string | getUsage () const override |
| void | writeData (data::ByteData *data, int dstOffset=0) override |
| 读写数据(ByteData / 浮点 / 原始字节)。 | |
| data::ByteData * | readData (int srcOffset=0, int size=-1) override |
| void | writeFloat32 (int floatIndex, float value) override |
| float | readFloat32 (int floatIndex) override |
| void | fillFloat32 (float value) override |
| void | writeFloat32s (const float *data, int count, int startIndex=0) override |
| Bulk float upload/download (one transfer). startIndex is in floats. | |
| void | readFloat32s (float *out, int count, int startIndex=0) const override |
| void | uploadBytes (const void *src, uint64_t nbytes, uint64_t dstOffset=0) override |
| void | downloadBytes (void *dst, uint64_t nbytes, uint64_t srcOffset=0) const override |
Public 成员函数 继承自 eve::gpgpu::GpuBuffer | |
| GpuBuffer ()=default | |
| virtual | ~GpuBuffer ()=default |
| GpuBuffer (const GpuBuffer &)=delete | |
| GpuBuffer & | operator= (const GpuBuffer &)=delete |
Public 属性 | |
| vkb::Device * | device_ = nullptr |
| vk::Buffer | buffer_ {} |
| vk::DeviceMemory | memory_ {} |
| vk::DeviceSize | size_ = 0 |
| std::string | usage_ = "storage" |
| bool | hostVisible_ = false |
详细描述
Vulkan 计算缓冲区实现(storage/vertex buffer + device memory)。
在文件 VulkanGpuBuffer.h 第 11 行定义.
构造及析构函数说明
◆ ~VulkanGpuBuffer()
|
override |
在文件 VulkanGpuBuffer.cpp 第 14 行定义.
成员函数说明
◆ downloadBytes()
|
overridevirtual |
◆ fillFloat32()
|
overridevirtual |
◆ getSize()
|
inlineoverridevirtual |
◆ getUsage()
|
inlineoverridevirtual |
◆ readData()
|
overridevirtual |
在文件 VulkanGpuBuffer.cpp 第 92 行定义.
◆ readFloat32()
|
overridevirtual |
◆ readFloat32s()
|
overridevirtual |
在文件 VulkanGpuBuffer.cpp 第 120 行定义.
◆ uploadBytes()
|
overridevirtual |
◆ writeData()
|
overridevirtual |
◆ writeFloat32()
|
overridevirtual |
◆ writeFloat32s()
|
overridevirtual |
Bulk float upload/download (one transfer). startIndex is in floats.
在文件 VulkanGpuBuffer.cpp 第 114 行定义.
引用了 data.
类成员变量说明
◆ buffer_
| vk::Buffer eve::gpgpu::VulkanGpuBuffer::buffer_ {} |
在文件 VulkanGpuBuffer.h 第 31 行定义.
被这些函数引用 eve::gpgpu::VulkanComputeShader::flushDescriptors(), uploadBytes() , 以及 ~VulkanGpuBuffer().
◆ device_
| vkb::Device* eve::gpgpu::VulkanGpuBuffer::device_ = nullptr |
在文件 VulkanGpuBuffer.h 第 30 行定义.
被这些函数引用 uploadBytes() , 以及 ~VulkanGpuBuffer().
◆ hostVisible_
| bool eve::gpgpu::VulkanGpuBuffer::hostVisible_ = false |
在文件 VulkanGpuBuffer.h 第 35 行定义.
被这些函数引用 uploadBytes().
◆ memory_
| vk::DeviceMemory eve::gpgpu::VulkanGpuBuffer::memory_ {} |
在文件 VulkanGpuBuffer.h 第 32 行定义.
被这些函数引用 uploadBytes() , 以及 ~VulkanGpuBuffer().
◆ size_
| vk::DeviceSize eve::gpgpu::VulkanGpuBuffer::size_ = 0 |
在文件 VulkanGpuBuffer.h 第 33 行定义.
被这些函数引用 getSize() , 以及 uploadBytes().
◆ usage_
| std::string eve::gpgpu::VulkanGpuBuffer::usage_ = "storage" |
在文件 VulkanGpuBuffer.h 第 34 行定义.
被这些函数引用 getUsage().
该类的文档由以下文件生成:
- src/modules/gpgpu/vulkan/VulkanGpuBuffer.h
- src/modules/gpgpu/vulkan/VulkanGpuBuffer.cpp
Public 成员函数 继承自