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
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
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
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
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
1b0b2fe21e
vm: add "hook" memory (32G)
...
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03: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
Eladash
daa53b77cf
Simplify named_thread construction
2021-05-01 18:08:03 +03: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
f8e05f8e3c
Remove redundant operators !=
2021-04-29 22:57:40 +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
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
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
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
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
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
bcfae17219
unified missmatched indentation in CMake files
2021-04-20 21:38: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
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
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
9d4fcbf946
bs_t<>: fix/cleanup some operators
2021-04-17 15:54:33 +03: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
7bc673002f
overlays: fix dirty state of message dialog
2021-04-16 23:18:13 +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
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
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
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
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
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
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
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
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
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
Megamouse
9c7230e79f
cli: set user-id per command line
2021-04-02 11:50:28 +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
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
xddxd
9d895e6b15
Scheduler overhaul
2021-03-26 00:29:44 +03: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
Eladash
1864419561
Fix SPU mapped memory page size
2021-03-19 22:25:08 +03:00
Megamouse
43ac33c2b4
cellSaveDataEnableOverlay
2021-03-18 11:11:34 +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
1e09be19f5
Qt: Fix PaintedPixmap crash if icon is null
2021-03-14 19:56:11 +01:00
Megamouse
1a5a0f5eca
overlays: Fix aspect ratio of custom bakground images
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
0327ecc5c1
Enable -Wduplicated-cond (GCC)
2021-03-13 18:46:59 +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
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