Commit graph

5879 commits

Author SHA1 Message Date
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 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
eladash 24699f0f96 Fix cellSysCacheClear 2018-07-05 16:36:57 +04:00
eladash 3b64e0fb3f Fix cache directory 2018-07-05 16:36:57 +04:00
Megamouse cd59bc3d6d bump appveyor Qt version to 5.11 2018-07-03 22:09:44 +01:00
isJuhn 3d8223fccc Fix LLVM STW reservation update 2018-07-02 15:19:50 +04:00
Ofek 5d3b0e7352 Fix cellGameDataCheckCreate2 (#4832)
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Megamouse ca30131faa Qt: add new spu options to the settings dialog
Also rework the layout a bit.
We need to think about creating a firmware tab
2018-07-01 19:33:33 +04:00
eladash 345f92ab0a rsx: more efficient command reading 2018-06-27 21:59:34 +03:00
kd-11 42851a93d4 vk: Fixup 2018-06-26 20:07:20 +03:00
kd-11 24f4c92759 rsx: Improve texture cache read speculation 2018-06-26 20:07:20 +03:00
kd-11 c3d75e208f glslang: Bump to version 2776 2018-06-26 20:07:20 +03:00
kd-11 df2137781d vk: Strip 'stencil' MSB when writing d24x8 data
- Seems to contains garbage in MSB when DEPTH aspect is read back
- TODO: Implement custom depth and stencil readback routine
2018-06-26 20:07:20 +03:00
kd-11 1e375e5210 gl: Fixup 2018-06-26 20:07:20 +03:00
kd-11 1730708f47 rsx: Rework memory protection management for framebuffer access
- Avoid re-locking memory if there is no reason to do so (no draws issued)
- Actively bound regions should always get written to the backing cache
- Forcefully read memory during download if writes to the target have occured since last sync event
2018-06-26 20:07:20 +03:00
kd-11 bda65f93a6 vk: Tuning [WIP]
- Unroll main compute queue loop
- Do NOT run GPU cores on mappable memory! This has a dreadful impact on performance for obvious reasons
- Enable dynamic SSBO indexing (affects AMD)
- Make loop unrolling and loop length variable depending on hardware and find optimum
2018-06-26 20:07:20 +03:00
kd-11 d484253136 vk: Addendum - Synchronize graphics and compute pipelines with barriers 2018-06-26 20:07:20 +03:00
kd-11 5fb4009a07 vk; Add more compute routines to handle texture format conversions
- Implement le D24x8 to le D32 upload routine
- Implement endianness swapping and depth format conversions routines (readback)
2018-06-26 20:07:20 +03:00
kd-11 f45dcfe18a rsx: Fix texture readback
- gl: Fix up the calculation for internal image pitch
- vk: Implement GPU-side resizing for read back textures (fixes WCB zoom)
2018-06-26 20:07:20 +03:00
kd-11 278cb52f19 facepalm 2018-06-26 20:07:20 +03:00
scribam 3b8eab87dd cmake: add possibility to build zlib from submodule 2018-06-25 00:28:46 +04:00
eladash b9fd6ad37d rsx-capture: unbreak 2018-06-24 15:14:37 +03:00
Jake 00c9b323c2 rsx: fix image_in to use in_pitch when swizzling 2018-06-24 14:29:41 +04:00
Jake e2c288ff8a trophy: zero out data before setting 2018-06-24 14:29:41 +04:00
Jake edeb858138 loader: ignore invalid index_value and allow relative reloc 10 2018-06-24 14:29:41 +04:00
Jake 095d02e41b elf: handle decompress flag for 32 bit elfs 2018-06-24 14:29:41 +04:00
eladash b3a933ba84 cellgcm: fix regression 2018-06-24 10:57:30 +03:00
eladash b456955688 rsx: fix hardcoded rsx allocation address 2018-06-24 10:57:30 +03:00
scribam 3935cef691 pugixml: update submodule and build integration 2018-06-24 02:02:36 +04:00
isJuhn 83f096c435 Add conditional reservation update to STW 2018-06-23 23:13:34 +04:00
Nekotekina 6229b3ca8d Fixes for booting PS1 games 2018-06-23 17:30:16 +03:00
clienthax 8b449ce76c PS1 Classics 2018-06-23 16:34:19 +04:00
Nekotekina d62b0c88b0 Restore /dev_flash/ config 2018-06-23 09:26:11 +03:00
Nekotekina cd92d9bcdf Fix SPU ASMJIT for SSE2 CPUs 2018-06-23 08:46:50 +03:00
Megamouse 78ef205b4f Qt: fix minor bug in save_manager that occurred when sorting the tables 2018-06-22 22:30:02 +04:00
Megamouse 4464951c77 cellVdec: add more detail to the logging 2018-06-22 22:30:02 +04:00
Megamouse 64c04769d2 Qt: emu_settings: close config files after loading and saving 2018-06-22 22:30:02 +04:00
Megamouse dada341d4e Qt: fix crash in progress dialog 2018-06-22 22:30:02 +04:00
Megamouse a96a8a9db0 Qt: move ReadJSON in game compat to its own function 2018-06-22 22:30:02 +04:00
Megamouse dab82b70f7 Qt: workaround for settings_dialog resize 2018-06-22 22:30:02 +04:00
Megamouse c3916fee9c Qt: add DeleteSPUCache option 2018-06-22 22:30:02 +04:00
Megamouse e7a02f1506 Qt: use QDirIterator instead of fs::file stuff 2018-06-22 22:30:02 +04:00
Megamouse 68bb1bd6ee Qt: add more resize possibilities to the trophy manager 2018-06-22 22:30:02 +04:00
Megamouse cad017a64f Qt: minor icon size action fix 2018-06-22 22:30:02 +04:00
Nekotekina 81e5f3b7f2 Remove /dev_flash/ configuration
Simplify code by using root config location for /dev_flash/
Hide Emu.GetEmuDir() function due to the risk of misuse
2018-06-22 14:14:29 +03:00
Nekotekina e4da284176 SPU: analyser v4 and fixes
Build SPU cache after PPU, fix mixing progress
SPU ASMJIT: add support for Giga mode
SPU ASMJIT: use the same spu.log location as SPU LLVM
SPU: improve spu.log disasm
SPU: improve trampolines, unify with SPU ASMJIT
SPU: decode interrupt handler address from BR/BRA at 0x0
SPU LLVM: support Mega/Giga modes
SPU LLVM: implement function chunks
SPU LLVM: use PHI nodes, value visibility across basic blocks
SPU LLVM: implement function chunk table
New simple memory manager for LLVM (bugfix)
2018-06-21 22:29:34 +03:00
eladash 3e433ef05c create the shaderlog dir in Emu.Init() 2018-06-21 22:54:08 +04:00
kd-11 8f1c36d79f rsx: Fix region pitch inaccuracy
- Region pitch of 64 (disabled) can be used to indicate packed contents - do not assume it is the actual pitch!
- Also fixes interaction of AA factors with lockable_region size
2018-06-21 13:08:50 +03:00
Jan Beich c776ff5020 Add missing Discord guard after 27a94308a7
/usr/bin/ld: error: undefined symbol: Discord_Initialize
>>> referenced by _discord_utils.cpp
>>>               rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::initialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))

/usr/bin/ld: error: undefined symbol: Discord_Shutdown
>>> referenced by _discord_utils.cpp
>>>               rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::shutdown())

/usr/bin/ld: error: undefined symbol: Discord_UpdatePresence
>>> referenced by _discord_utils.cpp
>>>               rpcs3/CMakeFiles/rpcs3.dir/rpcs3qt/_discord_utils.cpp.o:(discord::update_presence(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2018-06-21 01:07:05 +01:00
Megamouse 0ffaf6c1ce Qt/RSX: reset gs_frame taskbar progr. when closing native progr. dialogs
I forgot that the gs_frame's taskbar progress will stay unchanged due to its persistence, unlike the msgdialog.
2018-06-19 21:58:09 +03:00
Megamouse 4419e5d838 Qt: add possibility to copy 'Name [Serial]' 2018-06-19 20:45:00 +04:00
Megamouse 27a94308a7 Discord fixes 2018-06-19 20:45:00 +04:00
Megamouse 0c4cdaa7d3 Qt: add boot by pressing enter or return while having an item selected 2018-06-19 17:13:08 +03:00
Zion Nimchuk 87194e5887 Make register editor dialog work 2018-06-19 14:06:26 +03:00
VelocityRa 392a4bdc0b Qt: Add perf overlay position to settings dialog 2018-06-18 22:34:26 +03:00
VelocityRa dd0684b58a overlays/perf_overlay: Make pos, font, opacity, margin configurable
- Also some perf overlay refactoring
2018-06-18 22:34:26 +03:00
VelocityRa 58f4b26134 overlays: Consider padding when auto-resizing label elements
- Also make auto_resize return whether it changed the size
2018-06-18 22:34:26 +03:00
VelocityRa 84d1cf5065 overlays: Change how padding and margin work
- Also add 3 helper functions to compiled_resource
2018-06-18 22:34:26 +03:00
VelocityRa 07731d0228 overlays: Fix text rendering position
- It should be offset by one line, not half
- Also tweak every overlay element affected by this
  to look as it used to
2018-06-18 22:34:26 +03:00
VelocityRa 44449dd9e9 overlays: Refactoring
- Use names for overlay command config and vertex data instead of std::pair.
- Make a couple of compiled_resource constructors explicitly named functions.
2018-06-18 22:34:26 +03:00