Commit graph

75 commits

Author SHA1 Message Date
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
ReinUsesLisp
8f8115d397 Add OpMemberDecorate 2018-10-28 05:38:10 -03:00
ReinUsesLisp
4ff603bbd6 Remove optimization entry 2018-10-27 04:30:20 -03:00
ReinUsesLisp
1458bd2c1c Add OpDecorate 2018-10-23 04:45:56 -03:00
ReinUsesLisp
54cc7d06ce Add global variables 2018-10-20 02:52:55 -03:00