Lioncash
f6f5913b5f
op: Use std::vector's insert member function within vector variant of Add()
...
While looping here does work fine, it's mildly inefficient, particularly
if the number of members being added is large, because it can result in
multiple allocations over the period of the insertion, depending on how
much extra memory push_back may allocate for successive elements.
Instead, we can just tell the std::vector that we want to slap the whole
contained sequence at the back of it with insert, which lets it allocate
the whole memory block in one attempt.
2019-03-14 04:31:14 -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
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
ReinUsesLisp
151d9e816d
Merge pull request #10 from lioncash/order
...
op: Amend constructor initializer list order
2019-03-14 03:48:05 -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
ReinUsesLisp
2035d25bef
Merge pull request #7 from lioncash/override
...
src: Amend missing override specifiers
2019-03-14 03:40:04 -03:00
ReinUsesLisp
a8ac2068a6
Merge pull request #8 from lioncash/ref
...
sirit: Add missing reference argument specifier for OpLabel
2019-03-14 03:39:30 -03:00
Lioncash
59867b7907
sirit: Add missing reference argument specifier for OpLabel
2019-03-14 02:31:18 -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
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
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
664569a3b8
Avoid CMake SPIR-V module dependencies
2018-11-16 03:59:28 -03:00
ReinUsesLisp
fe67a427ff
Fixup tests
2018-11-16 03:50:21 -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
ReinUsesLisp
7c15e838c6
Merge pull request #6 from FernandoS27/conversion
...
Implement main conversion instructions
2018-11-12 21:54:36 -03:00
FernandoS27
a6c435dcb7
Implement main conversion instructions
2018-11-12 14:37:54 -04:00
ReinUsesLisp
8747340c44
Merge pull request #4 from FernandoS27/logical
...
Implemented ALL the logical instructions
2018-11-11 22:20:37 -03: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
ReinUsesLisp
9a02f915a7
Merge pull request #2 from FernandoS27/glsl
...
Implemented a bunch of glsl functions
2018-11-11 21:05:14 -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
ReinUsesLisp
6790490271
Merge pull request #1 from FernandoS27/arith
...
Added more arithmetic instructions
2018-11-11 14:21:47 -03: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
587f1dc9f5
Update README.md
2018-11-05 03:44:29 -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