1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-26 04:32:35 +01:00
Commit Graph

7276 Commits

Author SHA1 Message Date
kd-11
4d40ed9dbd rsx: Silence harmless warning 2018-07-07 16:20:33 +03:00
kd-11
d78957d1cf rsx/vp: CodeGen improvements
- Fix double destination writes on conditional write masking
- Fix codegen to simplify simple scalar comparisons vs vector functions
2018-07-07 16:20:33 +03:00
kd-11
2c34195954 rsx/vp: Discard broken vertex programs with no writes to POS register 2018-07-07 16:20:33 +03:00
kd-11
2ca935a26b vp: Improve vertex program analyser
- Adds dead code elimination
- Fix absolute branch target addresses to take base address into account
- Patch branch targets relative to base address to improve hash matching
- Bumps shader cache version
- Enables shader logging option to write out vertex program binary,
  helpful when debugging problems.
2018-07-07 16:20:33 +03:00
kd-11
bd915bfebd rsx: vp decompiler fixes
- Fix program abort logic to never abort before resolving later label addresses
  Fixes jumping over broken code and jumping over END markers
- TEXTURE_CONTROL2 has indexing range of [0..15] without stride skipping!
  This register does not have interleaving with other texture registers
- Track shader address poke as it seems to invalidate programs as well
2018-07-07 16:20:33 +03:00
kd-11
66854b78fa rsx: Fix nv308a::color 2018-07-07 16:20:33 +03:00
Ofek
dceba8a92b PPU analyser optimizations 2018-07-07 14:26:56 +04:00
Nekotekina
d856dc89a8 SPU LLVM: combine SELB with comparison instructions
Turn bitwise select into a vector select
2018-07-06 02:26:18 +03:00
Nekotekina
2f0dc9bd0f PPU LLVM: simplify VSUBCUW, VSUBUBS, VSUBUHS, VSUBUWS 2018-07-06 00:33:52 +03:00
Nekotekina
9d9869e803 PPU LLVM: simplify VADDCUW, VADDUBS, VADDUHS, VADDUWS 2018-07-06 00:33:52 +03:00
Nekotekina
caf827344f SPU LLVM: improve SHL, SHLH, ROTM, ROTHM instructions
Avoid zero extension, select undef result to zero
2018-07-06 00:33:52 +03:00
Nekotekina
b9c026d441 SPU LLVM: improve ROTMA and ROTMAH instructions
Avoid sign extension, clamp shift amount with min op
2018-07-06 00:33:52 +03:00
Nekotekina
2b9fa7ed23 SPU LLVM: combine SHUFB with CWD-alike instructions
Turn SHUFB into a vector insert
2018-07-06 00:33:52 +03:00
Nekotekina
253e8b4466 SPU LLVM: improve SHUFB with constant mask 2018-07-06 00:33:52 +03:00
Nekotekina
622f2f7f66 SPU LLVM: constant computation fixes
Fixed instructions:
Gather Bits: GB, GBH, GBB
Form Select Mask: FSM, FSMH, FSMB
2018-07-06 00:33:52 +03:00
Nekotekina
c959ab2698 SPU LLVM: fix constant propagation
Compute constant bitcasts
2018-07-06 00:33:52 +03:00
Nekotekina
20900ebea2 SPU: rename block stats
Use Block Weight and Retreats
2018-07-06 00:33:52 +03:00
Nekotekina
a0c0d8b993 SPU: simplify unimplemented event check
Move checks closer to the actual use
2018-07-06 00:33:52 +03:00
Nekotekina
afd5af04f6 SPU: improve analyser (v5)
Fix jumptable analysis
2018-07-06 00:33:52 +03:00
Nekotekina
712632d28a SPU LLVM: inline RDCH 2018-07-06 00:33:52 +03:00
Nekotekina
c1385558ad SPU LLVM: inline RCHCNT 2018-07-06 00:33:52 +03:00
Nekotekina
0910acad42 SPU LLVM: clean NOP/LNOP
Add volatile to state check and update_pc()
2018-07-06 00:33:52 +03:00
Nekotekina
513bac0304 SPU LLVM: refactor halt instructions 2018-07-06 00:33:52 +03:00
Nekotekina
a0bf103e8b Implement cpu_translator::pshufb<>()
Remove spu_translator::pshufb<>()
Improve PSHUFB emulation (pre-SSSE3)
Emit static shufflevector for the constant mask
PPU: Inline VPERM instruction
2018-07-06 00:33:52 +03:00
Nekotekina
41eab62ed7 Implement spu_iname helper
Remove old code
Report $SP anomalies
2018-07-06 00:33:52 +03:00
Nekotekina
e009bbac10 Use LLVM 7 (master) 2018-07-06 00:33:52 +03:00
Nekotekina
1ac203a958 Funny workaround 2018-07-05 22:26:35 +03:00
Nekotekina
c86dc133cf Rewrite cpu_translator::avg() 2018-07-05 22:26:35 +03:00
Nekotekina
8ad05ce10e SPU LLVM: fix jt target duplication bug 2018-07-05 22:26:35 +03:00
Nekotekina
a999bccc03 SPU LLVM: use cpu_translator::build<> 2018-07-05 22:26:35 +03:00
Nekotekina
ded9d1ddfd SPU LLVM: improve function type
Use pointers for args
Use noalias attribute
2018-07-05 22:26:35 +03:00
Nekotekina
88d0316aad Update cpu_translator
Add get_const_vector<v128>()
Add make_const_vector<v128>()
Add i2 and i4 types
Add build<>() for vector constants
Fix comparisons, allow EQ/NE for bool/char/i2/i4 types
2018-07-05 22:26:35 +03:00
Megamouse
6a62de6d68 Fix table headers for Qt 5.10 and below 2018-07-05 23:22:33 +04:00
Megamouse
544f8711f0 Qt: improve docks and toolbar flat style 2018-07-05 23:22:33 +04:00
Megamouse
b9c9bb30ba Qt: fix toolbar element sizes on every toolbar repaint 2018-07-05 23:22:33 +04:00
Megamouse
c69bb3ca04 Qt: Add Classic (Bright) Stylesheet 2018-07-05 23:22:33 +04:00
Megamouse
e6d49798ce Qt: adjust custom stylesheets to work with the new toolbar slider 2018-07-05 23:22:33 +04:00
Megamouse
3a5ce90148 Qt: remove redundant custom toolbar colors.
They got too complicated when used with stylesheets. I left the gamelist icon color option since it does in no way interfere with the stylesheets
2018-07-05 23:22:33 +04:00
Megamouse
1270ee4b38 Qt: adjust table headers for Qt 5.11 2018-07-05 23:22:33 +04:00
Megamouse
62cec24235 Qt: update custom ui colors 2018-07-05 23:22:33 +04:00
Megamouse
124122839d Qt: update stylesheet 2018-07-05 23:22:33 +04:00
Megamouse
20d653b58a Qt: update table item delegates 2018-07-05 23:22:33 +04:00
Megamouse
ed4caf0fbe Qt: fix icon repaint inaccuracy 2018-07-05 23:22:33 +04:00
Megamouse
ff9024ae70 Qt: temporary game grid selection color adjustment 2018-07-05 23:22:33 +04:00
Megamouse
01dc09c436 Qt: Use QStyledItemDelegate instead of QItemDelegate 2018-07-05 23:22:33 +04:00
Megamouse
19514128e3 Qt: Fix style sheet edge case 2018-07-05 23:22:33 +04:00
Megamouse
23b10fc16d Qt: update default stylesheet (WIP) 2018-07-05 23:22:33 +04:00
Megamouse
4bddb6a9e3 Qt: update toolbar icons 2018-07-05 23:22:33 +04:00
Megamouse
cb3933dcab Qt: toolbar adjustments 2018-07-05 23:22:33 +04:00
eladash
4db79c458d Fix cellSysCacheMount error checking 2018-07-05 16:36:57 +04:00