Skip to content

Commit e62d4e3

Browse files
committed
Backfill/prepare CHANGELOG.md for imminent 0.4.0 release.
1 parent 13e47a1 commit e62d4e3

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3333

3434
## [Unreleased] - ReleaseDate
3535

36+
### Changed 🛠
37+
- [PR#4](https://github.com/Rust-GPU/spirt/pull/4) updated `SPIRV-Headers`
38+
to match Vulkan SDK 1.3.290
39+
40+
### Fixed 🩹
41+
- [PR#2](https://github.com/Rust-GPU/spirt/pull/2) included a combination of control-flow (restructurization) refactors and fixes:
42+
- fixed rewrites of chains of `OpPhi`s (for e.g. Rust-GPU's non-minimal SSA form)
43+
- isolated the `ControlRegion`s of unstructured SPIR-T CFGs from eachother
44+
- i.e. removed the implicit dominance-based (SSA-style) "value visibility" semantics
45+
- explicit (phi-like) propagation of *all* values across CFG edges required
46+
- structured control-flow, however, retained its more flexible "value visibility"
47+
- (re)structurization "fuses" away the massively redundant dataflow *when sound*
48+
- fixed SSA dominance issues (introduced by [PR#48 "minimal loops"](https://github.com/EmbarkStudios/spirt/pull/48)) using the above
49+
- i.e. opportunistically simplify conservative (maximally redundant) dataflow
50+
- could be expanded on in the future, moving towards hermetic (RVSDG-like) regions
51+
- fixed issues with `ExitInvocation`s, by supporting them in structured SPIR-T
52+
- e.g. this includes terminators like `OpKill`, `OpEmitMeshTasksEXT`, etc.
53+
- also enables (very hacky) "abort" via `ExitInvocation(OpReturn)` from entry-point
54+
- optimized common cases of divergent (`unreachable`/`ExitInvocation`) control-flow
55+
- e.g. `if cond { abort() } else { foo() }` -> `if cond { abort() } else {} foo()`
56+
- effectively flattens chains of checks (w/ the `abort() = ExitInvocation(OpReturn)` hack)
57+
58+
---
59+
60+
### ⬆️ *above entries after repository move (to [`Rust-GPU/spirt`](https://github.com/Rust-GPU/spirt)*)
61+
*See also [the transition announcement blog post](https://rust-gpu.github.io/blog/transition-announcement/).*
62+
### ⬇️ *below entries before repository move (from [`EmbarkStudios/spirt`](https://github.com/EmbarkStudios/spirt))*
63+
64+
---
65+
3666
### Changed 🛠
3767
- [PR#61](https://github.com/EmbarkStudios/spirt/pull/61) updated `SPIRV-Headers`
3868
to match Vulkan SDK 1.3.275

0 commit comments

Comments
 (0)