载入中...
搜索中...
未找到
eve::gpgpu::VulkanSequence结构体 参考

VulkanSequence public API. 更多...

#include <VulkanSequence.h>

Public 成员函数

bool ready () const
 Ready.
 
void ensureReady ()
 Ensure ready.
 
void ensureCommandBuffer ()
 Ensure command buffer.
 
void destroy ()
 Destroys destroy.
 

Public 属性

graphics::vulkan::Graphics * vkg = nullptr
 
vk::Queue queue {}
 
vk::CommandPool pool {}
 
std::vector< vkb::GenericBuffer > stagingPool
 
size_t stagingUsed = 0
 
vk::Fence fence = nullptr
 
bool fenceReady = false
 
vk::CommandBuffer commandBuffer {}
 
vk::CommandBuffer submittedCommandBuffer {}
 
bool recording = false
 
SequenceStatus status = SequenceStatus::Idle
 
std::vector< ComputeShader * > usedShaders
 

详细描述

VulkanSequence public API.

@ownership Backend pointers are borrowed from the active Graphics device. @lifetime The active Graphics device, recorded shaders and buffers outlive pending work. @thread All methods except backend completion signaling run on the submitting thread. Vulkan implementation of Sequence: one command buffer per begin()/submit() cycle (allocated from the compute/upload pool, matching executeImmediately), with a persistent pool of host-visible staging buffers for recordUpload(). submit() ends the command buffer, submits once with a fence and waits; submitAsync() exposes the same fence through poll()/wait().

在文件 VulkanSequence.h 第 29 行定义.

成员函数说明

◆ destroy()

◆ ensureCommandBuffer()

◆ ensureReady()

◆ ready()

bool eve::gpgpu::VulkanSequence::ready ( ) const

Ready.

在文件 VulkanSequence.cpp 第 13 行定义.

引用了 eve::graphics::vulkan::Graphics::getDevice() , 以及 vkg.

被这些函数引用 ensureReady() , 以及 eve::gpgpu::Sequence::isAvailable().

类成员变量说明

◆ commandBuffer

◆ fence

vk::Fence eve::gpgpu::VulkanSequence::fence = nullptr

◆ fenceReady

bool eve::gpgpu::VulkanSequence::fenceReady = false

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

被这些函数引用 destroy() , 以及 ensureCommandBuffer().

◆ pool

vk::CommandPool eve::gpgpu::VulkanSequence::pool {}

在文件 VulkanSequence.h 第 32 行定义.

被这些函数引用 destroy(), ensureCommandBuffer() , 以及 ensureReady().

◆ queue

vk::Queue eve::gpgpu::VulkanSequence::queue {}

在文件 VulkanSequence.h 第 31 行定义.

被这些函数引用 destroy(), ensureReady() , 以及 eve::gpgpu::vulkanSequenceSubmitAsync().

◆ recording

bool eve::gpgpu::VulkanSequence::recording = false

在文件 VulkanSequence.h 第 46 行定义.

被这些函数引用 destroy(), ensureCommandBuffer() , 以及 eve::gpgpu::vulkanSequenceSubmitAsync().

◆ stagingPool

std::vector<vkb::GenericBuffer> eve::gpgpu::VulkanSequence::stagingPool

在文件 VulkanSequence.h 第 38 行定义.

被这些函数引用 destroy() , 以及 eve::gpgpu::vulkanSequenceRecordUpload().

◆ stagingUsed

size_t eve::gpgpu::VulkanSequence::stagingUsed = 0

◆ status

◆ submittedCommandBuffer

vk::CommandBuffer eve::gpgpu::VulkanSequence::submittedCommandBuffer {}

在文件 VulkanSequence.h 第 45 行定义.

被这些函数引用 destroy() , 以及 eve::gpgpu::vulkanSequenceSubmitAsync().

◆ usedShaders

std::vector<ComputeShader *> eve::gpgpu::VulkanSequence::usedShaders

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

被这些函数引用 destroy(), ensureCommandBuffer() , 以及 eve::gpgpu::vulkanSequenceRecordDispatch().

◆ vkg


该结构体的文档由以下文件生成: