载入中...
搜索中...
未找到
WebGpuGpgpu.h
浏览该文件的文档.
In-memory byte buffer implementing eve::Data (ref-counted).
Definition ByteData.h:13
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
Compute program for the WebGPU backend. Accepts WGSL source; GLSL/SPIR-V input is rejected (browsers ...
Definition WebGpuGpgpu.h:22
wgpu::BindGroupLayout setLayout
Definition WebGpuGpgpu.h:44
wgpu::PipelineLayout pipelineLayout
Definition WebGpuGpgpu.h:43
GpuBuffer * getBoundBuffer(int binding) const override
Returns the bound buffer.
Definition WebGpuGpgpu.cpp:65
WebGpuComputeShader()=default
Constructs a WebGpuComputeShader.
~WebGpuComputeShader() override
Releases WebGpuComputeShader resources.
Storage / staging buffer for the WebGPU backend.
Definition WebGpuGpgpu.h:53
void downloadBytes(void *dst, uint64_t nbytes, uint64_t srcOffset=0) const override
Downloads bytes.
Definition WebGpuGpgpu.cpp:300
data::ByteData * readData(int srcOffset=0, int size=-1) override
Reads data.
Definition WebGpuGpgpu.cpp:315
~WebGpuGpuBuffer() override
Releases WebGpuGpuBuffer resources.
void writeFloat32(int floatIndex, float value) override
Writes float 32.
Definition WebGpuGpgpu.cpp:325
void readFloat32s(float *out, int count, int startIndex=0) const override
Reads float 32 s.
Definition WebGpuGpgpu.cpp:342
void uploadBytes(const void *src, uint64_t nbytes, uint64_t dstOffset=0) override
Uploads bytes.
Definition WebGpuGpgpu.cpp:293
void writeFloat32s(const float *data, int count, int startIndex=0) override
Writes float 32 s.
Definition WebGpuGpgpu.cpp:337
void writeData(data::ByteData *data, int dstOffset=0) override
Writes data.
Definition WebGpuGpgpu.cpp:310
SequenceStatus
Observable lifecycle state of a reusable GPU command sequence.
Definition Sequence.h:14
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 webgpuDispatch(ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
Webgpu dispatch.
Definition WebGpuGpgpu.cpp:231
void webgpuSequenceDestroy(WebGpuSequence *sequence)
Webgpu sequence destroy.
Definition WebGpuGpgpu.cpp:382
WebGpuGpuBuffer * webgpuNewBuffer(int byteSize, const std::string &usage)
Webgpu new buffer.
Definition WebGpuGpgpu.cpp:150
SequenceStatus webgpuSequenceWait(WebGpuSequence *sequence)
Webgpu sequence wait.
Definition WebGpuGpgpu.cpp:547
SequenceStatus webgpuSequenceStatus(const WebGpuSequence *sequence)
Webgpu sequence status.
Definition WebGpuGpgpu.cpp:563
WebGpuComputeShader * webgpuNewShaderFromSpirv(const std::vector< uint32_t > &spv)
Webgpu new shader from spirv.
Definition WebGpuGpgpu.cpp:144
WebGpuComputeShader * webgpuNewShaderFromWgsl(const std::string &wgsl)
Webgpu new shader from wgsl.
Definition WebGpuGpgpu.cpp:84
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 webgpuSequenceSubmitAsync(WebGpuSequence *sequence)
Webgpu sequence submit async.
Definition WebGpuGpgpu.cpp:440
void webgpuSequenceSubmit(WebGpuSequence *sequence)
Webgpu sequence submit.
Definition WebGpuGpgpu.cpp:567
Transient backend buffer slice shared between sibling GPU modules. @ownership Non-owning; nativeHandl...
Definition GpuResidentBufferView.h:19