载入中...
搜索中...
未找到
WebGpuGpgpu.h
浏览该文件的文档.
In-memory byte buffer implementing eve::Data (ref-counted).
Definition ByteData.h:11
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:16
Compute program for the WebGPU backend. Accepts WGSL source; GLSL/SPIR-V input is rejected (browsers ...
Definition WebGpuGpgpu.h:20
float getFloat(int index) const override
Definition WebGpuGpgpu.cpp:68
wgpu::BindGroupLayout setLayout
Definition WebGpuGpgpu.h:35
void bindBuffer(int binding, GpuBuffer *buffer) override
Bind a storage buffer to set=0 binding. binding in [0, kMaxBindings).
Definition WebGpuGpgpu.cpp:53
void setFloat(int index, float value) override
Definition WebGpuGpgpu.cpp:63
wgpu::PipelineLayout pipelineLayout
Definition WebGpuGpgpu.h:34
void clearBindings() override
Definition WebGpuGpgpu.cpp:73
GpuBuffer * getBoundBuffer(int binding) const override
Definition WebGpuGpgpu.cpp:58
WebGpuComputeShader()=default
~WebGpuComputeShader() override
Storage / staging buffer for the WebGPU backend.
Definition WebGpuGpgpu.h:44
float readFloat32(int floatIndex) override
Definition WebGpuGpgpu.cpp:292
void downloadBytes(void *dst, uint64_t nbytes, uint64_t srcOffset=0) const override
Definition WebGpuGpgpu.cpp:265
data::ByteData * readData(int srcOffset=0, int size=-1) override
Definition WebGpuGpgpu.cpp:277
WebGpuGpuBuffer()=default
~WebGpuGpuBuffer() override
void writeFloat32(int floatIndex, float value) override
Definition WebGpuGpgpu.cpp:287
std::string getUsage() const override
Definition WebGpuGpgpu.h:50
void readFloat32s(float *out, int count, int startIndex=0) const override
Definition WebGpuGpgpu.cpp:304
void uploadBytes(const void *src, uint64_t nbytes, uint64_t dstOffset=0) override
Definition WebGpuGpgpu.cpp:258
void writeFloat32s(const float *data, int count, int startIndex=0) override
Bulk float upload/download (one transfer). startIndex is in floats.
Definition WebGpuGpgpu.cpp:299
void writeData(data::ByteData *data, int dstOffset=0) override
Definition WebGpuGpgpu.cpp:272
void fillFloat32(float value) override
Definition WebGpuGpgpu.cpp:309
Definition ComputeShader.cpp:3
void webgpuDispatch(ComputeShader *shader, int groupsX, int groupsY, int groupsZ)
Definition WebGpuGpgpu.cpp:208
WebGpuGpuBuffer * webgpuNewBuffer(int byteSize, const std::string &usage)
Definition WebGpuGpgpu.cpp:141
WebGpuComputeShader * webgpuNewShaderFromSpirv(const std::vector< uint32_t > &spv)
Definition WebGpuGpgpu.cpp:135
WebGpuComputeShader * webgpuNewShaderFromWgsl(const std::string &wgsl)
Definition WebGpuGpgpu.cpp:77