@@ -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