summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-04-08Correct XMAD mode, psl and high_b on different encodings.Fernando Sahmkow1-9/+30
2019-03-31shader_ir/decode: Silent implicit sign conversion warningMat M1-2/+2
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-03-30shader_ir/decode: Implement AOFFI for TEX and TLD4ReinUsesLisp1-24/+88
2019-02-26shader/decode: Remove extras from MetaTextureReinUsesLisp1-14/+23
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp2-493/+525
2019-02-14shader_decompiler: Improve Accuracy of Attribute Interpolation.Fernando Sahmkow2-3/+14
2019-02-12gl_shader_decompiler: Re-implement TLDS lodReinUsesLisp1-1/+1
2019-02-11Corrected F2I None mode to RoundEven.Fernando Sahmkow1-3/+3
2019-02-11Fix incorrect value for CC bit in IADDFernando Sahmkow1-2/+2
2019-02-07shader_ir: Remove F4 prefix to texture operationsReinUsesLisp1-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.
2019-02-07shader_ir: Clean texture management codeReinUsesLisp1-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.
2019-02-03Fix TXQ not using the component mask.Fernando Sahmkow1-6/+9
2019-02-03shader_ir/memory: Add ST_L 64 and 128 bits storesReinUsesLisp1-3/+11
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp25-33/+32
It's not always used as a basic block. Rename it for consistency.
2019-02-03shader_ir: Pass decoded nodes as a whole instead of per basic blocksReinUsesLisp25-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.
2019-02-03shader_ir/memory: Add LD_L 128 bits loadsReinUsesLisp1-7/+19
2019-02-03shader_bytecode: Rename BytesN enums to BitsNReinUsesLisp1-4/+4
2019-02-03shader_ir/memory: Add LD_L 64 bits loadsReinUsesLisp1-6/+17
2019-01-30shader_ir: Unify constant buffer offset valuesReinUsesLisp13-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.
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp1-0/+49
2019-01-16shader_ir: Fixup clang buildReinUsesLisp1-4/+6
2019-01-15shader_decode: Fixup XMADReinUsesLisp1-1/+1
2019-01-15shader_ir: Pass to decoder functions basic block's codeReinUsesLisp25-25/+25
2019-01-15shader_decode: Improve zero flag implementationReinUsesLisp13-73/+53
2019-01-15shader_ir: Remove composite primitives and use temporals insteadReinUsesLisp1-145/+149
2019-01-15shader_decode: Use proper primitive namesReinUsesLisp2-8/+8
2019-01-15shader_decode: Use BitfieldExtract instead of shift + andReinUsesLisp5-46/+18
2019-01-15shader_ir: Remove Ipa primitiveReinUsesLisp1-3/+2
2019-01-15shader_ir: Remove RZ and use Register::ZeroIndex insteadReinUsesLisp1-6/+11
2019-01-15shader_decode: Implement TEXS.F16ReinUsesLisp1-13/+25
2019-01-15shader_decode: Fixup R2PReinUsesLisp1-2/+3
2019-01-15shader_decode: Fixup WriteLogicOperation zero comparisonReinUsesLisp1-1/+1
2019-01-15shader_decode: Fixup PSETReinUsesLisp1-2/+3
2019-01-15shader_decode: Fixup clang-formatReinUsesLisp2-2/+4
2019-01-15video_core: Implement IR based geometry shadersReinUsesLisp1-0/+25
2019-01-15shader_decode: Implement VMAD and VSETPReinUsesLisp1-0/+120
2019-01-15shader_decode: Implement HSET2ReinUsesLisp1-1/+43
2019-01-15shader_decode: Rework HSETP2ReinUsesLisp1-3/+5
2019-01-15shader_decode: Implement R2PReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement CSETPReinUsesLisp1-14/+37
2019-01-15shader_decode: Implement PSETReinUsesLisp1-1/+16
2019-01-15shader_decode: Implement HFMA2ReinUsesLisp1-1/+53
2019-01-15shader_decode: Implement POPCReinUsesLisp1-0/+10
2019-01-15shader_decode: Implement TLDS (untested)ReinUsesLisp1-8/+61
2019-01-15shader_decode: Update TLD4 reflecting #1862 changesReinUsesLisp1-52/+49
2019-01-15shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompilingReinUsesLisp1-50/+49
2019-01-15shader_decode: Fixup FSETReinUsesLisp1-2/+2
2019-01-15shader_decode: Implement IADD32IReinUsesLisp1-0/+11
2019-01-15video_core: Return safe values after an assert hitsReinUsesLisp6-8/+12
2019-01-15shader_decode: Implement FFMAReinUsesLisp1-1/+36
2019-01-15shader_ir: Fixup file inclusions and clang-formatReinUsesLisp1-1/+1
2019-01-15shader_decode: Fixup clang-formatReinUsesLisp2-3/+2
2019-01-15shader_decode: Implement LEAReinUsesLisp1-0/+55
2019-01-15shader_decode: Implement IADD3ReinUsesLisp1-0/+61
2019-01-15shader_decode: Implement LOP3ReinUsesLisp1-0/+60
2019-01-15shader_decode: Implement ST_LReinUsesLisp1-0/+17
2019-01-15shader_decode: Implement LD_LReinUsesLisp1-0/+18
2019-01-15shader_decode: Implement HSETP2ReinUsesLisp1-1/+37
2019-01-15shader_decode: Implement HADD2 and HMUL2ReinUsesLisp1-1/+48
2019-01-15shader_decode: Implement HADD2_IMM and HMUL2_IMMReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement MOV_SYSReinUsesLisp1-0/+27
2019-01-15shader_decode: Implement IMNMXReinUsesLisp1-0/+16
2019-01-15shader_decode: Implement F2F_CReinUsesLisp1-2/+10
2019-01-15shader_decode: Implement I2IReinUsesLisp1-0/+26
2019-01-15shader_decode: Implement BRA internal flagReinUsesLisp1-4/+8
2019-01-15shader_decode: Implement ISCADDReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement XMADReinUsesLisp1-1/+85
2019-01-15shader_decode: Implement PBK and BRKReinUsesLisp1-1/+22
2019-01-15shader_decode: Implement LOPReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement SELReinUsesLisp1-0/+8
2019-01-15shader_decode: Implement IADDReinUsesLisp1-1/+28
2019-01-15shader_decode: Implement ISETPReinUsesLisp1-1/+30
2019-01-15shader_decode: Implement BFIReinUsesLisp1-1/+22
2019-01-15shader_decode: Implement ISETReinUsesLisp1-1/+27
2019-01-15shader_decode: Implement LD_CReinUsesLisp1-0/+31
2019-01-15shader_decode: Implement SHLReinUsesLisp1-0/+8
2019-01-15shader_decode: Implement SHRReinUsesLisp1-1/+26
2019-01-15shader_decode: Implement LOP32IReinUsesLisp1-1/+67
2019-01-15shader_decode: Implement BFEReinUsesLisp1-1/+25
2019-01-15shader_decode: Implement FSETReinUsesLisp1-1/+36
2019-01-15shader_decode: Implement F2IReinUsesLisp1-0/+37
2019-01-15shader_decode: Implement I2FReinUsesLisp1-0/+23
2019-01-15shader_decode: Implement F2FReinUsesLisp1-1/+37
2019-01-15shader_decode: Stub DEPBARReinUsesLisp1-0/+4
2019-01-15shader_decode: Implement SSY and SYNCReinUsesLisp1-0/+19
2019-01-15shader_decode: Implement PSETPReinUsesLisp1-1/+21
2019-01-15shader_decode: Implement TMMLReinUsesLisp1-3/+45
2019-01-15shader_decode: Implement TEX and TXQReinUsesLisp1-0/+219
2019-01-15shader_decode: Implement TEXS (F32)ReinUsesLisp1-0/+199
2019-01-15shader_decode: Implement FSETPReinUsesLisp1-1/+33
2019-01-15shader_decode: Partially implement BRAReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement IPAReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement EXITReinUsesLisp1-1/+32
2019-01-15shader_decode: Implement ST_AReinUsesLisp1-0/+30
2019-01-15shader_decode: Implement LD_AReinUsesLisp1-1/+39
2019-01-15shader_decode: Implement FADD32IReinUsesLisp1-0/+12
2019-01-15shader_decode: Implement FMUL32_IMMReinUsesLisp1-0/+10
2019-01-15shader_decode: Implement MOV32_IMMReinUsesLisp1-1/+9
2019-01-15shader_decode: Stub RRO_C, RRO_R and RRO_IMMReinUsesLisp1-0/+9
2019-01-15shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMMReinUsesLisp1-0/+18
2019-01-15shader_decode: Implement MUFUReinUsesLisp1-0/+29
2019-01-15shader_decode: Implement FADD_C, FADD_R and FADD_IMMReinUsesLisp1-0/+15
2019-01-15shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMMReinUsesLisp1-0/+42
2019-01-15shader_decode: Implement MOV_C and MOV_RReinUsesLisp1-1/+23
2019-01-15shader_ir: Initial implementationReinUsesLisp25-0/+576