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

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

#include <VulkanGpuBuffer.h>

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

Public 成员函数

 ~VulkanGpuBuffer () override
 Releases VulkanGpuBuffer resources.
 
int getSize () const override
 缓冲区字节数 / 用途。
 
std::string getUsage () const override
 Returns the usage.
 
void writeData (data::ByteData *data, int dstOffset=0) override
 读写数据(ByteData / 浮点 / 原始字节)。
 
data::ByteData * readData (int srcOffset=0, int size=-1) override
 Reads data.
 
void writeFloat32 (int floatIndex, float value) override
 Writes float 32.
 
float readFloat32 (int floatIndex) override
 Reads float 32.
 
void fillFloat32 (float value) override
 Fill float 32.
 
void writeFloat32s (const float *data, int count, int startIndex=0) override
 Writes float 32 s.
 
void readFloat32s (float *out, int count, int startIndex=0) const override
 Reads float 32 s.
 
void uploadBytes (const void *src, uint64_t nbytes, uint64_t dstOffset=0) override
 Uploads bytes.
 
void downloadBytes (void *dst, uint64_t nbytes, uint64_t srcOffset=0) const override
 Downloads bytes.
 
GpuResidentBufferView residentView () const override
 Resident view.
 
- Public 成员函数 继承自 eve::gpgpu::GpuBuffer
 GpuBuffer ()=default
 Constructs a GpuBuffer.
 
virtual ~GpuBuffer ()=default
 Releases GpuBuffer resources.
 
 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()

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

Releases VulkanGpuBuffer resources.

在文件 VulkanGpuBuffer.cpp 第 25 行定义.

引用了 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

Fill float 32.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 169 行定义.

引用了 count , 以及 value.

◆ getSize()

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

缓冲区字节数 / 用途。

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.h 第 17 行定义.

引用了 size_.

◆ getUsage()

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

Returns the usage.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.h 第 19 行定义.

引用了 usage_.

◆ readData()

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

Reads data.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 135 行定义.

引用了 size.

◆ readFloat32()

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

Reads float 32.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 150 行定义.

引用了 v.

◆ readFloat32s()

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

Reads float 32 s.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 163 行定义.

引用了 count.

◆ residentView()

GpuResidentBufferView eve::gpgpu::VulkanGpuBuffer::residentView ( ) const
overridevirtual

Resident view.

重载 eve::gpgpu::GpuBuffer .

在文件 VulkanGpuBuffer.cpp 第 14 行定义.

引用了 buffer_, size_, view , 以及 eve::Vulkan.

◆ 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.cpp 第 130 行定义.

◆ writeFloat32()

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

Writes float 32.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 145 行定义.

引用了 value.

◆ writeFloat32s()

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

Writes float 32 s.

实现了 eve::gpgpu::GpuBuffer.

在文件 VulkanGpuBuffer.cpp 第 157 行定义.

引用了 count.

类成员变量说明

◆ buffer_

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

◆ device_

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

在文件 VulkanGpuBuffer.h 第 42 行定义.

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

◆ hostVisible_

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

在文件 VulkanGpuBuffer.h 第 50 行定义.

被这些函数引用 uploadBytes().

◆ memory_

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

在文件 VulkanGpuBuffer.h 第 44 行定义.

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

◆ size_

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

在文件 VulkanGpuBuffer.h 第 48 行定义.

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

◆ usage_

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

在文件 VulkanGpuBuffer.h 第 49 行定义.

被这些函数引用 getUsage().


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