Skip to content

Commit d9d9bd2

Browse files
committed
Retroactively filled in CHANGELOG.md entries for all releases after 0.3.0.
1 parent e5740d4 commit d9d9bd2

File tree

1 file changed

+163
-0
lines changed

1 file changed

+163
-0
lines changed

CHANGELOG.md

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,166 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7373

7474
### Changed 🛠️
7575
- [PR#918](https://github.com/EmbarkStudios/rust-gpu/pull/918) updated toolchain to `nightly-2022-08-29`
76+
77+
## [0.4.0-alpha.14]
78+
79+
### Changed 🛠
80+
- [PR#904](https://github.com/EmbarkStudios/rust-gpu/pull/904) renamed helper `spirv-types` crate to `spirv-std-types`
81+
82+
## [0.4.0-alpha.13]
83+
84+
### Added ⭐
85+
- [PR#717](https://github.com/EmbarkStudios/rust-gpu/pull/717) added `noreturn` support to inline `asm!`
86+
- [PR#742](https://github.com/EmbarkStudios/rust-gpu/pull/742) added a `spirv-builder` option to include all debug info
87+
- [PR#787](https://github.com/EmbarkStudios/rust-gpu/pull/787) documented `Cargo.toml` `[profile.⋯.build-override]` setting for avoiding slow builds
88+
- [PR#830](https://github.com/EmbarkStudios/rust-gpu/pull/830) added a `spirv-builder` option to preserve unused descriptor bindings
89+
- [PR#875](https://github.com/EmbarkStudios/rust-gpu/pull/875) added warnings for `#[inline(never)]`s the inliner doesn't respect (for legalization reasons)
90+
- [PR#848](https://github.com/EmbarkStudios/rust-gpu/pull/848) added `#[spirv(subgroup_local_invocation_id)]` built-in (and an `examples/shaders/reduce` compute shader)
91+
- new `spirv-std` APIs: `ByteAddressableBuffer`<sup>[#735](https://github.com/EmbarkStudios/rust-gpu/pull/735)</sup>, `SampledImage::sample_by_lod`<sup>[#755](https://github.com/EmbarkStudios/rust-gpu/pull/755)</sup>, `arch::read_clock_khr`<sup>[#757](https://github.com/EmbarkStudios/rust-gpu/pull/757)</sup>, `arch::{signed,unsigned}_{min,max}`<sup>[#763](https://github.com/EmbarkStudios/rust-gpu/pull/763)</sup>, `debug_printf!`<sup>[#768](https://github.com/EmbarkStudios/rust-gpu/pull/768)</sup>, `arch::*memory_barrier*`<sup>[#769](https://github.com/EmbarkStudios/rust-gpu/pull/769)</sup>, `arch::IndexUnchecked`<sup>[#805](https://github.com/EmbarkStudios/rust-gpu/pull/805)</sup>, `RayQuery::confirm_intersection`<sup>[#822](https://github.com/EmbarkStudios/rust-gpu/pull/822)</sup>, `arch::atomic_i_increment`<sup>[#839](https://github.com/EmbarkStudios/rust-gpu/pull/839)</sup>, `arch::atomic`<sup>[#877](https://github.com/EmbarkStudios/rust-gpu/pull/877)</sup>
92+
93+
### Changed 🛠
94+
- [PR#743](https://github.com/EmbarkStudios/rust-gpu/pull/743) set the SPIR-V "generator magic number" to [the value reserved for Rust-GPU](https://github.com/KhronosGroup/SPIRV-Headers/pull/174)
95+
- [PR#761](https://github.com/EmbarkStudios/rust-gpu/pull/761) made `spirv-std` build on stable Rust by avoiding `enum`s in `const`-generics
96+
- [PR#784](https://github.com/EmbarkStudios/rust-gpu/pull/784) documented `spirv-std` throughout
97+
- [PR#862](https://github.com/EmbarkStudios/rust-gpu/pull/862) updated toolchain to `nightly-2022-04-11`
98+
- [PR#846](https://github.com/EmbarkStudios/rust-gpu/pull/846) updated `spirv-tools` to `0.8` (SPIRV-Tools `2022.1`)
99+
- [PR#888](https://github.com/EmbarkStudios/rust-gpu/pull/888) widened the supported `glam` version range to `0.17`-`0.21`
100+
101+
### Fixed 🩹
102+
- [PR#729](https://github.com/EmbarkStudios/rust-gpu/pull/729) fixed [#723](https://github.com/EmbarkStudios/rust-gpu/issues/723) by explicitly allowing unused shader inputs/outputs in storage class inference
103+
- [PR#732](https://github.com/EmbarkStudios/rust-gpu/pull/732) fixed `rustc` ICE messages being truncated with `rustc_codegen_spirv` (broken since a toolchain update in `0.4.0-alpha.12`)
104+
- [PR#737](https://github.com/EmbarkStudios/rust-gpu/pull/737) fixed [#642](https://github.com/EmbarkStudios/rust-gpu/issues/642) by re-adding `-Zsymbol-mangling-version=v0` (for generic parameters in `fn` names)
105+
- [PR#766](https://github.com/EmbarkStudios/rust-gpu/pull/766) fixed [#373](https://github.com/EmbarkStudios/rust-gpu/issues/373) and [#731](https://github.com/EmbarkStudios/rust-gpu/issues/731) by hooking `rustc` to limit function call ABIs to what Rust-GPU supports
106+
- [PR#793](https://github.com/EmbarkStudios/rust-gpu/pull/793) fixed [#748](https://github.com/EmbarkStudios/rust-gpu/issues/748) by supporting SPIR-V `1.4`'s changed entry-point rules
107+
- [PR#844](https://github.com/EmbarkStudios/rust-gpu/pull/844) fixed [#836](https://github.com/EmbarkStudios/rust-gpu/issues/836) by making newtypes (e.g. single-field structs) wrapping `ScalarPair`s (e.g. `(u32, u32)` or `&[T]`) have the same SPIR-V type as their inner field
108+
109+
## [0.4.0-alpha.12]
110+
111+
### Added ⭐
112+
- [PR#704](https://github.com/EmbarkStudios/rust-gpu/pull/704) added `Image::gather` and `Image::sample_bias` to `spirv-std`
113+
- [PR#709](https://github.com/EmbarkStudios/rust-gpu/pull/709) added float packing/unpacking operations to `spirv-std`
114+
115+
### Changed 🛠
116+
- [PR#716](https://github.com/EmbarkStudios/rust-gpu/pull/716) updated toolchain to `nightly-2021-08-10`
117+
118+
### Removed 🔥
119+
- [PR#710](https://github.com/EmbarkStudios/rust-gpu/pull/710) removed "implicit bindless" and kernel modes
120+
121+
## [0.4.0-alpha.11]
122+
123+
### Changed 🛠
124+
- [PR#702](https://github.com/EmbarkStudios/rust-gpu/pull/702) updated `glam` to `0.17`
125+
126+
## [0.4.0-alpha.10]
127+
128+
### Added ⭐
129+
- [PR#655](https://github.com/EmbarkStudios/rust-gpu/pull/655) added a `watch` feature to `spirv-builder` for hot reloading shaders
130+
- [PR#652](https://github.com/EmbarkStudios/rust-gpu/pull/652) documented `Image!` in the Rust-GPU book
131+
- [PR#660](https://github.com/EmbarkStudios/rust-gpu/pull/660) added a `spirv-builder` option to name global `OpVariables`
132+
- [PR#662](https://github.com/EmbarkStudios/rust-gpu/pull/662) added type aliases for common uses of `Image!`
133+
- [PR#683](https://github.com/EmbarkStudios/rust-gpu/pull/683) added a `spirv-builder` option to treat warnings as errors
134+
135+
### Changed 🛠
136+
- [PR#672](https://github.com/EmbarkStudios/rust-gpu/pull/672) updated toolchain to `nightly-2021-06-09`
137+
- [PR#674](https://github.com/EmbarkStudios/rust-gpu/pull/674) updated `glam` to `0.16`
138+
139+
### Removed 🔥
140+
- [PR#666](https://github.com/EmbarkStudios/rust-gpu/pull/666) removed `arch::arithmetic` from `spirv-std`
141+
142+
## [0.4.0-alpha.9]
143+
144+
### Fixed 🩹
145+
- fixed miscompilation in peephole optimizations (see [PR#646](https://github.com/EmbarkStudios/rust-gpu/pull/646))
146+
147+
## [0.4.0-alpha.8]
148+
149+
### Added ⭐
150+
- [PR#608](https://github.com/EmbarkStudios/rust-gpu/pull/608) added `Image::query_*` operations to `spirv-std`
151+
- [PR#610](https://github.com/EmbarkStudios/rust-gpu/pull/610) added `spirv-builder` support for enabling extra extensions and/or capabilities
152+
- [PR#612](https://github.com/EmbarkStudios/rust-gpu/pull/612) added `is_helper_invocation` to `spirv-std`
153+
- [PR#624](https://github.com/EmbarkStudios/rust-gpu/pull/624) added `OpTypeSampler` and `OpTypeAccelerationStructureKHR` support to inline `asm!`
154+
- [PR#622](https://github.com/EmbarkStudios/rust-gpu/pull/622) added the ability to query entry-point names from `spirv-builder`
155+
- [PR#630](https://github.com/EmbarkStudios/rust-gpu/pull/630) added a more convenient API to `spirv-builder`, for requesting extensions and/or capabilties
156+
- [PR#629](https://github.com/EmbarkStudios/rust-gpu/pull/629) added an optimization to convert N identical scalar (e.g. arithmetic) ops, into one N-wide vector op (as e.g. `glam` only emits the former)
157+
- [PR#596](https://github.com/EmbarkStudios/rust-gpu/pull/596) added a `RuntimeArray` type to `spirv-val`, to represent SPIR-V `OpRuntimeArray`s
158+
- [PR#635](https://github.com/EmbarkStudios/rust-gpu/pull/635) added several `spirv-builder` options for controlling `spirv-val` flags
159+
- [PR#643](https://github.com/EmbarkStudios/rust-gpu/pull/643) added `Image::read_subpass` to `spirv-std`
160+
161+
### Changed 🛠
162+
- [PR#616](https://github.com/EmbarkStudios/rust-gpu/pull/616) updated `spirv-tools` to `0.6.1` and turned on emission of line-based debug info
163+
- [PR#631](https://github.com/EmbarkStudios/rust-gpu/pull/631) updated toolchain to `nightly-2021-05-24`
164+
- [PR#641](https://github.com/EmbarkStudios/rust-gpu/pull/641) made `spirv-std` depend on `glam` (`0.15.2`), instead of the other way around
165+
166+
## [0.4.0-alpha.7]
167+
168+
### Fixed 🩹
169+
- [PR#607](https://github.com/EmbarkStudios/rust-gpu/pull/607) removed accidental use of `feature(or_patterns)` (recently stabilized, only on nightly)
170+
171+
## [0.4.0-alpha.6]
172+
173+
### Added ⭐
174+
- [PR#586](https://github.com/EmbarkStudios/rust-gpu/pull/586) added support for constant memory (`&'static _` references), within the limits of SPIR-V
175+
- [PR#559](https://github.com/EmbarkStudios/rust-gpu/pull/559) added the ability to set a Rust "target triple" in `spirv-builder` (e.g. `"spirv-unknown-vulkan1.1"` for Vulkan `1.1`)
176+
- [PR#563](https://github.com/EmbarkStudios/rust-gpu/pull/563) added `SPV_KHR_ray_tracing` APIs to `spirv-std`
177+
- [PR#572](https://github.com/EmbarkStudios/rust-gpu/pull/572) added `SPV_KHR_ray_query` APIs to `spirv-std`
178+
- [PR#359](https://github.com/EmbarkStudios/rust-gpu/pull/359) added a `const`-generic `Image` type, and `Image!` macro wrapping it (to add "named parameters"), to `spirv-std`
179+
180+
### Changed 🛠
181+
- [PR#587](https://github.com/EmbarkStudios/rust-gpu/pull/587) updated `glam` to `0.14`
182+
- [PR#605](https://github.com/EmbarkStudios/rust-gpu/pull/605) updated toolchain to `nightly-2021-04-25`
183+
184+
### Fixed 🩹
185+
- [PR#594](https://github.com/EmbarkStudios/rust-gpu/pull/594) fixed [#585](https://github.com/EmbarkStudios/rust-gpu/issues/585) by explicitly banning `Image`/`Sampler`/`SampledImage` entry-point parameters not behind references
186+
- [PR#598](https://github.com/EmbarkStudios/rust-gpu/pull/598) fixed [#581](https://github.com/EmbarkStudios/rust-gpu/issues/581) by switching `memory::Semantics` from an `enum` to a `bitflags!`, in `spirv-std`
187+
188+
## [0.4.0-alpha.5]
189+
190+
### Removed 🔥
191+
- [PR#583](https://github.com/EmbarkStudios/rust-gpu/pull/583) removed `memcmp` from `spirv-std`
192+
193+
## [0.4.0-alpha.4]
194+
195+
### Added ⭐
196+
- [PR#519](https://github.com/EmbarkStudios/rust-gpu/pull/519) added `memory_barrier` and `control_barrier` to `spirv-std`
197+
198+
### Changed 🛠
199+
- [PR#567](https://github.com/EmbarkStudios/rust-gpu/pull/567) removed the need to manually specify the storage class for `Image`/`Sampler`/`ImageSampler` entry-point parameters
200+
201+
### Deprecated 🚧
202+
- [PR#576](https://github.com/EmbarkStudios/rust-gpu/pull/576) deprecated `#[spirv(block)]` in favor of automatically wrapping the user types in "interface blocks"
203+
204+
## [0.4.0-alpha.3]
205+
206+
### Added ⭐
207+
- [PR#551](https://github.com/EmbarkStudios/rust-gpu/pull/551) added multi-module (one SPIR-V module per entry-point) support to `spirv-builder`
208+
- [PR#504](https://github.com/EmbarkStudios/rust-gpu/pull/504) added basic support for unsized `struct`s (e.g. ending with a `[T]` field)
209+
- [PR#545](https://github.com/EmbarkStudios/rust-gpu/pull/545) added `Image` methods for sampling depth reference and/or with project coordinate, to `spirv-std`
210+
211+
## [0.4.0-alpha.2]
212+
213+
### Added ⭐
214+
- [PR#541](https://github.com/EmbarkStudios/rust-gpu/pull/541) added `#[spirv(invariant)]` (like the `invariant` keyword in GLSL)
215+
216+
### Fixed 🩹
217+
- made `arch::derivative` functions public, in `spirv-std`
218+
219+
## [0.4.0-alpha.1]
220+
221+
### Added ⭐
222+
- [PR#498](https://github.com/EmbarkStudios/rust-gpu/pull/498) added `sample_by_lod`/`sample_by_gradient` image methods to `spirv-std`
223+
- [PR#521](https://github.com/EmbarkStudios/rust-gpu/pull/521) added `Cubemap` to `spirv-std`
224+
- [PR#520](https://github.com/EmbarkStudios/rust-gpu/pull/520) added `arch::primitive` functions to `spirv-std`
225+
226+
### Changed 🛠
227+
- [PR#496](https://github.com/EmbarkStudios/rust-gpu/pull/496) updated `spirv-tools` to `0.5.0`
228+
- [PR#516](https://github.com/EmbarkStudios/rust-gpu/pull/516) updated toolchain to `nightly-2021-03-21`
229+
- [PR#443](https://github.com/EmbarkStudios/rust-gpu/pull/443) replaced `spirv_std::storage_class` "named pointer types" with `#[spirv(...)] &T` entry-point parameters
230+
231+
## [0.3.1]
232+
233+
### Added ⭐
234+
- [PR#480](https://github.com/EmbarkStudios/rust-gpu/pull/480) added a `fetch` image method to `spirv-std`
235+
- [PR#446](https://github.com/EmbarkStudios/rust-gpu/pull/446) added `arch::*` functions for all SPIR-V arithmetic operations (not involving matrices), to `spirv-std`
236+
237+
### Removed 🔥
238+
- [PR#476](https://github.com/EmbarkStudios/rust-gpu/pull/476) removed `glam` as a dependency of `spirv-std`

0 commit comments

Comments
 (0)