载入中...
搜索中...
未找到
eve::gpgpu::VulkanGpuBuffer类 参考final

Vulkan 计算缓冲区实现(storage/vertex buffer + device memory)。 更多...

#include <VulkanGpuBuffer.h>

类 eve::gpgpu::VulkanGpuBuffer 继承关系图:
eve::gpgpu::GpuBuffer

Public 成员函数

 ~VulkanGpuBuffer () override
 
int getSize () const override
 缓冲区字节数 / 用途。
 
std::string getUsage () const override
 
void writeData (data::ByteData *data, int dstOffset=0) override
 读写数据(ByteData / 浮点 / 原始字节)。
 
data::ByteDatareadData (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
 
GpuBufferoperator= (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.h11 行定义.

构造及析构函数说明

◆ ~VulkanGpuBuffer()

eve::gpgpu::VulkanGpuBuffer::~VulkanGpuBuffer ( )
override

在文件 VulkanGpuBuffer.cpp14 行定义.

引用了 buffer_, device_ , 以及 memory_.

成员函数说明

◆ downloadBytes()

void eve::gpgpu::VulkanGpuBuffer::downloadBytes ( void *  dst,
uint64_t  nbytes,
uint64_t  srcOffset = 0 
) const
overridevirtual

◆ fillFloat32()

void eve::gpgpu::VulkanGpuBuffer::fillFloat32 ( float  value)
overridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp126 行定义.

引用了 value.

◆ getSize()

int eve::gpgpu::VulkanGpuBuffer::getSize ( ) const
inlineoverridevirtual

缓冲区字节数 / 用途。

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.h16 行定义.

引用了 size_.

◆ getUsage()

std::string eve::gpgpu::VulkanGpuBuffer::getUsage ( ) const
inlineoverridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.h17 行定义.

引用了 usage_.

◆ readData()

data::ByteData * eve::gpgpu::VulkanGpuBuffer::readData ( int  srcOffset = 0,
int  size = -1 
)
overridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp92 行定义.

◆ readFloat32()

float eve::gpgpu::VulkanGpuBuffer::readFloat32 ( int  floatIndex)
overridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp107 行定义.

引用了 v.

◆ readFloat32s()

void eve::gpgpu::VulkanGpuBuffer::readFloat32s ( float *  out,
int  count,
int  startIndex = 0 
) const
overridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp120 行定义.

◆ uploadBytes()

void eve::gpgpu::VulkanGpuBuffer::uploadBytes ( const void *  src,
uint64_t  nbytes,
uint64_t  dstOffset = 0 
)
overridevirtual

◆ writeData()

void eve::gpgpu::VulkanGpuBuffer::writeData ( data::ByteData data,
int  dstOffset = 0 
)
overridevirtual

读写数据(ByteData / 浮点 / 原始字节)。

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp87 行定义.

引用了 data.

◆ writeFloat32()

void eve::gpgpu::VulkanGpuBuffer::writeFloat32 ( int  floatIndex,
float  value 
)
overridevirtual

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp102 行定义.

引用了 value.

◆ writeFloat32s()

void eve::gpgpu::VulkanGpuBuffer::writeFloat32s ( const float *  data,
int  count,
int  startIndex = 0 
)
overridevirtual

Bulk float upload/download (one transfer). startIndex is in floats.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp114 行定义.

引用了 data.

类成员变量说明

◆ buffer_

vk::Buffer eve::gpgpu::VulkanGpuBuffer::buffer_ {}

◆ device_

vkb::Device* eve::gpgpu::VulkanGpuBuffer::device_ = nullptr

在文件 VulkanGpuBuffer.h30 行定义.

被这些函数引用 uploadBytes() , 以及 ~VulkanGpuBuffer().

◆ hostVisible_

bool eve::gpgpu::VulkanGpuBuffer::hostVisible_ = false

在文件 VulkanGpuBuffer.h35 行定义.

被这些函数引用 uploadBytes().

◆ memory_

vk::DeviceMemory eve::gpgpu::VulkanGpuBuffer::memory_ {}

在文件 VulkanGpuBuffer.h32 行定义.

被这些函数引用 uploadBytes() , 以及 ~VulkanGpuBuffer().

◆ size_

vk::DeviceSize eve::gpgpu::VulkanGpuBuffer::size_ = 0

在文件 VulkanGpuBuffer.h33 行定义.

被这些函数引用 getSize() , 以及 uploadBytes().

◆ usage_

std::string eve::gpgpu::VulkanGpuBuffer::usage_ = "storage"

在文件 VulkanGpuBuffer.h34 行定义.

被这些函数引用 getUsage().


该类的文档由以下文件生成: