Backend-agnostic GPU buffer for compute (storage) or CPU staging transfers. Squirrel-owned; derived class destroys GPU resources in destructor. 更多...
#include <GpuBuffer.h>
Public 成员函数 | |
| GpuBuffer ()=default | |
| virtual | ~GpuBuffer ()=default |
| GpuBuffer (const GpuBuffer &)=delete | |
| GpuBuffer & | operator= (const GpuBuffer &)=delete |
| virtual int | getSize () const =0 |
| virtual std::string | getUsage () const =0 |
| virtual void | writeData (data::ByteData *data, int dstOffset=0)=0 |
| virtual data::ByteData * | readData (int srcOffset=0, int size=-1)=0 |
| virtual void | writeFloat32 (int floatIndex, float value)=0 |
| virtual float | readFloat32 (int floatIndex)=0 |
| virtual void | fillFloat32 (float value)=0 |
| virtual void | writeFloat32s (const float *data, int count, int startIndex=0)=0 |
| Bulk float upload/download (one transfer). startIndex is in floats. | |
| virtual void | readFloat32s (float *out, int count, int startIndex=0) const =0 |
| virtual void | uploadBytes (const void *src, uint64_t nbytes, uint64_t dstOffset=0)=0 |
| virtual void | downloadBytes (void *dst, uint64_t nbytes, uint64_t srcOffset=0) const =0 |
详细描述
Backend-agnostic GPU buffer for compute (storage) or CPU staging transfers. Squirrel-owned; derived class destroys GPU resources in destructor.
在文件 GpuBuffer.h 第 16 行定义.
构造及析构函数说明
◆ GpuBuffer() [1/2]
|
default |
◆ ~GpuBuffer()
|
virtualdefault |
◆ GpuBuffer() [2/2]
|
delete |
成员函数说明
◆ downloadBytes()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ fillFloat32()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
被这些函数引用 eve::virtualgeometry::vgUpdate().
◆ getSize()
|
pure virtual |
◆ getUsage()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ operator=()
◆ readData()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ readFloat32()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ readFloat32s()
|
pure virtual |
◆ uploadBytes()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ writeData()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ writeFloat32()
|
pure virtual |
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
◆ writeFloat32s()
|
pure virtual |
Bulk float upload/download (one transfer). startIndex is in floats.
在 eve::gpgpu::VulkanGpuBuffer , 以及 eve::gpgpu::WebGpuGpuBuffer 内被实现.
被这些函数引用 eve::gpgpu::packScriptEntityFloats() , 以及 eve::gpgpu::ShaderSystem::upload().
该类的文档由以下文件生成:
- src/modules/gpgpu/GpuBuffer.h