Commit graph

79 commits

Author SHA1 Message Date
ReinUsesLisp
4a0c6e03e1 Add OpVectorExtractDynamic and OpVectorInsertDynamic 2019-09-09 15:42:47 -03:00
ReinUsesLisp
60a856d266 Relicense to The BSD 3-clause license 2019-07-14 18:50:44 -03:00
ReinUsesLisp
1e665afa36 operand: Implement operand hashing and use hashed set for declarations
Instead of manually searching each element in the declarations vector,
use an unordered_set to emplace new declarations avoiding repetition.
2019-06-08 05:23:15 -03:00
Lioncash
47d85b81a7 CMakeLists: Apply compilation flags to the sirit target
Previously this wasn't utilizing any of the compiler flags, meaning it
wasn't applying any of the specified warnings.

Since applying the warnings to the target, this uncovered a few warning
cases, such as shadowing class variables on MSVC, etc, which have been fixed.
2019-03-14 19:30:54 -03:00
Lioncash
6fd44e494c Pass std::string by value where applicable.
By taking the std::string by value in the constructor, this allows for
certain situations where copies can be elided entirely (when moving an
instance into the constructor)

e.g.

std::string var = ...

...

... = LiteralString(std::move(var)) // Or whatever other initialization
                                    // is done.

No copy will be done in this case, the move transfers it into the
constructor, and then the move within the initializer list transfers it
into the member variable.

tl;dr: This allows the calling code to potentially construct less
std::string instances by allowing moving into the parameters themselves.
2019-03-14 04:30:39 -03:00
Lioncash
59867b7907 sirit: Add missing reference argument specifier for OpLabel 2019-03-14 02:31:18 -04:00
ReinUsesLisp
1c06f8530e Remove Op prefix on Type instructions 2019-03-13 18:32:38 -03:00
ReinUsesLisp
3fa70013b8 Add missing instruction commentaries 2019-03-11 05:13:35 -03:00
ReinUsesLisp
4b1c1d1e38 Add ellipsis overloads for instructions ending in vectors 2019-03-11 04:38:09 -03:00
ReinUsesLisp
ee4ce61e62 Add name overload to OpLabel 2019-03-11 03:48:39 -03:00
ReinUsesLisp
73595f4588 Change clang-format settings 2019-03-11 03:26:21 -03:00
ReinUsesLisp
b23716087a Add OpExtension 2019-03-08 21:09:11 -03:00
ReinUsesLisp
2b0a59d890 Add OpSwitch 2019-01-05 23:58:43 -03:00
ReinUsesLisp
e7971b4451 Add OpExecutionMode 2018-12-04 21:30:32 -03:00
ReinUsesLisp
3641e1de45 Add OpKill 2018-12-02 22:57:55 -03:00
ReinUsesLisp
f5944d61a6 Upgrade from LGPLv2.1 to LGPLv3 2018-11-16 04:10:10 -03:00
ReinUsesLisp
174263d906
Merge pull request #5 from FernandoS27/image
Implemented Image Instructions
2018-11-13 20:06:13 -03:00
FernandoS27
0318449d65 Implemented Image Instructions 2018-11-13 19:04:43 -04:00
FernandoS27
a6c435dcb7 Implement main conversion instructions 2018-11-12 14:37:54 -04:00
FernandoS27
aa2eaab480 Implemented ALL the logical instructions 2018-11-11 21:14:59 -04:00
ReinUsesLisp
bdf538bd64
Merge pull request #3 from FernandoS27/bit
Implemented the rest of the bitwise operations
2018-11-11 21:06:01 -03:00
FernandoS27
26a40708d7 Implemented a bunch of glsl functions 2018-11-11 20:03:29 -04:00
FernandoS27
aa3d1adbbd Implemented the rest of the bitwise operations 2018-11-11 18:51:08 -04:00
FernandoS27
c2646f3b4c Added more arithmetic instructions 2018-11-10 23:15:02 -04:00
ReinUsesLisp
8f17ad84ba Annotations return target and add OpUMod 2018-11-06 04:50:10 -03:00
ReinUsesLisp
c502cfd4b2 Add OpFDiv 2018-11-04 03:19:02 -03:00
ReinUsesLisp
27a0b4f17e Add OpFNegate 2018-11-04 03:11:25 -03:00
ReinUsesLisp
6742afd6dd Add support for GLSLstd450 and OpFAbs 2018-11-04 03:03:06 -03:00
ReinUsesLisp
44043bca56 Add OpCompositeConstruct 2018-11-04 02:38:13 -03:00
ReinUsesLisp
5830eca337 Remove Op* prefix for constants 2018-11-03 21:32:37 -03:00
ReinUsesLisp
1cd11815db Add OpMemberName 2018-11-03 21:29:24 -03:00
ReinUsesLisp
ad963b6520 Add OpCompositeExtract 2018-11-03 20:41:03 -03:00
ReinUsesLisp
65ccda50c7 Debug fixups 2018-11-03 03:40:20 -03:00
ReinUsesLisp
96e8290eef Add OpString 2018-11-03 01:14:29 -03:00
ReinUsesLisp
d4c95981b5 Add OpIAdd and OpBitwiseAnd 2018-11-03 00:52:44 -03:00
ReinUsesLisp
15a4d3c0d4 Add OpArithmetic 2018-11-02 23:49:41 -03:00
ReinUsesLisp
c29314ad14 Add OpShift arithmetic and logical operations 2018-11-02 23:44:09 -03:00
ReinUsesLisp
9c7f96a809 Add OpLogicalNot and OpBitcast 2018-11-02 23:24:10 -03:00
ReinUsesLisp
4f66fb18e9 Add version select and OpLogicalNot 2018-11-02 13:38:33 -03:00
ReinUsesLisp
4043020f45 Add OpFunctionCall 2018-11-01 22:16:17 -03:00
ReinUsesLisp
798f8a5866 Add OpReturnValue 2018-11-01 22:16:17 -03:00
ReinUsesLisp
f3a63aa55f Use unique_ptr for instruction implementations 2018-11-01 00:02:45 -03:00
ReinUsesLisp
63ca1b5243 Rename Ref alias to Id 2018-10-31 22:20:49 -03:00
ReinUsesLisp
b8188f5ec4 Remove Op prefix for Name 2018-10-31 22:16:29 -03:00
ReinUsesLisp
a08aeec982 Add Op* prefix to instructions that have to be emited 2018-10-31 21:23:27 -03:00
ReinUsesLisp
80b0757ab6 Add OpStore 2018-10-31 05:05:06 -03:00
ReinUsesLisp
93c17d11f9 Add OpUndef 2018-10-31 04:26:35 -03:00
ReinUsesLisp
01c658b891 Add OpLoad 2018-10-31 04:16:26 -03:00
ReinUsesLisp
97825750a3 Add OpAccessChain 2018-10-31 03:37:36 -03:00
ReinUsesLisp
00fc8daf56 Use variant instead of creating an object for literals 2018-10-28 14:57:49 -03:00