| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-19 | shader/half_set_predicate: Fix HSETP2 implementation | ReinUsesLisp | |
| 2019-07-19 | shader/half_set_predicate: Implement missing HSETP2 variants | ReinUsesLisp | |
| 2019-07-18 | Merge pull request #2738 from lioncash/shader-ir | bunnei | |
| shader-ir: Minor cleanup-related changes | |||
| 2019-07-17 | Merge pull request #2740 from lioncash/bra | Fernando Sahmkow | |
| shader/decode/other: Correct branch indirect argument within BRA handling | |||
| 2019-07-16 | shader_ir: std::move Node instance where applicable | Lioncash | |
| These are std::shared_ptr instances underneath the hood, which means copying them isn't as cheap as a regular pointer. Particularly so on weakly-ordered systems. This avoids atomic reference count increments and decrements where they aren't necessary for the core set of operations. | |||
| 2019-07-16 | shader_ir: Rename Get/SetTemporal to Get/SetTemporary | Lioncash | |
| This is more accurate in terms of describing what the functions are actually doing. Temporal relates to time, not the setting of a temporary itself. | |||
| 2019-07-16 | shader_ir: Remove unused includes | Lioncash | |
| Removes unnecessary header dependencies. | |||
| 2019-07-16 | Merge pull request #2565 from ReinUsesLisp/track-indirect | Fernando Sahmkow | |
| shader/track: Track indirect buffers | |||
| 2019-07-16 | shader/decode/other: Correct branch indirect argument within BRA handling | Lioncash | |
| This appears to have been a copy/paste error introduced within 8a6fc529a968e007f01464abadd32f9b5eb0a26c | |||
| 2019-07-15 | Merge pull request #2695 from ReinUsesLisp/layer-viewport | Fernando Sahmkow | |
| gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders | |||
| 2019-07-14 | shader: Allow tracking of indirect buffers without variable offset | ReinUsesLisp | |
| While changing this code, simplify tracking code to allow returning the base address node, this way callers don't have to manually rebuild it on each invocation. | |||
| 2019-07-14 | Merge pull request #2692 from ReinUsesLisp/tlds-f16 | Fernando Sahmkow | |
| shader/texture: Add F16 support for TLDS | |||
| 2019-07-09 | shader_ir: Add comments on missing instruction. | Fernando Sahmkow | |
| Also shows Nvidia's address space on comments. | |||
| 2019-07-09 | shader_ir: limit explorastion to best known program size. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Correct block breaking algorithm. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Assert shaders bigger than limit. | Fernando Sahmkow | |
| 2019-07-09 | control_flow: Address feedback. | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Correct parsing of scheduling instructions and correct sizing | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Correct max sizing | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Remove unnecessary constructors and use optional for ScanFlow result | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Corrections, documenting and asserting control_flow | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Unify blocks in decompiled shaders. | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Decompile Flow Stack | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: propagate shader size to the IR | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Implement BRX & BRA.CC | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Remove the old scanner. | Fernando Sahmkow | |
| 2019-07-09 | shader_ir: Implement a new shader scanner | Fernando Sahmkow | |
| 2019-07-07 | gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders | ReinUsesLisp | |
| This commit implements gl_ViewportIndex and gl_Layer in vertex and geometry shaders. In the case it's used in a vertex shader, it requires ARB_shader_viewport_layer_array. This extension is available on AMD and Nvidia devices (mesa and proprietary drivers), but not available on Intel on any platform. At the moment of writing this description I don't know if this is a hardware limitation or a driver limitation. In the case that ARB_shader_viewport_layer_array is not available, writes to these registers on a vertex shader are ignored, with the appropriate logging. | |||
| 2019-07-07 | Delete decode_integer_set.cpp | Tobias | |
| 2019-07-07 | shader/texture: Add F16 support for TLDS | ReinUsesLisp | |
| 2019-06-24 | decode/texture: Address feedback | ReinUsesLisp | |
| 2019-06-20 | texture_cache: Style and Corrections | Fernando Sahmkow | |
| 2019-06-20 | shader_ir: Fix image copy rebase issues | Fernando Sahmkow | |
| 2019-06-20 | shader: Implement bindless images | ReinUsesLisp | |
| 2019-06-20 | shader: Decode SUST and implement backing image functionality | ReinUsesLisp | |
| 2019-06-20 | shader: Implement texture buffers | ReinUsesLisp | |
| 2019-06-07 | shader: Split SSY and PBK stack | ReinUsesLisp | |
| 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; | |||
| 2019-06-06 | shader/node: Minor changes | ReinUsesLisp | |
| Reflect std::shared_ptr nature of Node on initializers and remove constant members in nodes. Add some commentaries. | |||
| 2019-06-06 | shader: Move Node declarations out of the shader IR header | ReinUsesLisp | |
| 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 | |||
| 2019-06-05 | shader: Use shared_ptr to store nodes and move initialization to file | ReinUsesLisp | |
| 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. | |||
| 2019-05-29 | Merge pull request #2446 from ReinUsesLisp/tid | bunnei | |
| shader: Implement S2R Tid{XYZ} and CtaId{XYZ} | |||
| 2019-05-24 | Merge pull request #2485 from ReinUsesLisp/generic-memory | bunnei | |
| shader/memory: Implement generic memory stores and loads (ST and LD) | |||
| 2019-05-23 | shader/shader_ir: Make Comment() take a std::string by value | Lioncash | |
| 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). | |||
| 2019-05-23 | shader/decode/*: Add missing newline to files lacking them | Lioncash | |
| Keeps the shader code file endings consistent. | |||
| 2019-05-23 | shader/decode/*: Eliminate indirect inclusions | Lioncash | |
| 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. | |||
| 2019-05-22 | shader/decode/memory: Remove left in debug pragma | Lioncash | |
| 2019-05-20 | shader/memory: Implement ST (generic memory) | ReinUsesLisp | |
| 2019-05-20 | shader/memory: Implement LD (generic memory) | ReinUsesLisp | |
| 2019-05-20 | shader: Implement S2R Tid{XYZ} and CtaId{XYZ} | ReinUsesLisp | |
| 2019-05-19 | Merge pull request #2441 from ReinUsesLisp/al2p | bunnei | |
| shader: Implement AL2P and ALD.PHYS | |||
