Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #2485 from ReinUsesLisp/generic-memory | bunnei | 2019-05-25 | 1 | -27/+55 |
|\ | | | | | shader/memory: Implement generic memory stores and loads (ST and LD) | ||||
| * | shader/memory: Implement ST (generic memory) | ReinUsesLisp | 2019-05-21 | 1 | -21/+35 |
| | | |||||
| * | shader/memory: Implement LD (generic memory) | ReinUsesLisp | 2019-05-21 | 1 | -7/+21 |
| | | |||||
* | | shader/decode/*: Add missing newline to files lacking them | Lioncash | 2019-05-23 | 18 | -18/+18 |
| | | | | | | | | Keeps the shader code file endings consistent. | ||||
* | | shader/decode/*: Eliminate indirect inclusions | Lioncash | 2019-05-23 | 6 | -1/+5 |
| | | | | | | | | | | | | | | 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. | ||||
* | | shader/decode/memory: Remove left in debug pragma | Lioncash | 2019-05-22 | 1 | -2/+0 |
|/ | |||||
* | Merge pull request #2441 from ReinUsesLisp/al2p | bunnei | 2019-05-19 | 2 | -10/+33 |
|\ | | | | | shader: Implement AL2P and ALD.PHYS | ||||
| * | shader_ir/other: Implement IPA.IDX | ReinUsesLisp | 2019-05-03 | 1 | -5/+8 |
| | | |||||
| * | shader_ir/memory: Assert on non-32 bits ALD.PHYS | ReinUsesLisp | 2019-05-03 | 1 | -0/+3 |
| | | |||||
| * | shader: Add physical attributes commentaries | ReinUsesLisp | 2019-05-03 | 1 | -1/+1 |
| | | |||||
| * | shader_ir/memory: Implement physical input attributes | ReinUsesLisp | 2019-05-03 | 1 | -3/+6 |
| | | |||||
| * | shader: Remove unused AbufNode Ipa mode | ReinUsesLisp | 2019-05-03 | 2 | -6/+3 |
| | | |||||
| * | shader_ir/memory: Emit AL2P IR | ReinUsesLisp | 2019-05-03 | 1 | -0/+17 |
| | | |||||
* | | video_core/shader/decode/texture: Remove unused variable from GetTld4Code() | Lioncash | 2019-05-10 | 1 | -1/+0 |
| | | |||||
* | | shader/decode/texture: Remove unused variable | Lioncash | 2019-05-04 | 1 | -1/+0 |
|/ | | | | This isn't used anywhere, so we can get rid of it. | ||||
* | Merge pull request #2435 from ReinUsesLisp/misc-vc | bunnei | 2019-04-29 | 1 | -1/+1 |
|\ | | | | | shader_ir: Miscellaneous fixes | ||||
| * | shader_ir/texture: Fix sampler const buffer key shift | ReinUsesLisp | 2019-04-26 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #2322 from ReinUsesLisp/wswitch | bunnei | 2019-04-29 | 2 | -5/+7 |
|\ \ | | | | | | | video_core: Silent -Wswitch warnings | ||||
| * | | video_core: Silent -Wswitch warnings | ReinUsesLisp | 2019-04-18 | 2 | -5/+7 |
| | | | |||||
* | | | Merge pull request #2423 from FernandoS27/half-correct | bunnei | 2019-04-29 | 2 | -15/+16 |
|\ \ \ | |_|/ |/| | | Corrections on Half Float operations: HADD2 HMUL2 and HFMA2 | ||||
| * | | Corrections Half Float operations on const buffers and implement saturation. | Fernando Sahmkow | 2019-04-21 | 2 | -15/+16 |
| | | | |||||
* | | | Merge pull request #2407 from FernandoS27/f2f | bunnei | 2019-04-20 | 1 | -16/+53 |
|\ \ \ | |/ / |/| | | Do some corrections in conversion shader instructions. | ||||
| * | | Do some corrections in conversion shader instructions. | Fernando Sahmkow | 2019-04-16 | 1 | -16/+53 |
| |/ | | | | | | | | | | | Corrects encodings for I2F, F2F, I2I and F2I Implements Immediate variants of all four conversion types. Add assertions to unimplemented stuffs. | ||||
* | | Merge pull request #2409 from ReinUsesLisp/half-floats | bunnei | 2019-04-20 | 5 | -36/+32 |
|\ \ | | | | | | | shader_ir/decode: Miscellaneous fixes to half-float decompilation | ||||
| * | | shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmetic | ReinUsesLisp | 2019-04-16 | 5 | -29/+21 |
| | | | | | | | | | | | | | | | | | | | | | 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. | ||||
| * | | shader_ir/decode: Implement half float saturation | ReinUsesLisp | 2019-04-16 | 1 | -4/+2 |
| | | | |||||
| * | | shader_ir/decode: Reduce severity of unimplemented half-float FTZ | ReinUsesLisp | 2019-04-16 | 3 | -3/+9 |
| |/ | |||||
* | | Merge pull request #2348 from FernandoS27/guest-bindless | bunnei | 2019-04-18 | 1 | -19/+94 |
|\ \ | | | | | | | Implement Bindless Textures on Shader Decompiler and GL backend | ||||
| * | | Adapt Bindless to work with AOFFI | Fernando Sahmkow | 2019-04-08 | 1 | -7/+18 |
| | | | |||||
| * | | Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format. | Fernando Sahmkow | 2019-04-08 | 1 | -1/+2 |
| | | | |||||
| * | | Fix TMML | Fernando Sahmkow | 2019-04-08 | 1 | -5/+7 |
| | | | |||||
| * | | Refactor GetTextureCode and GetTexCode to use an optional instead of optional parameters | Fernando Sahmkow | 2019-04-08 | 1 | -23/+24 |
| | | | |||||
| * | | Implement TXQ_B | Fernando Sahmkow | 2019-04-08 | 1 | -2/+8 |
| | | | |||||
| * | | Implement TMML_B | Fernando Sahmkow | 2019-04-08 | 1 | -5/+10 |
| | | | |||||
| * | | Corrections to TEX_B | Fernando Sahmkow | 2019-04-08 | 1 | -4/+5 |
| | | | |||||
| * | | Unify both sampler types. | Fernando Sahmkow | 2019-04-08 | 1 | -10/+12 |
| | | | |||||
| * | | Implement Bindless Samplers and TEX_B in the IR. | Fernando Sahmkow | 2019-04-08 | 1 | -6/+52 |
| | | | |||||
* | | | Merge pull request #2315 from ReinUsesLisp/severity-decompiler | bunnei | 2019-04-17 | 1 | -4/+5 |
|\ \ \ | | | | | | | | | shader_ir/decode: Reduce the severity of common assertions | ||||
| * | | | shader_ir/memory: Reduce severity of LD_L cache management and log it | ReinUsesLisp | 2019-04-03 | 1 | -2/+2 |
| | | | | |||||
| * | | | shader_ir/memory: Reduce severity of ST_L cache management and log it | ReinUsesLisp | 2019-04-03 | 1 | -2/+3 |
| | | | | |||||
* | | | | shader_ir: Implement STG, keep track of global memory usage and flush | ReinUsesLisp | 2019-04-14 | 1 | -35/+74 |
| |_|/ |/| | | |||||
* | | | Correct XMAD mode, psl and high_b on different encodings. | Fernando Sahmkow | 2019-04-08 | 1 | -9/+30 |
| |/ |/| | |||||
* | | shader_ir/decode: Silent implicit sign conversion warning | Mat M | 2019-03-31 | 1 | -2/+2 |
| | | | | | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc> | ||||
* | | shader_ir/decode: Implement AOFFI for TEX and TLD4 | ReinUsesLisp | 2019-03-30 | 1 | -24/+88 |
|/ | |||||
* | shader/decode: Remove extras from MetaTexture | ReinUsesLisp | 2019-02-26 | 1 | -14/+23 |
| | |||||
* | shader/decode: Split memory and texture instructions decoding | ReinUsesLisp | 2019-02-26 | 2 | -493/+525 |
| | |||||
* | Merge pull request #2118 from FernandoS27/ipa-improve | bunnei | 2019-02-25 | 2 | -3/+14 |
|\ | | | | | shader_decompiler: Improve Accuracy of Attribute Interpolation. | ||||
| * | shader_decompiler: Improve Accuracy of Attribute Interpolation. | Fernando Sahmkow | 2019-02-14 | 2 | -3/+14 |
| | | |||||
* | | gl_shader_decompiler: Re-implement TLDS lod | ReinUsesLisp | 2019-02-12 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #2108 from FernandoS27/fix-cc | bunnei | 2019-02-12 | 1 | -2/+2 |
|\ | | | | | Fix incorrect value for CC bit in IADD | ||||
| * | Fix incorrect value for CC bit in IADD | Fernando Sahmkow | 2019-02-11 | 1 | -2/+2 |
| | | |||||
* | | Merge pull request #2109 from FernandoS27/fix-f2i | bunnei | 2019-02-12 | 1 | -3/+3 |
|\ \ | | | | | | | Corrected F2I None mode to RoundEven. | ||||
| * | | Corrected F2I None mode to RoundEven. | Fernando Sahmkow | 2019-02-11 | 1 | -3/+3 |
| |/ | |||||
* | | shader_ir: Remove F4 prefix to texture operations | ReinUsesLisp | 2019-02-07 | 1 | -8/+7 |
| | | | | | | | | | | | | This was originally included because texture operations returned a vec4. These operations now return a single float and the F4 prefix doesn't mean anything. | ||||
* | | shader_ir: Clean texture management code | ReinUsesLisp | 2019-02-07 | 1 | -96/+58 |
|/ | | | | | | | | | Previous code relied on GLSL parameter order (something that's always ill-formed on an IR design). This approach passes spatial coordiantes through operation nodes and array and depth compare values in the the texture metadata. It still contains an "extra" vector containing generic nodes for bias and component index (for example) which is still a bit ill-formed but it should be better than the previous approach. | ||||
* | Merge pull request #2083 from ReinUsesLisp/shader-ir-cbuf-tracking | bunnei | 2019-02-07 | 25 | -34/+34 |
|\ | | | | | shader/track: Add a more permissive global memory tracking | ||||
| * | shader_ir: Rename BasicBlock to NodeBlock | ReinUsesLisp | 2019-02-03 | 25 | -33/+32 |
| | | | | | | | | It's not always used as a basic block. Rename it for consistency. | ||||
| * | shader_ir: Pass decoded nodes as a whole instead of per basic blocks | ReinUsesLisp | 2019-02-03 | 25 | -26/+27 |
| | | | | | | | | | | | | | | | | | | Some games call LDG at the top of a basic block, making the tracking heuristic to fail. This commit lets the heuristic the decoded nodes as a whole instead of per basic blocks. This may lead to some false positives but allows it the heuristic to track cases it previously couldn't. | ||||
* | | Merge pull request #2081 from ReinUsesLisp/lmem-64 | bunnei | 2019-02-05 | 1 | -12/+43 |
|\ \ | | | | | | | shader_ir/memory: Add LD_L 64 bits loads | ||||
| * | | shader_ir/memory: Add ST_L 64 and 128 bits stores | ReinUsesLisp | 2019-02-03 | 1 | -3/+11 |
| | | | |||||
| * | | shader_ir/memory: Add LD_L 128 bits loads | ReinUsesLisp | 2019-02-03 | 1 | -7/+19 |
| | | | |||||
| * | | shader_bytecode: Rename BytesN enums to BitsN | ReinUsesLisp | 2019-02-03 | 1 | -4/+4 |
| | | | |||||
| * | | shader_ir/memory: Add LD_L 64 bits loads | ReinUsesLisp | 2019-02-03 | 1 | -6/+17 |
| |/ | |||||
* | | Merge pull request #2082 from FernandoS27/txq-stl | bunnei | 2019-02-05 | 1 | -6/+9 |
|\ \ | |/ |/| | Fix TXQ not using the component mask. | ||||
| * | Fix TXQ not using the component mask. | Fernando Sahmkow | 2019-02-03 | 1 | -6/+9 |
| | | |||||
* | | shader_ir: Unify constant buffer offset values | ReinUsesLisp | 2019-01-30 | 13 | -21/+23 |
|/ | | | | | | | Constant buffer values on the shader IR were using different offsets if the access direct or indirect. cbuf34 has a non-multiplied offset while cbuf36 does. On shader decoding this commit multiplies it by four on cbuf34 queries. | ||||
* | shader_decode: Implement LDG and basic cbuf tracking | ReinUsesLisp | 2019-01-30 | 1 | -0/+49 |
| | |||||
* | shader_ir: Fixup clang build | ReinUsesLisp | 2019-01-16 | 1 | -4/+6 |
| | |||||
* | shader_decode: Fixup XMAD | ReinUsesLisp | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | shader_ir: Pass to decoder functions basic block's code | ReinUsesLisp | 2019-01-15 | 25 | -25/+25 |
| | |||||
* | shader_decode: Improve zero flag implementation | ReinUsesLisp | 2019-01-15 | 13 | -73/+53 |
| | |||||
* | shader_ir: Remove composite primitives and use temporals instead | ReinUsesLisp | 2019-01-15 | 1 | -145/+149 |
| | |||||
* | shader_decode: Use proper primitive names | ReinUsesLisp | 2019-01-15 | 2 | -8/+8 |
| | |||||
* | shader_decode: Use BitfieldExtract instead of shift + and | ReinUsesLisp | 2019-01-15 | 5 | -46/+18 |
| | |||||
* | shader_ir: Remove Ipa primitive | ReinUsesLisp | 2019-01-15 | 1 | -3/+2 |
| | |||||
* | shader_ir: Remove RZ and use Register::ZeroIndex instead | ReinUsesLisp | 2019-01-15 | 1 | -6/+11 |
| | |||||
* | shader_decode: Implement TEXS.F16 | ReinUsesLisp | 2019-01-15 | 1 | -13/+25 |
| | |||||
* | shader_decode: Fixup R2P | ReinUsesLisp | 2019-01-15 | 1 | -2/+3 |
| | |||||
* | shader_decode: Fixup WriteLogicOperation zero comparison | ReinUsesLisp | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | shader_decode: Fixup PSET | ReinUsesLisp | 2019-01-15 | 1 | -2/+3 |
| | |||||
* | shader_decode: Fixup clang-format | ReinUsesLisp | 2019-01-15 | 2 | -2/+4 |
| | |||||
* | video_core: Implement IR based geometry shaders | ReinUsesLisp | 2019-01-15 | 1 | -0/+25 |
| | |||||
* | shader_decode: Implement VMAD and VSETP | ReinUsesLisp | 2019-01-15 | 1 | -0/+120 |
| | |||||
* | shader_decode: Implement HSET2 | ReinUsesLisp | 2019-01-15 | 1 | -1/+43 |
| | |||||
* | shader_decode: Rework HSETP2 | ReinUsesLisp | 2019-01-15 | 1 | -3/+5 |
| | |||||
* | shader_decode: Implement R2P | ReinUsesLisp | 2019-01-15 | 1 | -1/+28 |
| | |||||
* | shader_decode: Implement CSETP | ReinUsesLisp | 2019-01-15 | 1 | -14/+37 |
| | |||||
* | shader_decode: Implement PSET | ReinUsesLisp | 2019-01-15 | 1 | -1/+16 |
| | |||||
* | shader_decode: Implement HFMA2 | ReinUsesLisp | 2019-01-15 | 1 | -1/+53 |
| | |||||
* | shader_decode: Implement POPC | ReinUsesLisp | 2019-01-15 | 1 | -0/+10 |
| | |||||
* | shader_decode: Implement TLDS (untested) | ReinUsesLisp | 2019-01-15 | 1 | -8/+61 |
| | |||||
* | shader_decode: Update TLD4 reflecting #1862 changes | ReinUsesLisp | 2019-01-15 | 1 | -52/+49 |
| | |||||
* | shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling | ReinUsesLisp | 2019-01-15 | 1 | -50/+49 |
| | |||||
* | shader_decode: Fixup FSET | ReinUsesLisp | 2019-01-15 | 1 | -2/+2 |
| | |||||
* | shader_decode: Implement IADD32I | ReinUsesLisp | 2019-01-15 | 1 | -0/+11 |
| | |||||
* | video_core: Return safe values after an assert hits | ReinUsesLisp | 2019-01-15 | 6 | -8/+12 |
| | |||||
* | shader_decode: Implement FFMA | ReinUsesLisp | 2019-01-15 | 1 | -1/+36 |
| | |||||
* | shader_ir: Fixup file inclusions and clang-format | ReinUsesLisp | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | shader_decode: Fixup clang-format | ReinUsesLisp | 2019-01-15 | 2 | -3/+2 |
| | |||||
* | shader_decode: Implement LEA | ReinUsesLisp | 2019-01-15 | 1 | -0/+55 |
| | |||||
* | shader_decode: Implement IADD3 | ReinUsesLisp | 2019-01-15 | 1 | -0/+61 |
| | |||||
* | shader_decode: Implement LOP3 | ReinUsesLisp | 2019-01-15 | 1 | -0/+60 |
| | |||||
* | shader_decode: Implement ST_L | ReinUsesLisp | 2019-01-15 | 1 | -0/+17 |
| | |||||
* | shader_decode: Implement LD_L | ReinUsesLisp | 2019-01-15 | 1 | -0/+18 |
| | |||||
* | shader_decode: Implement HSETP2 | ReinUsesLisp | 2019-01-15 | 1 | -1/+37 |
| | |||||
* | shader_decode: Implement HADD2 and HMUL2 | ReinUsesLisp | 2019-01-15 | 1 | -1/+48 |
| | |||||
* | shader_decode: Implement HADD2_IMM and HMUL2_IMM | ReinUsesLisp | 2019-01-15 | 1 | -1/+28 |
| | |||||
* | shader_decode: Implement MOV_SYS | ReinUsesLisp | 2019-01-15 | 1 | -0/+27 |
| | |||||
* | shader_decode: Implement IMNMX | ReinUsesLisp | 2019-01-15 | 1 | -0/+16 |
| | |||||
* | shader_decode: Implement F2F_C | ReinUsesLisp | 2019-01-15 | 1 | -2/+10 |
| | |||||
* | shader_decode: Implement I2I | ReinUsesLisp | 2019-01-15 | 1 | -0/+26 |
| | |||||
* | shader_decode: Implement BRA internal flag | ReinUsesLisp | 2019-01-15 | 1 | -4/+8 |
| | |||||
* | shader_decode: Implement ISCADD | ReinUsesLisp | 2019-01-15 | 1 | -0/+15 |
| | |||||
* | shader_decode: Implement XMAD | ReinUsesLisp | 2019-01-15 | 1 | -1/+85 |
| | |||||
* | shader_decode: Implement PBK and BRK | ReinUsesLisp | 2019-01-15 | 1 | -1/+22 |
| | |||||
* | shader_decode: Implement LOP | ReinUsesLisp | 2019-01-15 | 1 | -0/+15 |
| | |||||
* | shader_decode: Implement SEL | ReinUsesLisp | 2019-01-15 | 1 | -0/+8 |
| | |||||
* | shader_decode: Implement IADD | ReinUsesLisp | 2019-01-15 | 1 | -1/+28 |
| | |||||
* | shader_decode: Implement ISETP | ReinUsesLisp | 2019-01-15 | 1 | -1/+30 |
| | |||||
* | shader_decode: Implement BFI | ReinUsesLisp | 2019-01-15 | 1 | -1/+22 |
| | |||||
* | shader_decode: Implement ISET | ReinUsesLisp | 2019-01-15 | 1 | -1/+27 |
| | |||||
* | shader_decode: Implement LD_C | ReinUsesLisp | 2019-01-15 | 1 | -0/+31 |
| | |||||
* | shader_decode: Implement SHL | ReinUsesLisp | 2019-01-15 | 1 | -0/+8 |
| | |||||
* | shader_decode: Implement SHR | ReinUsesLisp | 2019-01-15 | 1 | -1/+26 |
| | |||||
* | shader_decode: Implement LOP32I | ReinUsesLisp | 2019-01-15 | 1 | -1/+67 |
| | |||||
* | shader_decode: Implement BFE | ReinUsesLisp | 2019-01-15 | 1 | -1/+25 |
| | |||||
* | shader_decode: Implement FSET | ReinUsesLisp | 2019-01-15 | 1 | -1/+36 |
| | |||||
* | shader_decode: Implement F2I | ReinUsesLisp | 2019-01-15 | 1 | -0/+37 |
| | |||||
* | shader_decode: Implement I2F | ReinUsesLisp | 2019-01-15 | 1 | -0/+23 |
| | |||||
* | shader_decode: Implement F2F | ReinUsesLisp | 2019-01-15 | 1 | -1/+37 |
| | |||||
* | shader_decode: Stub DEPBAR | ReinUsesLisp | 2019-01-15 | 1 | -0/+4 |
| | |||||
* | shader_decode: Implement SSY and SYNC | ReinUsesLisp | 2019-01-15 | 1 | -0/+19 |
| | |||||
* | shader_decode: Implement PSETP | ReinUsesLisp | 2019-01-15 | 1 | -1/+21 |
| | |||||
* | shader_decode: Implement TMML | ReinUsesLisp | 2019-01-15 | 1 | -3/+45 |
| | |||||
* | shader_decode: Implement TEX and TXQ | ReinUsesLisp | 2019-01-15 | 1 | -0/+219 |
| | |||||
* | shader_decode: Implement TEXS (F32) | ReinUsesLisp | 2019-01-15 | 1 | -0/+199 |
| | |||||
* | shader_decode: Implement FSETP | ReinUsesLisp | 2019-01-15 | 1 | -1/+33 |
| | |||||
* | shader_decode: Partially implement BRA | ReinUsesLisp | 2019-01-15 | 1 | -0/+12 |
| | |||||
* | shader_decode: Implement IPA | ReinUsesLisp | 2019-01-15 | 1 | -0/+12 |
| | |||||
* | shader_decode: Implement EXIT | ReinUsesLisp | 2019-01-15 | 1 | -1/+32 |
| | |||||
* | shader_decode: Implement ST_A | ReinUsesLisp | 2019-01-15 | 1 | -0/+30 |
| | |||||
* | shader_decode: Implement LD_A | ReinUsesLisp | 2019-01-15 | 1 | -1/+39 |
| | |||||
* | shader_decode: Implement FADD32I | ReinUsesLisp | 2019-01-15 | 1 | -0/+12 |
| | |||||
* | shader_decode: Implement FMUL32_IMM | ReinUsesLisp | 2019-01-15 | 1 | -0/+10 |
| | |||||
* | shader_decode: Implement MOV32_IMM | ReinUsesLisp | 2019-01-15 | 1 | -1/+9 |
| | |||||
* | shader_decode: Stub RRO_C, RRO_R and RRO_IMM | ReinUsesLisp | 2019-01-15 | 1 | -0/+9 |
| | |||||
* | shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMM | ReinUsesLisp | 2019-01-15 | 1 | -0/+18 |
| | |||||
* | shader_decode: Implement MUFU | ReinUsesLisp | 2019-01-15 | 1 | -0/+29 |
| | |||||
* | shader_decode: Implement FADD_C, FADD_R and FADD_IMM | ReinUsesLisp | 2019-01-15 | 1 | -0/+15 |
| | |||||
* | shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMM | ReinUsesLisp | 2019-01-15 | 1 | -0/+42 |
| | |||||
* | shader_decode: Implement MOV_C and MOV_R | ReinUsesLisp | 2019-01-15 | 1 | -1/+23 |
| | |||||
* | shader_ir: Initial implementation | ReinUsesLisp | 2019-01-15 | 25 | -0/+576 |