Commit graph

96 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
ReinUsesLisp d5c37d242a
Merge pull request #11 from lioncash/default
operand: Append default to the default constructor
2019-03-14 03:53:31 -03:00
Lioncash 260183a2c7 operand: Append default to the default constructor
Makes it consistent with the destructor.
2019-03-14 02:50:07 -04:00
ReinUsesLisp 3ec2231f9a
Merge pull request #9 from lioncash/unused
sirit: Remove unused variable in AddAnnotation()
2019-03-14 03:49:20 -03:00
Lioncash 984b731e17 op: Amend constructor initializer list order
Amends the order of the initializer list to be structured the same way
the members are ordered.

Silences a -Wreorder warning.
2019-03-14 02:45:57 -04:00
Lioncash 1081bcdda9 sirit: Remove unused variable in AddAnnotation()
id isn't used within AddAnnotation, so this can be removed.
2019-03-14 02:43:05 -04:00
Lioncash 11b7743c29 src: Amend missing override specifiers 2019-03-14 02:25:57 -04:00
ReinUsesLisp 057b100a68 Assert on empty Emit 2019-03-13 19:20:29 -03:00
ReinUsesLisp 1c06f8530e Remove Op prefix on Type instructions 2019-03-13 18:32:38 -03:00
ReinUsesLisp 4b1c1d1e38 Add ellipsis overloads for instructions ending in vectors 2019-03-11 04:38:09 -03:00
ReinUsesLisp ba92d8ea08 Update README.md and remove automatic capabilities addition 2019-03-11 03:41:44 -03:00
ReinUsesLisp 73595f4588 Change clang-format settings 2019-03-11 03:26:21 -03:00
ReinUsesLisp 38838c9a9d Sort macro defitions for image instructions 2019-03-11 03:19:59 -03:00
ReinUsesLisp 88191480a8 Remove undefined behaviour from literal number 2019-03-11 03:19:59 -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 93d42e62da Remove WriteEnum abstraction 2018-11-16 04:21:37 -03:00
ReinUsesLisp 9d787510d3 Fixup assert formatting 2018-11-16 04:21:01 -03:00
ReinUsesLisp f259019494 Rename "insts" directory to "instructions" 2018-11-16 04:15:48 -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
ReinUsesLisp 30dbb951dd Fixup empty GLSL extension creation 2018-11-13 19:30:54 -03: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 91e0769db5 Fixup build issues 2018-11-01 05:13:30 -03:00
ReinUsesLisp f3a63aa55f Use unique_ptr for instruction implementations 2018-11-01 00:02:45 -03:00