Commit graph

10533 commits

Author SHA1 Message Date
octopoulo b8928d230a gl: Intel GPU shader fix 2021-05-12 15:28:30 +03:00
kd-11 675c9a7945 vk: Ensure MSAA surfaces are in RW state before attempting to transfer data. 2021-05-12 13:04:09 +03:00
kd-11 1a73b0a0da rsx: Fix transfer barriers not triggering resolve target initialization 2021-05-12 12:32:24 +03:00
Nekotekina 0bd64a0e72 Don't fatal on sparse file initialization failure
Also try two different locations (Win32).
2021-05-10 00:39:28 +03:00
Eladash acded1e08a
rsx: Move sys_rsx info to rsx::thread (#10258) 2021-05-09 19:16:14 +01:00
kd-11 a4f4b81e6b vk: Add some more debugging utils for RDC captures
- Labels make life so much easier
2021-05-09 13:07:47 +03:00
kd-11 0b18ec8208 vk: Allow flipping without wait 2021-05-09 13:07:47 +03:00
kd-11 e3944bc67f rsx: Handle transfer_read differently from transfer_write
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
kd-11 b085284c55 rsx: Ignore write-to-self via blit engine. 2021-05-09 13:07:47 +03:00
Eladash 31b55e0030 event queue: Structure size efficiency 2021-05-09 10:58:14 +03:00
Eladash 7a4918e4a4 kernel explorer: Implement interrupt handler/service information 2021-05-09 10:58:14 +03:00
Eladash 1e1880893a sys_interrupt: Save ID of self tag/handler 2021-05-09 10:58:14 +03:00
Eladash 363cc60c82 sys_event: Save ID of self event queue 2021-05-09 10:58:14 +03:00
David Carlier b09970f159 couple of warning build fixes 2021-05-09 09:25:40 +02:00
Megamouse 52930a7597 VS: fix some filters 2021-05-07 22:51:08 +02:00
Megamouse 96fa531566 Qt: allow renaming of the current user
Since the dialog cannot be opened ingame, there should be no reason to disable the rename user option.
2021-05-07 22:51:08 +02:00
Eladash 64997662d2 LV2: Fixup for IPC
* Fix typo in lv2_obj::create.
* Always save ipc_key as 0 for non-shared object creations, regardless of thbe value set by creation attribute.
* Show IPC key of shared memory (sys_mmapper) memory objects in kernel explorer.
2021-05-07 14:58:22 +03:00
Eladash 900ebf6583
sys_event: Typo fix (#10246) 2021-05-07 09:34:25 +01:00
polar ce94a4ecea
BUILD: Refactor libpng submodule (#10238)
* relocate libpng files

* fix cmake build

* fix MSVC build
2021-05-07 10:07:42 +02:00
Eladash 7b6482c01d
LV2: Improve IPC support (#10206)
* Remove custom event queue's IPC management of favour of universal LV2 approach.
* Move ipc_manager to FXO.
* Fix ipc_manager internal storage memory leak: deallocate entry when IPC object destroyed.
* Rewrite lv2_obj::create to be simpler (remove many duplicated code).
* Always execute lv2_obj::create under both IPC and IDM mutexes at once (not in non-atomic single-steps). Fixing potential case where concurrency can cause IDM to contain 2 or more different objects with the same IPC key with SYS_SYNC_NOT_CARE (instead of the same object).
* Do not rely on smart ptr reference count to tell if the object exists. Use similar approach as event queues as it makes error checkings accurate.
* Optimize lv2_event_port by using std::shared_ptr for queue which wasn't allowed before.
2021-05-07 09:58:30 +03:00
David CARLIER f56ecb6d3f
stblib: disable another unsupported clang warning (#10244) 2021-05-07 01:26:21 +01:00
Nekotekina e24ada37bf fs: implement fs::get_temp_dir() (Win32)
Trying to workaround issues with sparse files (#10231)
2021-05-05 19:38:36 +03:00
Nekotekina 546b52200b vm: disable locking main/video/stack for now (TODO) 2021-05-04 19:18:57 +03:00
Nekotekina 327c000c82 Implement s128 type (based on u128) 2021-05-04 18:02:52 +03:00
Nekotekina 1b0b2fe21e vm: add "hook" memory (32G)
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03:00
Nekotekina e327d47169 vm_native: add cow flag to map functions
CoW is copy-on-write mapping type.
2021-05-04 09:53:19 +03:00
p01arst0rm 35ee550171 changed discord-rpc to discordRPC 2021-05-04 01:27:41 +02:00
p01arst0rm 2447fdb90d relocated stblib files 2021-05-04 01:27:41 +02:00
p01arst0rm c6c5faa95c buildsystem refactoring cleanup 2021-05-03 08:01:25 +02:00
polar df39bac449
BUILD: Refactor asmjit submodule (#10230)
* relocated asmjit files

* fix cmake build

* fix MSVC build
2021-05-02 19:59:38 +02:00
HerrHulaHoop c3bf9bd4a0 Correct mismatched licenses in Crypto
5 files in Crypto were licensed under GPL-3.0-only which is
incompatible with our project's GPL-2.0-only license. They have now
been corrected to use GPL-2.0-or-later.
2021-05-02 13:39:50 +03:00
polar b09b0bc43b
BUILD: Refactor curl submodule (#10228)
* relocate curl files

* fix cmake build

* fix MSVC build
2021-05-01 21:56:56 +02:00
Eladash 0224c7a9eb SPU TG: Simplify state of saved SPU image data
Save only entry points instead of sys_spu_image structure.
2021-05-01 19:43:00 +03:00
p01arst0rm ca0d38d19d fix relative links to common_default* props 2021-05-01 18:38:42 +02:00
polar b62ac7a046
BUILD: Refactor 7zlib (#10222)
* relocate 7z files

* fix MSVC build

* fix cmake build
2021-05-01 18:07:28 +02:00
Eladash daa53b77cf Simplify named_thread construction 2021-05-01 18:08:03 +03:00
Ani b8477a470f rpcs3_version: Bump to 0.0.16 2021-04-30 21:42:14 +01:00
Ani 37331d8ead stblib: Ignore new 3rdparty warnings 2021-04-30 17:07:05 +01:00
Megamouse 71d58e3a67 rsx: remove unused tile functions 2021-04-30 08:23:16 +02:00
Megamouse 37425d6fcd GL: Remove unused copy functions 2021-04-30 08:23:16 +02:00
Megamouse 1f295bba5b VK: ReSharper warning fixes 2021-04-30 08:23:16 +02:00
Megamouse a50be7a912 GL: resharper findings (too lazy for const functions) 2021-04-30 08:23:16 +02:00
Megamouse d331ff3193 overlays: implement text_align::right 2021-04-30 00:30:26 +02:00
Megamouse 035a187c42 user-overlays: add sanity check for enter button 2021-04-30 00:30:26 +02:00
Megamouse 3c37036f7a save-overlays: add entry size info 2021-04-30 00:30:26 +02:00
Megamouse 14b6d6291b save-overlays: add localization 2021-04-30 00:30:26 +02:00
Megamouse 5720a32bc5 save-overlays: change list entry contents.
There's no need to tell the user that the entry is for game xy, they are already playing that game.
On a real PS3 only the subtitle and the date are displayed.
2021-04-30 00:30:26 +02:00
Megamouse 11f57f259c cellSaveData: keep focus after confirmation cancel
It was very annoying to be thrown to beginning of the list after cancelling the confirmation.
2021-04-30 00:30:26 +02:00
Nekotekina 3fc6375ec5 Use consteval (experimental) 2021-04-29 23:16:43 +03:00
Nekotekina f8e05f8e3c Remove redundant operators != 2021-04-29 22:57:40 +03:00
polar dece8a69f6
BUILD: Refactor libusb submodule (#10169)
* relocate module files
* fix cmake errors
* moved & updated libusb MSVC build file
2021-04-29 16:50:18 +01:00
Nekotekina 5724d2d4c7 Simplify umax
Add operator less and conversion operator.
2021-04-29 12:21:12 +03:00
Nekotekina b1736b6411 Simplify utils::umulh64 (MSVC) 2021-04-29 09:45:57 +03:00
Nekotekina 703ec474f5 Fixup for sys_time_get_timezone (3rd path)
Also simplify Linux path a bit.
2021-04-29 00:07:22 +03:00
kd-11 1d9dd8d29d vk: Add support for tagging objects to ease debugging
- Makes use of VK_EXT_debug_utils
2021-04-28 16:53:02 +03:00
kd-11 8b0e1d6c03 rsx: Make renderdoc compatibility mode a general option 2021-04-28 16:53:02 +03:00
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