- Jul 09, 2019
-
-
Fernando Sahmkow authored
-
- Jul 07, 2019
-
-
Tobias authored
-
- Jun 24, 2019
-
-
ReinUsesLisp authored
-
- Jun 21, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Jun 07, 2019
-
-
ReinUsesLisp authored
Hardware testing revealed that SSY and PBK push to a different stack, allowing code like this: SSY label1; PBK label2; SYNC; label1: PBK; label2: EXIT;
-
- Jun 06, 2019
-
-
ReinUsesLisp authored
Reflect std::shared_ptr nature of Node on initializers and remove constant members in nodes. Add some commentaries.
-
ReinUsesLisp authored
Analysis passes do not have a good reason to depend on shader_ir.h to work on top of nodes. This splits node-related declarations to their own file and leaves the IR in shader_ir.h
-
- Jun 05, 2019
-
-
ReinUsesLisp authored
Instead of having a vector of unique_ptr stored in a vector and returning star pointers to this, use shared_ptr. While changing initialization code, move it to a separate file when possible. This is a first step to allow code analysis and node generation beyond the ShaderIR class.
-
- May 23, 2019
-
-
Lioncash authored
This allows for forming comment nodes without making unnecessary copies of the std::string instance. e.g. previously: Comment(fmt::format("Base address is c[0x{:x}][0x{:x}]", cbuf->GetIndex(), cbuf_offset)); Would result in a copy of the string being created, as CommentNode() takes a std::string by value (a const ref passed to a value parameter results in a copy). Now, only one instance of the string is ever moved around. (fmt::format returns a std::string, and since it's returned from a function by value, this is a prvalue (which can be treated like an rvalue), so it's moved into Comment's string parameter), we then move it into the CommentNode constructor, which then moves the string into its member variable).
-
Lioncash authored
Keeps the shader code file endings consistent.
-
Lioncash authored
Amends cases where we were using things that were indirectly being satisfied through other headers. This way, if those headers change and eliminate dependencies on other headers in the future, we don't have cascading compilation errors.
-
- May 22, 2019
-
-
Lioncash authored
-
- May 21, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- May 20, 2019
-
-
ReinUsesLisp authored
-
- May 19, 2019
-
-
Lioncash authored
constexpr internally links by default, so the inline specifier is unnecessary.
-
Lioncash authored
Many of these constructors don't even need to be templated. The only ones that need to be templated are the ones that actually make use of the parameter pack. Even then, since std::vector accepts an initializer list, we can supply the parameter pack directly to it instead of creating our own copy of the list, then copying it again into the std::vector.
-
Lioncash authored
shader/shader_ir: Remove unnecessary template parameter packs from Operation() overloads where applicable These overloads don't actually make use of the parameter pack, so they can be turned into regular non-template function overloads.
-
Lioncash authored
These don't actually modify instance state, so they can be marked as const member functions
-
Lioncash authored
Given the class contains quite a lot of non-trivial types, place the constructor and destructor within the cpp file to avoid inlining construction and destruction code everywhere the class is used.
-
- May 09, 2019
-
-
Lioncash authored
-
- May 04, 2019
-
-
Lioncash authored
This isn't used anywhere, so we can get rid of it.
-
- May 03, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Apr 26, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Apr 21, 2019
-
-
Fernando Sahmkow authored
-
- Apr 18, 2019
-
-
ReinUsesLisp authored
-
- Apr 16, 2019
-
-
ReinUsesLisp authored
Operations done before the main half float operation (like HAdd) were managing a packed value instead of the unpacked one. Adding an unpacked operation allows us to drop the per-operand MetaHalfArithmetic entry, simplifying the code overall.
-
ReinUsesLisp authored
-