Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-08-01 | Stream SPIR-V instructions directly to a binary | ReinUsesLisp | |
Before this commit sirit generated a stream of tokens that would then be inserted to the final SPIR-V binary. This design was carried from the initial design of manually inserting opcodes into the code. Now that all instructions but labels are inserted when their respective function is called, the old design can be dropped in favor of generating a valid stream of SPIR-V opcodes. The API for variables is broken, but adopting the new one is trivial. Instead of calling OpVariable and then adding a global or local variable, OpVariable was removed and global or local variables are generated when they are called. Avoiding duplicates is now done with an std::unordered_set instead of using a linear search jumping through vtables. | |||
2019-10-24 | tests/main: Test assembled binary | ReinUsesLisp | |
Previously the test couldn't fail unless it crashed. Now that sirit does not do work "behind the scenes" that can change between versions (like declaring capabilities), we can have this checking. | |||
2019-10-18 | Remove Emit entry in favor of auto-emitting code | ReinUsesLisp | |
All instructions but OpVariable and OpLabel are automatically emitted. These functions have to call AddLocalVariable/AddGlobalVariable or AddLabel respectively. | |||
2019-10-18 | Assemble uint32_t instead of uint8_t | ReinUsesLisp | |
Vulkan receives SPIR-V modules with a uint32_t alignment. Returning uint8_t forced users to invoke undefined behaviour (reinterpret_cast) or copy. | |||
2019-07-14 | Relicense to The BSD 3-clause license | ReinUsesLisp | |
2019-03-14 | tests: Fix build error | ReinUsesLisp | |
2019-03-11 | Add ellipsis overloads for instructions ending in vectors | ReinUsesLisp | |
2018-11-16 | Upgrade from LGPLv2.1 to LGPLv3 | ReinUsesLisp | |
2018-11-16 | Fixup tests | ReinUsesLisp | |
2018-11-01 | Fixup build issues | ReinUsesLisp | |
2018-10-31 | Add Op* prefix to instructions that have to be emited | ReinUsesLisp | |
2018-10-31 | Update test | ReinUsesLisp | |
2018-08-31 | OpName returns its target | ReinUsesLisp | |
2018-08-31 | Add OpName and debug symbols | ReinUsesLisp | |
2018-08-31 | Test branches | ReinUsesLisp | |
2018-08-31 | Rename Assembly -> Assemble | ReinUsesLisp | |
2018-08-28 | Add OpConstantNull | ReinUsesLisp | |
2018-08-28 | Add OpConstantSampler | ReinUsesLisp | |
2018-08-27 | Add OpConstantComposite | ReinUsesLisp | |
2018-08-27 | Add OpConstant | ReinUsesLisp | |
2018-08-26 | Fixup License header 2 -> 2.1 | ReinUsesLisp | |
2018-08-26 | Fixup License | ReinUsesLisp | |
2018-08-26 | Add boolean constants | ReinUsesLisp | |
2018-08-26 | Add more types | ReinUsesLisp | |
2018-08-26 | Add some types | ReinUsesLisp | |
2018-08-25 | Rename Ref -> Op | ReinUsesLisp | |
2018-08-25 | Implement stuff | ReinUsesLisp | |
2018-08-23 | aloha | ReinUsesLisp | |