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