Commit graph

10577 commits

Author SHA1 Message Date
Megamouse f1a9f6263e Rename Rockband to Rock Band 2021-04-27 23:33:46 +02:00
Nekotekina a049c6fd6b Implement sys_time_get_timezone syscall
Try to get system timezone automatically.
Attempt to address #10195.
2021-04-27 22:21:58 +03:00
kd-11 9609767c51 vk: Refactor render target code 2021-04-26 00:33:05 +03:00
Nekotekina 86a8e0716f Test alterable aggregates via overriding be_t
Checking how it might look like without introducing too many changes.
Alteration of its behaviour as a "template template" argument allows:
 - normal access
 - easier aggregate inspection
 - memory access interception
2021-04-25 19:00:16 +03:00
Nekotekina 4d9a167f56 u128: add multiplication support (for MSVC) 2021-04-25 18:17:38 +03:00
Nekotekina b704cc8375 shared_ptr.hpp: implement make_single_value(), make_shared_value()
A function that constructs single_ptr from its argument.
Type can be deduced from the argument (unlike make_single).
2021-04-25 18:17:38 +03:00
Nekotekina e34c956196 shared_ptr.hpp: add invoke operator 2021-04-25 18:17:38 +03:00
clienthax 7197dd751a
Fcntl e0000025 (#10172)
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-04-24 21:43:09 +03:00
David Carlier 0b9e4ffe54 Mac OS build update and simplification, recent releases of macOS has clock_gettime support. 2021-04-24 12:55:21 +03:00
Megamouse 486ba6121d Qt: fix window position of update dialog 2021-04-24 11:46:51 +02:00
Megamouse 1015c126d7 fix formatting (somehow broken by copy pasta) 2021-04-24 11:46:51 +02:00
Megamouse 1caf81811a Move unspecific Emulator code out of System.cpp 2021-04-24 11:21:22 +03:00
kd-11 4c2a11b6d0 vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these. 2021-04-24 00:19:50 +03:00
Megamouse 8fd3b26308 sys: more constants 2021-04-23 22:46:15 +02:00
Megamouse 617d21fa84 sys_prx: more constants 2021-04-23 22:02:52 +02:00
Megamouse 4a88ffe250 Fix typo causing unreachable code 2021-04-23 22:02:52 +02:00
Megamouse 41b68ef353 some more constants 2021-04-23 22:02:52 +02:00
Eladash 72c85744b9 kernel-explorer: Show bound queue to port information
Show its IPC key or ID, depends on the queue's type.
2021-04-23 21:34:05 +03:00
Eladash c7b5bbd467 Fix emulation restart 2021-04-23 20:59:02 +03:00
David Carlier 082bbc7336 Following up on MacOS build fix.
Specialisation of llvm_value_t to allow build with LLVM this time.
2021-04-23 15:20:40 +03:00
Megamouse 087dccd194 Implement most of cellUserInfo 2021-04-23 05:50:19 +03:00
Nekotekina 67649d7976 SPU LLVM: restore lost comment 2021-04-21 13:33:44 +03:00
Malcolm Jestadt 6247969ede SPU LLVM: Absolute final fixes for icelake shufb paths
- The constant mask was accessing bits in reverse order of what was expected
2021-04-21 11:00:02 +03:00
Malcolm Jestadt efd38fa940 SPU LLVM: Improve byteswap elimination
- Use the data before it has been swapped rather than relying on a second byteswap to cancel out the first
2021-04-20 23:24:21 +03:00
Malcolm Jestadt 551472220e SPU LLVM: Remove icelake shufb paths for now 2021-04-20 23:24:21 +03:00
p01arst0rm 01703b1350 moved cmake_modules to project root 2021-04-20 21:38:47 +03:00
p01arst0rm e9d785475e removed redundant cmake version check 2021-04-20 21:38:47 +03:00
p01arst0rm bcfae17219 unified missmatched indentation in CMake files 2021-04-20 21:38:47 +03:00
dio-gh ddea45160b GUI: take out some unwise shortcuts
Removes the ability to stop or restart emulation via keyboard shortcuts
while the game is running. Prevents loss of work that can happen due to
the current bindings conflicting with very-widely established shortcuts.

Ctrl+C and Ctrl+E will now be unbound, and Ctrl+R will now mean Resume.
Strings that mention these keybinds were adjusted accordingly.
2021-04-20 19:46:47 +03:00
Malcolm Jestadt 53f13a9721 SPU LLVM: Final fixup for icelake shufb paths
- The cause of the problems was due to the constant mask for gf2p9affineqb being used as the first argument, instead of the second argument.
2021-04-20 13:07:24 +03:00
Megamouse 3e33f064bf overlays: hotfix for dialog interaction
Turns out there was an undocumented reason for this.
Nobody warned me that "It's a trap!".
I wonder how this hasn't summoned a shitstorm yet.
2021-04-20 00:42:11 +02:00
Megamouse aa0afc9a4e Input: avoid mouse events when unused 2021-04-20 00:06:23 +02:00
Eladash a0d1cf26d0 Reduce precompilation failure log level (error -> notice) 2021-04-19 23:18:31 +03:00
Megamouse 01d14aed80 fix null chars in hostname log message 2021-04-19 21:54:27 +02:00
Megamouse 3c4c830e20 Qt: Speed up Log Viewer 2021-04-19 21:25:19 +02:00
Nekotekina 0c9c481cee Use requires syntax in more places
Change style in some places.
2021-04-19 16:51:40 +03:00
Nekotekina 7dae376646 Implement fill_array() utility 2021-04-19 12:33:32 +03:00
Nekotekina ccb89bd76a MSVC: disable throwing new 2021-04-19 12:33:32 +03:00
Megamouse b2317543c8 Qt: Fix initial gs_frame position on multi-monitor 2021-04-19 10:44:48 +02:00
p01arst0rm b812ef2771 removed space between and its opening parentheses 2021-04-19 08:59:28 +03:00
David Carlier 7618e7f3fb FreeBSD/clang update proposal.
silence few build warnings, VKDMA: disable Intel chipset for host buffer as it requires root privilege.
2021-04-18 19:56:21 +03:00
David Carlier b6732fbae9 MacOs build fix proposal.
Made on Big Sur, removing few unnecessary old specifics.
Build with LLVM homebrew.
2021-04-18 17:18:09 +03:00
clienthax 68fa377d13 Add dev_flash2+3 2021-04-18 14:49:29 +03:00
Nekotekina 7a9561b966 vm_native: document some unmap_critical behaviour (posix) 2021-04-18 13:13:15 +03:00
Nekotekina c061991c43 vm_native: supply only one madvise flag at a time 2021-04-18 13:13:15 +03:00
Megamouse bdac1d9bfd Qt: fix type mismatch crash of game grid items 2021-04-18 09:58:54 +02:00
David Carlier 266c4209c4 VM: FreeBSD c_madv_no_dump/dump constants support. 2021-04-17 20:47:36 +03:00
Nekotekina fb26da1cb0 bs_t<>: create BitSetEnum concept
Try concepts instead of SFINAE.
2021-04-17 19:23:19 +03:00
Nekotekina d623720f4d Fix condition for -Wno-attributes (regression) 2021-04-17 16:26:41 +03:00
Nekotekina 9d4fcbf946 bs_t<>: fix/cleanup some operators 2021-04-17 15:54:33 +03:00
p01arst0rm 896db3806d replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID 2021-04-17 15:54:27 +03:00
Megamouse 691b986e36 keyboard pads: release all keys on FocusOut event 2021-04-17 14:03:50 +02:00
Megamouse 5416f60643 basic keyboard: release all keys on FocusOut event 2021-04-17 14:03:50 +02:00
Eladash 67e2e154fa Replace simple_type with std::common_type 2021-04-17 10:27:55 +03:00
Megamouse 330dea181a Qt: unify some movie hover code and fix cellLeave 2021-04-16 23:18:13 +02:00
Megamouse 7bc673002f overlays: fix dirty state of message dialog 2021-04-16 23:18:13 +02:00
Megamouse ae8d1a3a60 Qt: smoother scrolling in savedata manager 2021-04-16 21:26:24 +02:00
Megamouse 27975e9dfd Qt: remove uncritical deprecated notes and titles
This also fixes a savedata notes bug.
The detail section notes were always taken from the deprecated settings.
2021-04-16 21:26:24 +02:00
Megamouse bff938ccf5 Qt: optimize game list repaint with new logic
We now pass a shared pointer to the icon items, so there is no need to trigger a full refresh of the list anymore.
Sadly this doesn't apply to the game grid.
2021-04-16 11:21:04 +02:00
Megamouse 53f317e076 Qt: use gifs as icons on hover if available. 2021-04-16 11:21:04 +02:00
Malcolm Jestadt 0a7df9d02e SPU LLVM: add AVX-512 SPU verification
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
2021-04-16 09:35:26 +03:00
Nekotekina 408ffd3d2c fxo: add debug name to the typeinfo 2021-04-15 20:01:29 +03:00
Nekotekina a211895e28 shared_ptr.hpp: use for fs::virtual_device
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Nekotekina 19763f8973 Remove unnecessary default:breaks 2021-04-15 15:23:59 +03:00
Desterly 99d6f9c7a9 Skylander - Traptanium portal cleanup
- Remove "Status" query responses from reset request
- Add additional request types for newer portal
2021-04-15 12:10:22 +02:00
Desterly 63e4ac80bd Skylander - Change portal version
Switch emulation to the Traptanium portal.   This portal is universal
and works with all games.
2021-04-15 12:10:22 +02:00
polar 24983ea329 removed whitespace
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-15 11:37:35 +02:00
p01arst0rm 6cab5b5591 removed extra perentheses pair 2021-04-15 11:37:35 +02:00
p01arst0rm c9d2aed286 small collection of fixes 2021-04-15 11:05:15 +03:00
Eladash a16cc3ac8a lv2: Remove flags from IPC-supported objects 2021-04-15 10:31:40 +03:00
TotalCaesar659 ba1699a831 Fix typo 2021-04-14 20:01:18 +02:00
Megamouse 20c69a0e3e overlays: make auto-repeat buttons configurable
and properly reset the auto-repeat timer whenever a new button was pressed
2021-04-13 20:57:05 +02:00
Megamouse bdc5ed094b overlays: implement OSK password mode 2021-04-13 20:57:05 +02:00
Megamouse 088d22675b overlays: fix osk placeholder 2021-04-13 20:57:05 +02:00
Megamouse fc9b3c13e6 misc: fix old some style casts and redundancies 2021-04-13 20:57:05 +02:00
kd-11 14a64e2529 rsx: Handle rare rounding issue where position.w is very close to zero 2021-04-13 21:26:23 +03:00
Megamouse f5415fb4ac overlays: dynamically change dialog background 2021-04-13 19:13:56 +02:00
Megamouse 20076ed57e Qt: Properly disable perfoverlay datapoint sliders 2021-04-13 19:13:56 +02:00
kd-11 8d1fc18941 vk: Fix mip level packed pitch calculation 2021-04-13 00:14:16 +03:00
kd-11 06dc99ab85 rsx: Fix decompression of RB_RG textures.
- Removes several subtle hacks that hid the real issue.
  A compressed texture has more than one texel per 'block'.
2021-04-11 21:36:36 +03:00
p01arst0rm 4048b1e515 added inline suggestion to settings_location to prevent duplicate includes 2021-04-11 18:38:02 +03:00
Nekotekina ccb46df905 Minor fixups (removed unnecessary code) 2021-04-11 16:36:02 +03:00
Megamouse a16d8ba3ea More random changes 2021-04-11 14:01:51 +03:00
Eladash 56d34e0e80 Enforce backslash at the end of emulated drives paths 2021-04-10 23:51:49 +03:00
Eladash 5ca6381624 Implement "PPU LLVM Precompilation" control setting 2021-04-10 18:06:46 +03:00
Megamouse 7a105333dc Qt: fix vfs dir remove button enabled state 2021-04-10 15:18:16 +02:00
Megamouse 332eb5fbd6 Log firmware after Emu was initialized 2021-04-10 15:18:16 +02:00
Megamouse 5b0dac797c Remove deprecated user management code 2021-04-10 15:18:16 +02:00
Eladash 86ddc00bb1 Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure 2021-04-10 10:37:20 +02:00
Nekotekina 3107f37864 Fix psf::load error for error::stream 2021-04-10 00:43:08 +03:00
Megamouse 17f5fec538
sceNp: fix rap file regression (#10084) 2021-04-09 21:37:57 +01:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Eladash a3e8a61547 PSF: Fix string_view optimization
Avoid redundant copies of std::string.
2021-04-09 20:58:30 +03:00
Eladash a8d5a8734a Loader/cellGame: Do not crash on invalid PSF files 2021-04-09 20:58:30 +03:00
Nekotekina 10bbb7fa1f Fix some warnings (deprecate enum arithmetics) 2021-04-09 10:26:13 +03:00
Nekotekina 8c5f2b249c shared_ptr.hpp: further fixes
Improved is_same_ptr() trait (added third "maybe" category).
Fallback to pseudo-runtime check in certain cases (if "maybe").
Fix single_ptr moving assignment operator.
2021-04-09 10:26:13 +03:00
Nekotekina 332c512eed shared_ptr.hpp: minor optimization (GCC hotfix)
Use thread_local for dummy objects (doesn't work on MSVC).
Couldn't find better way to remove fake static objects completely.
In a sense that they don't appear in object files.
2021-04-09 10:26:13 +03:00
Megamouse d10584ac6c DRM: Search all user directories for rap files 2021-04-09 08:47:59 +02:00
Eladash d2b761b7de Log error about HG games booted outside of /dev_hdd0 2021-04-08 23:57:00 +03:00
Eladash 49c5ce30cc Emulation: Fix boot path resolving
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina 95725bf7fc Add -Werror=missing-noreturn (GCC, clang)
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina 94c62b1eec shared_ptr.hpp: improve is_same_ptr<> trait
Don't always return true on MSVC.
2021-04-08 10:29:47 +03:00
Megamouse 02febd3f65 Workaround: Skip progress_dialog during gameplay 2021-04-06 21:39:34 +03:00
Megamouse 497fbb17a8 progress_dialog fixes 2021-04-06 21:39:34 +03:00
Nick Renieris 396c129d41 vm: Flag names (refactoring) 2021-04-06 13:07:54 +03:00
Eladash 4a9be0a8d2 core: Move IDM to FXO 2021-04-04 17:29:32 +03:00
Megamouse bf1756448e overlays: fix taskbar progress reset 2021-04-04 13:38:10 +03:00
Nekotekina ed8f60431f Fixup for progress dialog closing logic
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-03 23:25:02 +03:00
Nekotekina 6f1f75bc8f Minor progress dialog refactoring
Add rsx::overlays::progress_dialog class (identical to message_dialog).
Don't use Emu.CallAfter() for native dialogs.
Make g_progr_ptotal waitable.
2021-04-03 22:38:04 +03:00
Nekotekina 963d150e93 Fix some -Weffc++ warnings (part 2) 2021-04-03 21:54:15 +03:00
Nekotekina 1ddeef71c6 Fix some typos 2021-04-03 21:54:15 +03:00
Megamouse b7eefeac8b hotfix: skip progr dialogs if msg dialogs are open 2021-04-03 20:37:40 +02:00
Eladash e57f36fc5b Quick sys_sm_get_params implementation 2021-04-03 17:23:40 +03:00
Eladash 32116086b3 Implement _sys_prx_register_module loading imports/exports functionality 2021-04-03 17:23:40 +03:00
Eladash 878da3b474 Implement get_cellos_appname()
Identifying vsh.self and possibly other operating system executables in the future.
2021-04-03 17:23:40 +03:00
Eladash 73320d4180 Output all fatal log messages to Console/debugger as well 2021-04-03 08:47:58 +02:00
Eladash a1d31f640a Set userland firmware SPRX directory as the default PS3 decryption tool path 2021-04-02 20:54:33 +02:00
Megamouse 9c7230e79f cli: set user-id per command line 2021-04-02 11:50:28 +02:00
Megamouse 98687d474b Move system info to extra line 2021-04-02 07:14:23 +02:00
Eladash 7b57b8f2ca debugger: Implement ability to pause entire emulation on breakpoint 2021-04-01 19:11:55 +03:00
Eladash 55c98bfaef Fix #9879 and fix firmware confirmation dialog when auto-start is disabled 2021-04-01 14:09:02 +03:00
Nekotekina e9a45a2f45 Implement scoped_progress_dialog
Create Emu/system_progress.hpp
Remove atomic g_progr_show
2021-03-31 23:40:09 +02:00
Nekotekina 2212a131ef Fix some -Weffc++ warnings (part 1) 2021-03-31 11:27:09 +03:00
Nekotekina deacf05769 Enable -Wdeprecated-copy
Some classes violated the Rule of 3(5) in their special operator definitions.
2021-03-31 11:27:09 +03:00
Megamouse 870224cde0 Emu/overlay: ingame native overlay PPU compilation 2021-03-31 09:38:30 +02:00
Megamouse e557c962fb Qt: gs_frame position updates 2021-03-30 19:09:01 +02:00
Eladash 1e71deb0db rsx: Compile shaders when CELL is not running 2021-03-30 11:13:47 +03:00
Eladash dea1d01de2 Fix Emulator::Stop race with IDM
Newly created threads' state could have not been flagged with exit.
2021-03-30 10:21:54 +03:00
Eladash e9bea1c742 Emu: Do not obey auto-exit setting after creating firmware cache 2021-03-30 10:21:54 +03:00
Eladash d51bb8b1cc Fix Emulator::Pause race with IDM 2021-03-30 10:21:54 +03:00
Eladash aad5283786 Fix Emulator::IsPaused() 2021-03-30 10:21:54 +03:00
Megamouse 66df38957b add AppIcon to fatal_error_dialog 2021-03-29 23:32:15 +02:00
xddxd 7cbafd603a
Get rid of non-LLVM build configurations (#10030)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-29 22:45:48 +03:00
dio-gh 3e48c9744b upgrade icons to a modern design
Credits go to @DAGINATSUKO, and @hcorion for the svg version.
2021-03-29 22:24:40 +03:00
Megamouse a982280400 Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse d62983e1a2 Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse 90ac24e524 Qt: set find_dialog "next" button to default 2021-03-29 19:19:24 +02:00
Megamouse 0b2ba98238 Qt: add option to hide the log prefix 2021-03-29 19:19:24 +02:00
xddxd b978aa6dca Wording changes and tooltip fix for unsupported CPUs 2021-03-26 18:56:16 +01:00
Megamouse 6565855005 Qt: clean global cfg before adding custom cfgs 2021-03-26 09:08:30 +01:00
Megamouse 9f80a55652 Qt: don't show updater if booted with cli arg 2021-03-25 23:39:42 +01:00
xddxd 9d895e6b15 Scheduler overhaul 2021-03-26 00:29:44 +03:00
Megamouse a7acb84b8b Qt: Remove unused GUI entries when saving a config 2021-03-25 20:34:00 +01:00
Megamouse 8d54453981 Qt: Fix debugger breakpoint deletion 2021-03-24 20:47:51 +01:00
Megamouse 452fb59c74 Qt: select target item in debugger list
This should make it easier to spot the item
2021-03-24 20:47:51 +01:00
Megamouse ba45daff35 Qt: some cleanup in debugger 2021-03-24 20:47:51 +01:00
Nekotekina b3fb6d7d18 Add and fix -Wredundant-decls (GCC) 2021-03-23 22:48:57 +03:00
Nekotekina 5dc3467337 vm: fix reservation_update notification
Rare function.
2021-03-23 21:09:37 +03:00
Nekotekina 729757b1dd atomic.hpp: allow raw notify_all by pointer 2021-03-23 20:58:42 +03:00
Nekotekina 393f9d329d atomic.cpp: allow non-standard sizes in atomic wait (>16) 2021-03-23 20:52:56 +03:00
Nekotekina 820390b7ed atomic.cpp: remove raw_notify and simplify internal logic
Also permit zero size in waiters.
2021-03-23 20:19:10 +03:00
Nekotekina e0790f758e Add some warnings (GCC, clang) 2021-03-23 16:40:44 +03:00
Eladash 2f333424a6 Improve ELF/Trophy loader's error checking 2021-03-23 16:05:23 +03:00
Eladash a67b347966
debugger: Fix SPU memory viewing (#10007)
* debugger: Fix SPU memory viewing

* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse dedf09017a VS: try to unbreak debug builds 2021-03-23 09:11:04 +01:00
Megamouse cd07ab5b5f VS: fix release build 2021-03-23 00:46:26 +01:00
Megamouse 6892cb1c7e Qt: prepare for removal of deprecated GUI settings
If you remove a custom name and already had a deprecated name before, you'll never get rid of it.
This applies to all of the deprecated settings.
2021-03-22 23:47:11 +01:00
Megamouse b518a9a338 VS: fix release Optimization 2021-03-22 20:19:36 +01:00
Megamouse 54d078f379 VS: fix AdditionalIncludeDirectories 2021-03-22 20:19:36 +01:00
Eladash b0a0533a4f Memory string searcher improvements
* Search the entire PS3 4GB address space instead of a small area of memory which is meant mostly for PRX/SELF memory aka vm::main segment. This limitation rendered string searcher nearly useless.
* Implement hexadecimal byte-string, hexadecimal integer, float and double value search formats.
* Multi-thread searching.
* Optimize searching algorithm vastly.
* Fix crash on empty string, report an error.
* Implement case-insensitive string search.
2021-03-22 18:37:26 +03:00
Megamouse 399f20ae54 Qt: Fix debugger step shortcuts 2021-03-22 10:44:30 +01:00
Megamouse 554ba9d6a6 Qt: Allow package installation through cli
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse 2c05e9719d cfg: simplify get_nodes 2021-03-20 20:54:26 +03:00
Megamouse cb9e7358d2 cfg: log unused config entries 2021-03-20 20:54:26 +03:00
Megamouse 70c98fff19 Make cli fw installation more foolproof 2021-03-20 11:57:04 +01:00
Romain TISSERAND b5698ee101 Add command-line option to install firmware 2021-03-20 11:57:04 +01:00
Nekotekina 379138af27 Fix NtSetTimerResolution in no-gui mode (Win32)
Add dummy persistent timer with 10ms period.
Replace QTimer invocation with Emu.CallAfter().
This way, headless and no-gui modes should be affected by it.
2021-03-19 22:26:48 +03:00
Eladash 1864419561 Fix SPU mapped memory page size 2021-03-19 22:25:08 +03:00
Eladash a9ddb1d3b3 GUI: Implement full extraction of PUP
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash 314670a347 Improve firmware installation error handling
* Add new error types and descriptions.
* Do not crash on missing 0x100 and 0x300 PUP file entries.
* Report an error on missing PUP package inner files.
* Fix overflow in file-size against header check.
* Move all header errors to pup_object class.
* Move verbose error descriptions to pup_object class.
* Minor optimizations.
2021-03-19 17:51:09 +01:00
Eladash ad49c54531
Fix race in render_creator (#9939) 2021-03-18 12:09:42 +03:00
Megamouse 43ac33c2b4 cellSaveDataEnableOverlay 2021-03-18 11:11:34 +03:00
Nekotekina ee4009e123 Add supporters 2021-03-17 23:53:10 +03:00
Nekotekina 2decf1ecda Rename and move g_tls_current_cpu_thread inside cpu_thread
Don't declare extern inside get_current_cpu_thread().
Possible workaround for gcc-11.
2021-03-17 23:49:48 +03:00
Eladash 1d7fbd6a9a Fix sceNpTrophyGet(Trophy/Game)Icon 2021-03-17 22:31:57 +03:00
Eladash 1213708b72
Replace some log errors (#9980) 2021-03-17 17:19:35 +03:00
Nekotekina 8fcebebae3 Implement lv2_mp_flag::cache
Identify /dev_hdd1 without unsafe path comparison.
2021-03-16 19:37:03 +03:00
Nekotekina f801dc6558 Save all 8 syscall_args 2021-03-16 19:33:37 +03:00
Eladash 8716ac554f Fix sys_raw_spu_destroy 2021-03-16 19:31:52 +03:00
Eladash d7b4753007 Make gamedata installation atomic as real PS3 2021-03-16 19:31:52 +03:00
Eladash a9b0d25c01
PPU Debugger: Fixup for syscall arguments (#9932) 2021-03-16 16:20:45 +03:00
shockdude 6a14849381
sys_usbd: DJ Hero Turntable Emulation (#9965)
* Initial Turntable Emulation
2021-03-14 23:48:50 +03:00
Megamouse f93dbb8f49 Qt: dont scale small icons, deal with size instead 2021-03-14 19:56:11 +01:00
Megamouse f83b19cecf Qt: Fix wide game icons (weird copy pasta error) 2021-03-14 19:56:11 +01:00
Megamouse 1e09be19f5 Qt: Fix PaintedPixmap crash if icon is null 2021-03-14 19:56:11 +01:00
Megamouse c1de0bc28c workaround for clang compilation 2021-03-14 16:46:16 +01:00
Megamouse 1a5a0f5eca overlays: Fix aspect ratio of custom bakground images 2021-03-14 16:46:16 +01:00
Megamouse 8b0cd60be9 Qt: Fix game icon canvas size 2021-03-14 16:46:16 +01:00
Megamouse 2239a52e9b Qt: Import Custom Shader Loading Icons
and refactor icon import
2021-03-14 16:46:16 +01:00
kd-11 c9214ce6c0 vk: Disable async streaming by default 2021-03-14 16:39:55 +03:00
Nekotekina bb9b5e6aff Enable -Wtautological-compare 2021-03-13 23:01:37 +03:00
Nekotekina 0327ecc5c1 Enable -Wduplicated-cond (GCC) 2021-03-13 18:46:59 +03:00
Nekotekina ccdea1c4ad Enable -Wduplicated-branches (GCC) 2021-03-13 18:03:08 +03:00
Nekotekina c22e1e71f0 Continue fixing strict aliasing warnings 2021-03-13 18:02:37 +03:00
Eladash aff63028d4 SCE Decryption: Detect illegal RAP files 2021-03-13 11:51:40 +01:00
Eladash 7a7b168af3 GUI: Atomic RAP file installation 2021-03-13 11:51:40 +01:00
Eladash bdf6a1c70e GUI: Handle all PUP files in drag-and-drop 2021-03-13 11:51:40 +01:00
Eladash d1e07434a1 GUI: Handle uppercase RAP file extension 2021-03-13 11:51:40 +01:00
Megamouse c0d823f1d8 Qt: Fix square custom icons 2021-03-13 10:19:39 +01:00
Megamouse 8d0947f07f Qt: Option for Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 161d8ef47a Qt: Center Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 8c139206d7 Qt: Import Custom Icons 2021-03-13 10:19:39 +01:00
jtscott e3a7fddddf Resolve minor typo 'verion' 2021-03-13 01:16:01 +01:00
Eladash 923ba6f3bb Fix sysutil_send_system_cmd at Emu.Stop() 2021-03-12 21:01:48 +03:00
Eladash 729cd9284e debugger: Fix PPU threads pausing 2021-03-12 13:01:12 +03:00
kd-11 140c5bfc3e Add asynchronous streaming to the GUI and auto-enable it
- Hopefully not many users are on very weak GPUs
2021-03-12 02:27:05 +03:00
kd-11 a5f0faefc3 vk: Check for uninitialized target before going into any scaling op 2021-03-12 02:27:05 +03:00
kd-11 608f8de347 vk: Solve GPU hang/reset due to waiting on events that are never signaled
- TODO: Some refactoring may be required to pair the primary and secondary CB and avoid such blunders
2021-03-12 02:27:05 +03:00
kd-11 3e8a00d264 Basic fixups 2021-03-12 02:27:05 +03:00
kd-11 7d5a72c9e0 vk: Add options to system configuration 2021-03-12 02:27:05 +03:00
kd-11 48d0f80a86 vk: Add an alternate async queue scheduler
- This version violates spec but does not rely on CPU threads to keep the GPU from hanging. It's ironically much safer to use.
2021-03-12 02:27:05 +03:00
kd-11 bd6c187fcd vk: Tune event polling for higher throughput 2021-03-12 02:27:05 +03:00
kd-11 585837a3f0 vk: Support new fxo usage pattern 2021-03-12 02:27:05 +03:00
kd-11 b4e821c28d vk: Flip on async texture uploads 2021-03-12 02:27:05 +03:00
kd-11 589ac1c5d4 vk: Optimization - avoid touching the mutex at all if possible even when there is no contention 2021-03-12 02:27:05 +03:00
kd-11 c9e8b87c60 vk: Properly clean up async scheduler 2021-03-12 02:27:05 +03:00
kd-11 41f5158247 vk: Sync main pipe with async jobs if any 2021-03-12 02:27:05 +03:00
kd-11 d2993474fb vk: Lazy-initialize image resource on first use when owned by a separate queue 2021-03-12 02:27:05 +03:00
kd-11 77e312fb99 vk: Add the async task scheduler 2021-03-12 02:27:05 +03:00
Eladash cd6ef2958b Add information about unnamed/main threads in logs and fatal dialog
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Megamouse 40f3adc45f Overlays: Implement individual pulse 2021-03-11 20:48:12 +01:00
Eladash cfa2d4aaa8 Loader: Log FNID of imported/exported functions 2021-03-11 15:23:58 +03:00
arabek bdefeaf6f9 Use maybe_unused macro for chip var
Var chip is only used in the WIN32 ifdef block - use maybe_unused to silence the compiler warning about unused variable.
2021-03-11 14:33:04 +03:00
Eladash 0958c10f88
Improve TAR loader (#9908)
* Fix header magic test.
* Rewrite code to not use so many filesystem calls.
* Add many more error checks.
* Add missing NUL filetype.
* octalToDecimal(header.size) has been fixed to use fixed 12 characters range instead of endless string.
* Add many optimizations.
* Fix possible signed overflows with int, use the unisgned u64 type instead which allows for greater files as well.
* Log errors.
2021-03-11 02:26:39 +03:00
Nekotekina 4adf412049 Fix std::bit_cast misuse 2021-03-10 16:11:30 +03:00
Nekotekina 03332c340d Implement utils::bless (pointer cast)
Tries to workaround strict aliasing troubles.
Don't confuse with std::bless which works differently.
2021-03-10 16:02:00 +03:00
Eladash 63ecb56b51 PPU interpreter hotfix 2021-03-10 13:41:13 +03:00
Megamouse cbd895a29c
Move code to cpp (#9938)
* GL: move GLOverlays code to cpp
* GL: move GLCompute code to cpp
* VK: move VKOverlays code to cpp
* VK: move VKCompute code to cpp
2021-03-10 00:58:08 +01:00
Nekotekina 9cbe77904d Revert changes in BufferUtils.cpp
Should fix #9933
2021-03-09 19:19:24 +03:00
Nekotekina 19b5b47b26 Add -Wnull-dereference (commented out) 2021-03-09 15:54:04 +03:00
Eladash 52a0b38379
Workaround segfaults in Vulkan enumeration thread (#9935)
* Workaround segfaults in Vulkan enumeration thread
2021-03-09 13:50:58 +01:00
Nekotekina a4fdbf0a88 Enable -Wstrict-aliasing=1 (GCC)
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina 3990e2d3e6 Add -Wclobbered and -Wcast-function-type (no effect) 2021-03-09 03:10:15 +03:00
Nekotekina 53af2dbb3f Add/fix warning -Wignored-qualifiers (GCC/clang)
Fix simple_array::const_iterator as a part of it.
2021-03-09 03:09:50 +03:00
Nekotekina 5bdd1cf837 Remove some redundant code
Potential fix for future warnings.
2021-03-09 03:09:50 +03:00
Megamouse 1a3c01154a make from_hdd0_game check lowercase 2021-03-08 22:58:19 +03:00
xddxd df338f0552 Move sys_crashdump to it's own file and make it a module itself 2021-03-08 22:57:35 +03:00
Malcolm Jestadt e5d0e035d0 SPU LLVM: Rearange FM instruction for better performance
- Doesn't eliminate any instructions, but allows for better out of order execution.
2021-03-08 15:48:36 +03:00
xddxd 6d91a9fe6f Possible workaround for mobile Kepler chips 2021-03-08 15:46:03 +03:00
Megamouse 935e398930 patch_manager: expand first search results 2021-03-08 12:05:00 +01:00
Eladash 2afc7cbaaa
GUI: Implement MSELF extraction tool (#9909)
* MSELF: fix overflow

* GUI: Implement MSELF extraction tool

* VS: fix mself files in vcxproj

* fix

* Update mself.cpp

* fixed
2021-03-07 17:59:37 +01:00
Megamouse 1b5cf118e7 Input/Qt: implement XInput battery level 2021-03-07 11:48:19 +01:00
Megamouse a3a4c0a906 overlays: don't count initial garbage values.
This might also shave off some microseconds.
2021-03-07 00:52:11 +01:00
Megamouse 3ae7debc17 Qt: Do not allow updates during emulation 2021-03-07 01:56:25 +03:00
Megamouse dab53f4e41 Cleanup Emu before the update reboot 2021-03-07 01:56:25 +03:00
Megamouse 9da7910fc9 Fix auto updates. Don't pass exe as arg0 to execl 2021-03-07 01:56:25 +03:00
Nekotekina 3609eb25c9 Implement thread_ctrl::is_main() 2021-03-06 23:10:31 +03:00
Nekotekina ded828dfc9 sysinfo.cpp: Implement utils::main_tid (main thread id)
Careful.
2021-03-06 23:10:31 +03:00
Nekotekina 87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
Megamouse 7205a93751 add some log messages for debugging 2021-03-06 18:06:21 +03:00