Skip to content

Commit c01a30a

Browse files
committed
automatic changelog and pfp update
1 parent 2701c19 commit c01a30a

3 files changed

Lines changed: 116 additions & 37 deletions

File tree

src/pages/changelog.md

Lines changed: 116 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,107 @@ title: Changelog
44
sidebar_label: Changelog
55
---
66

7-
# `rust-gpu` Changelog
7+
# Changelog
88

99
All notable changes to this project will be documented in this file.
1010

1111
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1212
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1313

14-
<!-- NOTE(eddyb) sections from the original template:
15-
16-
### Added ⭐
17-
- New features go here in a bullet list
18-
19-
### Changed 🛠
20-
- Changes to existing functionality go here in a bullet list
21-
22-
### Deprecated 🚧
23-
- Mark features soon-to-be removed in a bullet list
14+
## [Unreleased]
15+
## [0.10.0-alpha.1](https://github.com/Rust-GPU/rust-gpu/compare/v0.9.0...v0.10.0-alpha.1) - 2026-04-13
2416

25-
### Removed 🔥
26-
- Features that have been removed in a bullet list
17+
Toolchain: `nightly-2026-04-11` (rustc 1.96.0)
2718

28-
### Fixed 🩹
29-
- Bug fixes in a bullet list
19+
### Added ⭐
3020

31-
### Security 🔐
32-
- Changes/fixes related to security vulnerabilities in a bullet list
21+
- [PR#493](https://github.com/Rust-GPU/rust-gpu/pull/493) add `spirv-unknown-naga-wgsl` target to transpile to wgsl with naga 29
22+
- [PR#271](https://github.com/Rust-GPU/rust-gpu/pull/271) added new targets: `vulkan1.3`, `vulkan1.4`, `spv1.6`
23+
- [PR#177](https://github.com/Rust-GPU/rust-gpu/pull/177) added `NonUniform` SPIR-V decoration for every image and buffer access when `NonUniform` capability is enabled
24+
- [PR#394](https://github.com/Rust-GPU/rust-gpu/pull/394) remove unsafe from safe SPIR-V intrinsic functions
25+
- [PR#44](https://github.com/Rust-GPU/rust-gpu/pull/44) added [mesh shaders](https://www.khronos.org/blog/mesh-shading-for-vulkan) with task shaders and per-primitive output attributes
26+
27+
- entry point:
28+
- [PR#514](https://github.com/Rust-GPU/rust-gpu/pull/514) allowed zero-sized types in entry point input/output positions
29+
- [PR#509](https://github.com/Rust-GPU/rust-gpu/pull/509) added validation for incorrect `LocalInvocationIndex` type, must be `u32`
30+
- [PR#16](https://github.com/Rust-GPU/rust-gpu/pull/16) added
31+
[`TypedBuffer`](https://rust-gpu.github.io/rust-gpu/api/spirv_std/struct.TypedBuffer.html),
32+
an explicit way to declare inputs and outputs as buffers, useful for arrays of buffer descriptors
33+
- [PR#448](https://github.com/Rust-GPU/rust-gpu/pull/448) added arrayed specialization constants, allowing spec constants declared as fixed-size arrays occupying consecutive IDs
34+
- [PR#482](https://github.com/Rust-GPU/rust-gpu/pull/482) added explicit `#[spirv(location = N)]` support, fixed overlapping location assignment for larger-than `Vec4` structs
35+
36+
- subgroup intrinsics:
37+
- [PR#14](https://github.com/Rust-GPU/rust-gpu/pull/14) added subgroup intrinsics matching GLSL's [`GL_KHR_shader_subgroup`](https://github.com/KhronosGroup/GLSL/blob/main/extensions/khr/GL_KHR_shader_subgroup.txt)
38+
- [PR#441](https://github.com/Rust-GPU/rust-gpu/pull/441) added `ScalarComposite` trait and derive macro, enabling composite types (scalars, vectors, arrays, structs, repr-int enums) in subgroup intrinsics
39+
40+
- ray tracing:
41+
- [PR#391](https://github.com/Rust-GPU/rust-gpu/pull/391) added `Matrix4x3` type for ray tracing intrinsics
42+
- [PR#343](https://github.com/Rust-GPU/rust-gpu/pull/343) added `RayQuery::get_intersection_triangle_vertex_positions()` for ray tracing
43+
- [PR#339](https://github.com/Rust-GPU/rust-gpu/pull/339) added `HitTriangleVertexPositionsKHR` built-in for ray tracing pipelines
44+
45+
- `spirv-builder`
46+
- [PR#477](https://github.com/Rust-GPU/rust-gpu/pull/477) removed the need for `crate-type = ["dylib"]` in shader crate `Cargo.toml`
47+
- [PR#488](https://github.com/Rust-GPU/rust-gpu/pull/488) replaced `enum MetadataPrintout` with `struct BuildScriptConfig`; shader compilation warnings now properly forwarded to build output
48+
- [PR#265](https://github.com/Rust-GPU/rust-gpu/pull/265) added `#[non_exhaustive]` on `SpirvBuilder` and dependent structs; use builder patterns instead of direct construction
49+
- [PR#13](https://github.com/Rust-GPU/rust-gpu/pull/13) allowed cargo features and default-features to be passed to the shader crate
50+
- [PR#422](https://github.com/Rust-GPU/rust-gpu/pull/422) redesigned the `spirv-builder` watch API: simpler `Watcher` returning `CompileResult` directly from `recv()`, with `try_recv()` for non-blocking polling
51+
- [PR#223](https://github.com/Rust-GPU/rust-gpu/pull/223) added `SpirvBuilder::target_dir_path` to set the target directory explicitly
52+
- [PR#188](https://github.com/Rust-GPU/rust-gpu/pull/188) added `RUSTGPU_CARGOFLAGS` environment variable for passing extra cargo flags
53+
54+
- `cargo-gpu`
55+
- added `cargo-gpu` to allow CPU code to be compiled by a stable toolchain
56+
- [PR#131](https://github.com/Rust-GPU/cargo-gpu/pull/131) added `cargo gpu clippy` and `cargo gpu check` for linting/checking shader code
57+
- [PR#109](https://github.com/Rust-GPU/cargo-gpu/pull/109) added `--package`/`-p` akin to `cargo`
58+
- [PR#16](https://github.com/Rust-GPU/cargo-gpu/pull/16) added `[package.metadata.rust-gpu]` support in `Cargo.toml` for declarative build configuration
59+
- [PR#42](https://github.com/Rust-GPU/cargo-gpu/pull/42) added `--watch` flag for auto-recompilation on source changes
60+
- [PR#71](https://github.com/Rust-GPU/cargo-gpu/pull/71) refactored cargo-gpu from a binary into a library with a public API that's usable from build scripts
61+
- [PR#132](https://github.com/Rust-GPU/cargo-gpu/pull/132) extracted install logic into a separate `cargo-gpu-install` crate, reducing dependency count by ~30 crates for library consumers
3362

34-
-->
63+
### Changed 🛠
3564

36-
## [Unreleased]
65+
- Updated Rust nightly toolchain to `nightly-2026-04-11`
66+
- [PR#249](https://github.com/Rust-GPU/rust-gpu/pull/249) updated to Rust 2024 edition
67+
- [PR#380](https://github.com/Rust-GPU/rust-gpu/pull/380) `glam` types have the same layout on GPU and CPU to prevent sutle UB bugs with `Vec3`, requires at least glam `0.30.8`
68+
- [PR#395](https://github.com/Rust-GPU/rust-gpu/pull/395) make many APIs explicitly use `glam` types instead of generics
3769

38-
### Changed 🛠
70+
- `ByteAddressableBuffer`:
71+
- [PR#17](https://github.com/Rust-GPU/rust-gpu/pull/17) refactored `ByteAddressableBuffer` to allow reading from read-only buffers
72+
- [PR#430](https://github.com/Rust-GPU/rust-gpu/pull/430) fix `ByteAddressableBuffer` stores of scalar pair types
73+
- [PR#353](https://github.com/Rust-GPU/rust-gpu/pull/353) soundness fix: respect `read_scalar` errors instead of silently corrupting data
3974

40-
- [PR#170](https://github.com/Rust-GPU/rust-gpu/pull/170) updated toolchain to `nightly-2024-11-22`
41-
- [PR#44](https://github.com/Rust-GPU/rust-gpu/pull/44) added support for [mesh shaders](https://www.khronos.org/blog/mesh-shading-for-vulkan)
42-
- [PR#17](https://github.com/Rust-GPU/rust-gpu/pull/17) refactored [`ByteAddressableBuffer`](https://rust-gpu.github.io/rust-gpu/api/spirv_std/byte_addressable_buffer/struct.ByteAddressableBuffer.html) to allow reading from read-only buffers
43-
- [PR#16](https://github.com/Rust-GPU/rust-gpu/pull/16) added
44-
[`TypedBuffer`](https://rust-gpu.github.io/rust-gpu/api/spirv_std/struct.TypedBuffer.html),
45-
an explicit way to declare inputs and outputs as buffers
46-
- [PR#14](https://github.com/Rust-GPU/rust-gpu/pull/14) added subgroup intrinsics matching
47-
glsl's
48-
[`GL_KHR_shader_subgroup`](https://github.com/KhronosGroup/GLSL/blob/main/extensions/khr/GL_KHR_shader_subgroup.txt)
49-
- [PR#13](https://github.com/Rust-GPU/rust-gpu/pull/13) allowed cargo features to be passed to the shader crate
50-
- [PR#9](https://github.com/Rust-GPU/rust-gpu/pull/9) relaxed `glam` version requirements (`>=0.22, <=0.29`)
51-
- [PR#1127](https://github.com/EmbarkStudios/rust-gpu/pull/1127) updated `spirv-tools` to `0.10.0`, which follows `vulkan-sdk-1.3.275`
52-
- [PR#1101](https://github.com/EmbarkStudios/rust-gpu/pull/1101) added `ignore` and `no_run` to documentation to make `cargo test` pass
53-
- [PR#1112](https://github.com/EmbarkStudios/rust-gpu/pull/1112) updated wgpu and winit in example runners
75+
- image:
76+
- [PR#281](https://github.com/Rust-GPU/rust-gpu/pull/281) allow `SampledImage` to access `query_size_lod` and `query_size`
77+
- [PR#361](https://github.com/Rust-GPU/rust-gpu/pull/361) added `Image::fetch_with_lod` shortcut for `Image::fetch_with(..., lod(...))`
78+
- [PR#490](https://github.com/Rust-GPU/rust-gpu/pull/490) made `Image::fetch()` implicitly declare LOD 0
79+
- [PR#474](https://github.com/Rust-GPU/rust-gpu/pull/474) allow `Image::write()` to write scalar values into scalar images
5480

5581
### Fixed 🩹
5682

57-
- [PR#200](https://github.com/Rust-GPU/rust-gpu/pull/200) fixed [#199](https://github.com/Rust-GPU/rust-gpu/issues/199) by correctly generating an `fmul` in the `log10` intrinsic
58-
- [PR#174](https://github.com/Rust-GPU/rust-gpu/pull/174) fixed [#169](https://github.com/Rust-GPU/rust-gpu/issues/169) by handling signed integers in the `bswap` intrinsic
59-
- [PR#1129](https://github.com/EmbarkStudios/rust-gpu/pull/1129) fixed [#1062](https://github.com/EmbarkStudios/rust-gpu/issues/1062) by not flipping the comparison of the rotate amount with zero
83+
- [PR#552](https://github.com/Rust-GPU/rust-gpu/pull/552) massive speedups for mem2reg linker step
84+
- [PR#364](https://github.com/Rust-GPU/rust-gpu/pull/364) fixed `libm` intrinsics for versions newer than `0.2.11`
85+
- [PR#233](https://github.com/Rust-GPU/rust-gpu/pull/233) fixed array of array types
86+
- [PR#167](https://github.com/Rust-GPU/rust-gpu/pull/167) fixed `debug_printf` macros not escaping `{` and `}` correctly
87+
88+
- codegen:
89+
- [PR#15](https://github.com/Rust-GPU/rust-gpu/pull/15) fixed signed `for` loops
90+
- [PR#213](https://github.com/Rust-GPU/rust-gpu/pull/213) fixed `leading_zeros`, `trailing_zeros` and `count_ones` intrinsics
91+
- [PR#174](https://github.com/Rust-GPU/rust-gpu/pull/174) added support for signed integer `bswap`
92+
- [PR#363](https://github.com/Rust-GPU/rust-gpu/pull/363) allow `std::hint::black_box` to be a no-op on GPU
93+
- [PR#518](https://github.com/Rust-GPU/rust-gpu/pull/518) replace `num_traits::Float::powi` implementation with `GLSL.std.450 Pow` intrinsics
94+
- [PR#200](https://github.com/Rust-GPU/rust-gpu/pull/200) fixed `log10` intrinsic
95+
- [PR#1129](https://github.com/EmbarkStudios/rust-gpu/pull/1129) fixed bit rotates being completely broken
96+
- [PR#227](https://github.com/Rust-GPU/rust-gpu/pull/227) fixed array init with `0i32` incorrectly using `0u32`
97+
- [PR#224](https://github.com/Rust-GPU/rust-gpu/pull/224) fixed typo swapping logical operations on bools
98+
- [PR#302](https://github.com/Rust-GPU/rust-gpu/pull/302) optimize constant casts to avoid requiring `Int64` capabilities
99+
100+
- spirv-val:
101+
- [PR#512](https://github.com/Rust-GPU/rust-gpu/pull/512) fixed validation failures with newer `spirv-val` (v2025.5+) by folding `OpLoad` from `Private` variables with constant initializers
102+
- [PR#456](https://github.com/Rust-GPU/rust-gpu/pull/456) fixed unused shared memory causing validation errors
103+
- [PR#379](https://github.com/Rust-GPU/rust-gpu/pull/379) fixed Vulkan validation errors by erasing explicit layout decorations when disallowed
104+
105+
- ICE:
106+
- [PR#431](https://github.com/Rust-GPU/rust-gpu/pull/431) fixed divide-by-zero ICE
107+
- [PR#453](https://github.com/Rust-GPU/rust-gpu/pull/453) fixed ICE on indirect function pointers
60108

61109
## [0.9.0]
62110

@@ -473,3 +521,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
473521
## [0.1.0]
474522

475523
Initial release.
524+
525+
[Unreleased]: https://github.com/rust-gpu/rust-gpu/compare/v0.9.0...HEAD
526+
[0.9.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.9.0
527+
[0.8.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.8.0
528+
[0.7.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.7.0
529+
[0.6.1]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.6.0
530+
[0.6.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.6.0
531+
[0.5.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.5.0
532+
[0.4.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
533+
[0.4.0-alpha.17]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
534+
[0.4.0-alpha.16]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
535+
[0.4.0-alpha.15]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
536+
[0.4.0-alpha.14]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
537+
[0.4.0-alpha.13]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
538+
[0.4.0-alpha.12]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
539+
[0.4.0-alpha.11]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
540+
[0.4.0-alpha.10]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
541+
[0.4.0-alpha.9]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
542+
[0.4.0-alpha.8]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
543+
[0.4.0-alpha.7]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
544+
[0.4.0-alpha.6]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
545+
[0.4.0-alpha.5]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
546+
[0.4.0-alpha.4]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
547+
[0.4.0-alpha.3]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
548+
[0.4.0-alpha.2]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
549+
[0.4.0-alpha.1]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
550+
[0.4.0-alpha.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.4.0
551+
[0.3.1]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.3.0
552+
[0.3.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.3.0
553+
[0.2.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.2
554+
[0.1.0]: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.1

static/img/authors/LegNeato.png

24 Bytes
Loading

static/img/authors/schell.png

-15 Bytes
Loading

0 commit comments

Comments
 (0)