| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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: add zig-specific ext inst | Robin Voetter | |
| This may be removed again in the future... | |||
| 2024-03-18 | spirv: make IdResult an enum | Robin Voetter | |
| 2024-03-18 | spirv: update assembler with new spec | Robin Voetter | |
| 2024-03-18 | spirv: update spec to SPIRV-Headers/8b246ff | Robin Voetter | |
| We need this "unstable" version to get the Zig identifiers. | |||
| 2024-03-11 | std.builtin: make container layout fields lowercase | Tristan Ross | |
| 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: support enum integer values in Assembler | 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: structured control flow | Robin Voetter | |
| 2023-11-24 | spirv: always emit mask constants even if no bits are set | Robin Voetter | |
| A parameter like this is not always optional, even if that is usually implied. SPIR-V tools fail to parse a module with an OpLoopMerge instruction where the loop control parameter is left out. | |||
| 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: air bitcast for non-numeric non-pointer types | Robin Voetter | |
| 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-10-15 | spirv: opaque types | 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 | |
| 2023-09-23 | spirv: put global var initializers in functions | Robin Voetter | |
| 2023-06-24 | all: migrate code to new cast builtin syntax | mlugg | |
| Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change | |||
| 2023-06-19 | all: zig fmt and rename "@XToY" to "@YFromX" | Eric Joldasov | |
| Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me> | |||
| 2023-06-17 | std: replace builtin.Version with SemanticVersion | r00ster91 | |
| 2023-06-10 | stage2: move opaque types to InternPool | Andrew Kelley | |
| 2023-06-10 | stage2: move many Type encodings to InternPool | Andrew Kelley | |
| Notably, `vector`. Additionally, all alternate encodings of `pointer`, `optional`, and `array`. | |||
| 2023-05-30 | spirv: eliminate remaining uses of emitConstant | Robin Voetter | |
| 2023-05-30 | spirv: rename TypeConstantCache -> Cache | Robin Voetter | |
| 2023-05-30 | spirv: translate remaining types | Robin Voetter | |
| 2023-05-30 | spirv: translate remaining types | Robin Voetter | |
| 2023-05-30 | spirv: cache strings for debug names | Robin Voetter | |
| 2023-05-30 | spirv: translate structs to cache key | Robin Voetter | |
| 2023-05-30 | spirv: cache pointers | Robin Voetter | |
| 2023-05-30 | spirv: cache function prototypes | Robin Voetter | |
| 2023-05-30 | spirv: cache for ints | Robin Voetter | |
| 2023-05-30 | spirv: cache for floats | Robin Voetter | |
| 2023-05-30 | spirv: basic setup for using new type constant cache | Robin Voetter | |
| 2023-05-30 | spirv: TypeConstantCache | Robin Voetter | |
| 2023-05-20 | spirv: make constant handle float, errorset, errorunion | Robin Voetter | |
| This is in preparation of removing indirect lowering again. Also modifies constant() to accept a repr so that both direct as well as indirect representations can be generated. Indirect is not yet used, but will be used for globals. | |||
| 2023-05-11 | spirv: make decl deps a hash map instead of an arraylist | Robin Voetter | |
| The same declaration can be added to the dependency set multiple times, and in this case we still need to emit it once. By making this list a hash map instead, we can do that quite easily. This commit also introduces some additional debug logging regarding decls. | |||
| 2023-05-11 | spirv: fix use-after-realloc in resolveType() | Robin Voetter | |
| The pointer to a slot in a hash map was fetched before a recursive call. If the hash map's size changed during the recursive call, this would write to an invalid pointer. The solution is to use an index instead of a pointer. Note that care must be taken that resolved types (from the type_cahce) must not be accessed, as they might be incomplete during this operation. | |||
| 2023-04-09 | spirv: Do not generate the Alignment attribute on pointers for now | Robin Voetter | |
| It seems that some implementations may have problems with these right now, like Intel and Rusticl. In theory, these attributes should be superficial on the pointer type, as alignment guarantees are also added via the alignment option of the OpLoad and OpStore instructions. Therefore, get rid of them for now. | |||
| 2023-04-09 | spirv: deny global OpVariable in inline asm | Robin Voetter | |
| This feature requires to be integrated with the mechanism that orders the global variables, and that is not yet in place. | |||
| 2023-04-09 | spirv: deny OpEntryPoint in asm | Robin Voetter | |
| Kernels should be exported by marking the kernel using callconv(.Kernel) and exporting it as a regular function. | |||
