v0.0.0-alpha.1: First usable version 🚩
Pre-release
Pre-release
UpsettingBoy
released this
27 Sep 09:20
·
40 commits
to master
since this release
This is the first "real" release of gpgpu-rs
, not an MVP yet but still usable.
Features
- Offloading of computations into the GPU 📈
- Using
gpgpu-rs
primitives + compute shaders - Supports storage buffers, texture and storage textures on the shaders
- Supports SPIR-V compute shader loading (works best with WGSL shaders from both source and SPIR-V)
- Fairly primitive wgpu integration. Allows usage of
gpgpu-rs
primitives with wgpu pipelines (mainly graphic pipelines) - 2 simple examples, one for buffer compute and another one for image manipulation
- Using
- GpuBuffer primitive
- Buffer of n T elements on the GPU. T must be bytemuck::Pod
- Supports sync and async read and write operations
- GpuImage primivite
- Handles a texture on the GPU. Only RGBA8 images yet 😢
- Supports sync and async read and write operations
TODO
- Improve documentation and examples (new and more complex examples)
- Support of different texture formats on GpuImage
- Reuse of staging buffers (optional, typed as in the Vec allocator)
- New primitives for fine grained GPU usage (CpuAccessibleBuffer, ReadOnlyGpuImage, etc; better naming 😆)
- More to come...
All in all, I'm pretty happy with this release. I'm looking for comments on the API, if it is simple, easy to use, etc.