| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-11-04 | Fixing SPIR-V header generator magic + Adding Zig compiler version to SPIR-V ↵ | kbz_8 | |
| OpSource (#25435) * fixing Zig generator magic in SPIR-V header; adding zig compiler version to SPIR-V OpSource * Update src/codegen/spirv/Module.zig Co-authored-by: rpkak <67059904+rpkak@users.noreply.github.com> --------- Co-authored-by: rpkak <67059904+rpkak@users.noreply.github.com> | |||
| 2025-10-27 | feat: init x86_16 arch via CBE | GasInfinity | |
| 2025-08-11 | std.ArrayList: make unmanaged the default | Andrew Kelley | |
| 2025-08-09 | spirv: remove prune_unused ISel | Ali Cheraghi | |
| 2025-08-04 | spirv: define and use extended instruction set opcodes | Ali Cheraghi | |
| 2025-08-03 | Watch: do not fail when file is removed | Ali Cheraghi | |
| before this we would get a crash | |||
| 2025-08-02 | spirv: refactor | Ali Cheraghi | |
| 2025-07-14 | spirv: snake-case the spec | Ali Cheraghi | |
| 2025-06-23 | remove `spirv` cpu arch | Ali Cheraghi | |
| 2025-06-19 | Target: pass and use locals by pointer instead of by value | Jacob Young | |
| This struct is larger than 256 bytes and code that copies it consistently shows up in profiles of the compiler. | |||
| 2025-06-05 | std.Target: Introduce Cpu convenience functions for feature tests. | Alex Rønne Petersen | |
| Before: * std.Target.arm.featureSetHas(target.cpu.features, .has_v7) * std.Target.x86.featureSetHasAny(target.cpu.features, .{ .sse, .avx, .cmov }) * std.Target.wasm.featureSetHasAll(target.cpu.features, .{ .atomics, .bulk_memory }) After: * target.cpu.has(.arm, .has_v7) * target.cpu.hasAny(.x86, &.{ .sse, .avx, .cmov }) * target.cpu.hasAll(.wasm, &.{ .atomics, .bulk_memory }) | |||
| 2025-05-21 | spirv: error when execution mode is set more than once | Ali Cheraghi | |
| 2025-05-21 | spirv: super basic composite int support | Ali Cheraghi | |
| 2025-05-21 | spirv: write error value in an storage buffer | Ali Cheraghi | |
| 2025-05-21 | spirv: unroll all vector operations | Ali Cheraghi | |
| 2025-03-18 | spirv: require int8/int16 capabilities | Ali Cheraghi | |
| 2025-03-18 | spirv: packed struct init + field val access | Ali Cheraghi | |
| 2025-03-17 | spirv/target: arbitrary_precision_integers feature support | Ali Cheraghi | |
| 2025-03-17 | target: split `addresses` and `physical_storage_buffer` features | Ali Cheraghi | |
| 2025-02-24 | spirv: get rid of function_types cache | Robin Voetter | |
| This deep hash map doesn't work | |||
| 2025-02-24 | spirv: replace some unreachables with compile errors | Ali Cheraghi | |
| 2025-02-18 | spirv: ziggify and remove unknown spirv features | Ali Cheraghi | |
| `OpCapability` and `OpExtension` now can also be emitted from inline assembly | |||
| 2025-02-18 | spirv: respect cpu features | Ali Cheraghi | |
| 2025-02-18 | spirv: cache more types & merge constructX functions | Ali Cheraghi | |
| 2024-11-01 | spirv: Uniform/PushConstant variables | Ali Cheraghi | |
| - Rename GPU address spaces to match with SPIR-V spec. - Emit `Block` Decoration for Uniform/PushConstant variables. - Don't emit `OpTypeForwardPointer` for non-opencl targets. (there's still a false-positive about recursive structs) Signed-off-by: Ali Cheraghi <alichraghi@proton.me> | |||
| 2024-09-12 | Replace deprecated default initializations with decl literals | Linus Groh | |
| 2024-06-16 | spirv: add support for workItemId, workGroupId, workGroupSize | Robin Voetter | |
| 2024-06-10 | spirv: new vectorization helper | Robin Voetter | |
| The old vectorization helper (WipElementWise) was clunky and a bit annoying to use, and it wasn't really flexible enough. This introduces a new vectorization helper, which uses Temporary and Operation types to deduce a Vectorization to perform the operation in a reasonably efficient manner. It removes the outer loop required by WipElementWise so that implementations of AIR instructions are cleaner. This helps with sanity when we start to introduce support for composite integers. airShift, convertToDirect, convertToIndirect, and normalize are initially implemented using this new method. | |||
| 2024-04-06 | spirv: yeet cache | Robin Voetter | |
| 2024-04-06 | spirv: remove cache usage for types | Robin Voetter | |
| 2024-04-06 | spirv: remove cache usage for constants | Robin Voetter | |
| 2024-04-06 | spirv: id range helper | Robin Voetter | |
| This allows us to more sanely allocate a continuous range of result-ids, and avoids a bunch of nasty casting code in a few places. Its currently not used very often, but will be useful in the future. | |||
| 2024-04-06 | spirv: OpExtInstImport in assembler | Ali Chraghi | |
| 2024-04-06 | spirv: implement `@divFloor`, `@floor` and `@mod` | Ali Chraghi | |
| 2024-03-18 | spirv: make generic globals invocation-local | Robin Voetter | |
| 2024-03-18 | spirv: make IdResult an enum | Robin Voetter | |
| 2024-02-15 | spirv: add capability to compile with x86_64 backend | Ali Chraghi | |
| 2024-02-15 | spirv: use extended instructions whenever possible | Ali Chraghi | |
| 2024-02-09 | spirv: make rusticl the primary testing implementation | Ali Chraghi | |
| 2024-02-05 | spirv: emit vectors whenever we can | Ali Chraghi | |
| 2024-02-05 | spirv: basic shader support | Ali Chraghi | |
| 2023-11-24 | spirv: fix memory leak in SpvModule | Robin Voetter | |
| 2023-10-23 | Revert "Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs"" | Robin Voetter | |
| This reverts commit 9f0359d78f9facc38418e32b0e8c1bf6f99f0d26 in an attempt to make the tests pass again. The CI failure from that merge should be unrelated to this commit. | |||
| 2023-10-22 | Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs" | Andrew Kelley | |
| This reverts commit b822e841cda0adabe3fec260ff51c18508f7ee32, reversing changes made to 0c99ba1eab63865592bb084feb271cd4e4b0357e. This caused a CI failure when it landed in master branch. | |||
| 2023-10-21 | spirv: self-referential pointers via new fwd_ptr_type | Robin Voetter | |
| Its a little ugly but it works. | |||
| 2023-10-15 | spirv: work around OpSource parsing issue in llvm-spirv | Robin Voetter | |
| The Khronos SPIRV-LLVM translator does not parse OpSource correctly. This was causing tests to fail and other mysterious issues. These are resolved by only generating a single OpSource instruction for now, which does not have the source file locations also. See https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2188 | |||
| 2023-10-15 | spirv: use CacheString for source_file_names instead of []const u8 | Robin Voetter | |
| 2023-10-15 | spirv: get rid of SpvModule arena | Robin Voetter | |
| 2023-09-23 | spirv: air dbg_var_val and dbg_var_ptr | Robin Voetter | |
| 2023-09-23 | spirv: generate module initializer | Robin Voetter | |
