载入中...
搜索中...
未找到
Sequence.cpp
浏览该文件的文档.
Backend-agnostic compute program. Bind storage buffers then dispatch via Gpgpu::dispatch....
Definition ComputeShader.h:15
Backend-agnostic GPU buffer for compute (storage) or CPU staging transfers. Squirrel-owned; derived c...
Definition GpuBuffer.h:18
SequenceStatus getStatus() const
Current lifecycle state without driving backend event processing.
Definition Sequence.cpp:97
SequenceStatus submitAsync()
Submit without waiting for GPU completion. @lifetime Buffers and shaders referenced by recorded work ...
Definition Sequence.cpp:94
SequenceStatus poll()
Non-blocking completion query; also retires completed backend resources.
Definition Sequence.cpp:95
void recordUpload(GpuBuffer *dst, const void *src, uint64_t nbytes, uint64_t dstOffset=0)
Record upload.
Definition Sequence.cpp:77
void recordDownload(GpuBuffer *src, GpuBuffer *staging, uint64_t nbytes, uint64_t srcOffset=0)
Record download.
Definition Sequence.cpp:82
void recordDispatch(ComputeShader *shader, int groupsX, int groupsY=1, int groupsZ=1)
Record dispatch.
Definition Sequence.cpp:87
std::string getStatusName() const
Stable script/debug name for getStatus().
Definition Sequence.cpp:105
SequenceStatus wait()
Wait for pending work and retire its backend resources.
Definition Sequence.cpp:96
void vulkanSequenceSubmit(VulkanSequence *seq)
Vulkan sequence submit.
Definition VulkanSequence.cpp:200
SequenceStatus
Observable lifecycle state of a reusable GPU command sequence.
Definition Sequence.h:14
@ Submitted
@ Complete
@ Recording
void webgpuSequenceRecordDownload(WebGpuSequence *sequence, GpuBuffer *src, GpuBuffer *staging, uint64_t nbytes, uint64_t srcOffset)
Webgpu sequence record download.
Definition WebGpuGpgpu.cpp:412
bool webgpuSequenceReady(WebGpuSequence *sequence)
Webgpu sequence ready.
Definition WebGpuGpgpu.cpp:387
SequenceStatus webgpuSequencePoll(WebGpuSequence *sequence)
Webgpu sequence poll.
Definition WebGpuGpgpu.cpp:534
void webgpuSequenceBegin(WebGpuSequence *sequence)
Webgpu sequence begin.
Definition WebGpuGpgpu.cpp:389
void vulkanSequenceBegin(VulkanSequence *seq)
Vulkan sequence begin.
Definition VulkanSequence.cpp:108
SequenceStatus vulkanSequenceWait(VulkanSequence *seq)
Vulkan sequence wait.
Definition VulkanSequence.cpp:258
void webgpuSequenceDestroy(WebGpuSequence *sequence)
Webgpu sequence destroy.
Definition WebGpuGpgpu.cpp:382
SequenceStatus webgpuSequenceWait(WebGpuSequence *sequence)
Webgpu sequence wait.
Definition WebGpuGpgpu.cpp:547
void vulkanSequenceDestroy(VulkanSequence *seq)
Vulkan sequence destroy.
Definition VulkanSequence.cpp:102
SequenceStatus vulkanSequenceStatus(const VulkanSequence *seq)
Vulkan sequence status.
Definition VulkanSequence.cpp:265
void vulkanSequenceRecordDownload(VulkanSequence *seq, GpuBuffer *src, GpuBuffer *staging, uint64_t nbytes, uint64_t srcOffset)
Vulkan sequence record download.
Definition VulkanSequence.cpp:149
void vulkanSequenceRecordDispatch(VulkanSequence *seq, ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
Vulkan sequence record dispatch.
Definition VulkanSequence.cpp:170
SequenceStatus webgpuSequenceStatus(const WebGpuSequence *sequence)
Webgpu sequence status.
Definition WebGpuGpgpu.cpp:563
void webgpuSequenceRecordDispatch(WebGpuSequence *sequence, ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
Webgpu sequence record dispatch.
Definition WebGpuGpgpu.cpp:424
void webgpuSequenceRecordUpload(WebGpuSequence *sequence, GpuBuffer *dst, const void *src, uint64_t nbytes, uint64_t dstOffset)
Webgpu sequence record upload.
Definition WebGpuGpgpu.cpp:397
SequenceStatus vulkanSequencePoll(VulkanSequence *seq)
Vulkan sequence poll.
Definition VulkanSequence.cpp:250
void vulkanSequenceRecordUpload(VulkanSequence *seq, GpuBuffer *dst, const void *src, uint64_t nbytes, uint64_t dstOffset)
Vulkan sequence record upload.
Definition VulkanSequence.cpp:115
SequenceStatus webgpuSequenceSubmitAsync(WebGpuSequence *sequence)
Webgpu sequence submit async.
Definition WebGpuGpgpu.cpp:440
void webgpuSequenceSubmit(WebGpuSequence *sequence)
Webgpu sequence submit.
Definition WebGpuGpgpu.cpp:567
SequenceStatus vulkanSequenceSubmitAsync(VulkanSequence *seq)
Vulkan sequence submit async.
Definition VulkanSequence.cpp:206
Definition Sequence.cpp:56