Eladash
2759091ede
Debugger: Rewind SPU captures
...
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash
ae02b71a85
Savestates/Debugger: fix mfc debug option with savestates
2022-09-25 14:31:39 +03:00
Eladash
4445569bb0
Savestates: Don't actually delete savestates
2022-09-25 14:31:39 +03:00
kd-11
dd8a337b14
rsx: Fix some more warnings
2022-09-22 23:46:48 +03:00
kd-11
0572d44996
gl: Fix enum collision
2022-09-22 23:46:48 +03:00
kd-11
38aa116c59
Fix build
2022-09-22 23:46:48 +03:00
kd-11
61666bae69
rsx: Fix hardware deswizzle not getting used when hardware deswizzle flag is not set
2022-09-22 23:46:48 +03:00
kd-11
362a26a404
gl: Fix D24X8 accelerated encode/decode
...
- PS3 D24X8 is swapped as a full word, unlike PC.
- Add missing paths to handle custom swap behavior.
2022-09-22 23:46:48 +03:00
kd-11
81fa3da101
gl: Minor optimization around test..set patterns in the state tracker
2022-09-22 23:46:48 +03:00
RipleyTom
bd1fb86492
Fix pkg batch install dlg on linux
2022-09-22 19:41:09 +02:00
Elad Ashkenazi
238298f695
sys_ppu_thread: Fix surmixer hack ( #12689 )
...
* sys_ppu_thread: Fix surmixer hack
* Hotfix after #12678
2022-09-21 21:10:59 +03:00
Eladash
194f7375da
SPU/LV2: Fix tiny race conditions
2022-09-21 20:35:34 +03:00
brian218
3581c5b078
USIO: Save Game Settings
2022-09-21 14:43:24 +03:00
Marc Riera
c5572acd38
Allow USB passthrough for Densha de GO! controller
2022-09-21 12:04:16 +03:00
nastys
acc2fea7e3
Update MoltenVK to 250e1f9 and single queue ( #12620 )
2022-09-20 11:12:27 +03:00
kd-11
3dc7b64fa1
rsx: Fix initialization of null cubemap resources
2022-09-19 19:13:46 +03:00
kd-11
79f2c21dfb
gl: Restrict compute image bindings to [0-8]
...
NVIDIA only supports 8 compute image slots even on modern GPUs.
2022-09-19 01:37:10 +03:00
kd-11
df36c44bc2
gl: Avoid UBO/SSBO binding index collisions
...
- Some drivers don't like this. Actually only RADV.
- Almost all GPUs going back 15 years have a large number of UBO slots but limited SSBO slots.
Move UBO slots up as we have tons more headroom there.
2022-09-19 01:37:10 +03:00
Nekotekina
c4db65cc08
Fix one more warning
2022-09-18 18:35:17 +03:00
Nekotekina
c86ddb3b7d
cellImeJp: fix regression
2022-09-18 18:35:17 +03:00
Florin9doi
a1aebdc5d6
Request macOS 10.14.+ permissions ( #12600 )
2022-09-17 18:26:22 +01:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
brian218
e7fd84e031
USIO: Keep LastGameStatus Memory
2022-09-17 10:59:28 +03:00
Eladash
9d9e18f614
CPU preemption control: don't yield if we can't stop
2022-09-16 18:57:55 +03:00
Eladash
c8199de188
CPU preemption control: Improve stutter elimination
2022-09-16 18:57:55 +03:00
Eladash
fc331da883
CPU preemption control: remove yield before thread stop
2022-09-16 18:57:55 +03:00
Eladash
b6d3fa8c66
CPU preemption control: avoidance in reservation operations
2022-09-16 18:57:55 +03:00
Eladash
3cebea1801
CPU preemption control: extend range to 400
2022-09-16 18:57:55 +03:00
Eladash
2e9ee81dcd
CPU preemption control: Improve analysis
2022-09-16 18:57:55 +03:00
Eladash
cf4da5c4d1
CPU preemption control: bugfixes
2022-09-16 18:57:55 +03:00
Eladash
9d1ec0b319
CPU preemption control: try to minimize sleep time gaps between setups
2022-09-16 18:57:55 +03:00
Eladash
9c5108c1ca
CPU preemption control: Add one more debug variable
2022-09-16 18:57:55 +03:00
Eladash
2807be7080
SPU: Regression fix after #12648
2022-09-13 20:11:30 +03:00
Eladash
ec7b18dab5
Implement independent CPU preemptions
2022-09-13 19:28:20 +03:00
brian218
b9e20dc5c9
sys_game_board_storage_read(): Fix regression after #12637
2022-09-13 12:57:43 +03:00
Eladash
cfdc852f03
SPU: Power consumption reduction when using SPU inaccurate reservations
2022-09-13 11:21:01 +03:00
Eladash
92514e33bb
Avoid reservation notifications in liblv2.sprx
2022-09-13 11:21:01 +03:00
kd-11
572a2a06d1
rsx: Properly reset occlusion counters even when the register is not in use.
2022-09-12 17:15:06 +03:00
Eladash
f076fcd539
cellMusic: Implement some error checking
2022-09-12 15:04:23 +03:00
Eladash
4ac59875af
ppu: add some debug information
2022-09-12 15:04:23 +03:00
Eladash
780ca38f2f
SPU: Extend Inaccurate SPU reservations
2022-09-12 14:16:39 +03:00
Yui
9e83bc6544
Add the ability to set the PSID from the configuration ( #12637 )
2022-09-12 13:23:13 +03:00
Eladash
37aefe5811
sys_ppu_thread: Fix max thread name size
2022-09-12 12:57:39 +03:00
kd-11
d686b48f65
rsx: Simplify FIFO concurrent access.
2022-09-09 23:17:27 +03:00
kd-11
f319362e35
vk: Fix queue concurrency behavior for images
2022-09-09 23:17:27 +03:00
kd-11
0d9b1654ec
asm: Avoid ALU instructions on busy wait cycles
2022-09-09 23:17:27 +03:00
kd-11
940e726754
rsx: Minor FIFO cleanup
2022-09-09 23:17:27 +03:00
kd-11
f43824762a
rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead.
...
This method is called many thousands of times per frame and that single allocation introduces a small perf hit.
Just get rid of it, it doesn't improve anything to have it there.
2022-09-09 23:17:27 +03:00
kd-11
cd53bb7eff
rsx: Avoid on-the-fly ZCULL allocations with unordered_map
2022-09-09 23:17:27 +03:00
Eladash
60fc90bb8e
System.cpp: Fix Create Firmware Cache
2022-09-08 19:38:11 +03:00
Nekotekina
5d91caebe9
Linux: delete /tmp/perf.map on exit
2022-09-08 16:56:06 +03:00
Eladash
eb4131e1c7
cellGame: Minor revert
...
I think there are many more bugs here..
2022-09-07 20:42:23 +03:00
Eladash
07f0ba213e
SPU: Allow special channel storage in channel busy waiting period
...
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash
48382564d1
SPU: Implement "quintuple" Inbound MBOX storage
2022-09-07 20:42:23 +03:00
Eladash
274386a078
rsx: Add some debugging information
2022-09-07 18:39:32 +03:00
Eladash
557d015662
System.cpp: Fix Create PPU Cache regression
2022-09-07 18:39:32 +03:00
Nekotekina
5985f0eefa
BufferUtils: cleanup regarding ARM64
2022-09-07 17:59:07 +03:00
Nekotekina
82258915da
BufferUtils: rewrite remaining intrinsic code with simd_builder
2022-09-07 17:59:07 +03:00
Nekotekina
11a1f090d3
BufferUtils: simd_builder refactoring
...
Some simplifications implemented.
2022-09-07 17:59:07 +03:00
sguo35
a0d48c588a
spu/arm64: clean up assembly code generation
...
Clean up asmjit usage so we don't unnecessarily allocate memory
anymore for SPURecompiler functions.
2022-09-07 17:33:01 +03:00
Eladash
5e2424da58
IdManager.cpp: Fix cellFs IDs
2022-09-07 17:05:51 +03:00
Eladash
72a6696f5c
cellGame Fix PS3 disc insert
2022-09-07 17:05:51 +03:00
brian218
9087116ee5
Fix USIO fault when it received unsupported FW commands
2022-09-07 16:42:37 +03:00
Eladash
89e0dcba5e
cellVdec: Adjust for reservations
2022-09-07 16:05:56 +03:00
Eladash
7698064f5a
SPU: Untangle VM lock to avoid deadlocks
2022-09-07 16:05:56 +03:00
Megamouse
ab31e96385
Qt: batch stack suffix updates
...
No need to patch the suffix every single time. We can just do it when we exit the stack loop.
2022-09-05 21:20:14 +02:00
Megamouse
a9dcad629b
Qt: fix weird missing space in stack log
2022-09-05 21:20:14 +02:00
Megamouse
e49679484a
Qt: simplify log logic. We can in fact only flush once.
...
Also invert a negation
2022-09-05 21:20:14 +02:00
Elad Ashkenazi
290226539f
Fix ARM build ( #12606 )
2022-09-04 21:11:04 +03:00
brian218
75efc79930
Implemented sys_game_board_storage_read()
2022-09-04 13:28:05 +03:00
Nick Renieris
905496e926
PPU: Fix STVLX
...
Fixes Sly 2 and Sly 3 crash on boot (RSX desync).
2022-09-04 12:27:29 +03:00
srive
64579eef7e
Update tooltips.h
2022-09-02 08:59:08 +02:00
Elad Ashkenazi
e0a648240f
Unlog sceNpUtilCmpNpId
2022-09-02 08:29:09 +02:00
Eladash
7bad8f3348
Savestates/SPU: Minor fixup after fb01ed55
2022-09-01 20:09:28 +03:00
Eladash
11a197a387
Savestates/RSX: fix unintentional vblank thread spin after abort
2022-09-01 20:09:28 +03:00
Eladash
ee1384341e
rsx: Implement atomic vertex upload (with Strict Rendering Mode)
2022-09-01 20:09:28 +03:00
Eladash
fb01ed55e5
SPU: Fix potential deadlock in event queue syscalls
2022-09-01 19:03:38 +03:00
Elad Ashkenazi
5a0a5d9ff1
vm.cpp: Fix emulation stopping on SPU access violation ( #12586 )
2022-09-01 18:23:18 +03:00
Nekotekina
58e3232710
BufferUtils: Fix regression in upload_untouched
2022-09-01 17:39:04 +03:00
Ani
2cd7238e76
rpcs3_version: Bump to 0.0.24
2022-08-31 23:24:42 +01:00
Eladash
591159c4a9
Debugger: Prevent possible "current instruction" duplication when the thread is running
2022-08-30 08:57:33 +02:00
Eladash
7baf959975
Avoid empty resume output when using PPU debug option
2022-08-30 08:57:33 +02:00
Eladash
3f02935844
Add some debugging information
2022-08-30 08:57:33 +02:00
RipleyTom
f98251a05a
Fixes -w leaking
2022-08-30 07:46:42 +02:00
Nekotekina
e28707055b
Implement simd_builder for x86
...
ASMJIT-based tool for building vectorized loops (such as ones in BufferUtils.cpp)
2022-08-28 18:38:52 +03:00
brian218
698c3415ea
Fixed SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
...
Fixed the error which occurred when a game attempted to read the VID/PID of an undefined VFS USB device:
SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\Cell\lv2\sys_fs.cpp:1942[:25], in function sys_fs_fcntl)
2022-08-26 08:45:14 +02:00
Eladash
daf43989fc
Thread.h: Improve thread abort performance
2022-08-25 23:54:56 +03:00
Eladash
c7586de280
Savestates/sys_fs: Fix saving encrypted and split-files file descriptors
2022-08-25 23:54:56 +03:00
Eladash
506b9deec5
Savestates/SPU LLVM: Improve saving performance
2022-08-25 23:54:56 +03:00
kd-11
1fc0191311
Fix build
2022-08-23 23:49:46 +03:00
kd-11
1f9e04f72d
rsx/vk: Implement flushing surface cache blocks to linear mem
2022-08-23 23:49:46 +03:00
Eladash
a71bdc761e
SPU/Debugger: Improve debugging reservations
...
Simplify and make the debugging results more consistent.
2022-08-22 18:24:26 +03:00
Eladash
9d8f4d5cfa
Bugfix after #12523
2022-08-22 18:24:26 +03:00
Eladash
ee87fdc869
Fix GETLLAR spin detection
2022-08-22 08:33:22 +03:00
Eladash
bf63a18c5f
SPU Add ability to specify percentage of busy waiting
2022-08-21 15:02:01 +03:00
Eladash
ddba30988b
vm: Attempt to not remove cpu_flag::wait flag during access violation
2022-08-21 15:02:01 +03:00
Eladash
b0e2c959eb
SPU: Disable notification if no changes were made in PUTLLC
2022-08-21 15:02:01 +03:00
Eladash
28bec8e1bf
SPU: Implement custom reservation condition in atomic wait
2022-08-21 15:02:01 +03:00
Eladash
86702186f2
PPU: Detect lwmutex reservation pattern and optimize it
2022-08-21 15:02:01 +03:00
Eladash
82b1a2bd7a
SPU: add the concept of inaccurate reservations
...
Implement cellSpursRequestIdleSpu
2022-08-21 15:02:01 +03:00
Eladash
d36cf71a2d
Savestates: Fix PPU analysis when patches are applied
2022-08-21 15:02:01 +03:00
Eladash
1dd1062be1
PPU LLVM: Fix HLE function injection
2022-08-21 15:02:01 +03:00
Eladash
c0e3b86064
SPU: Optimize spu_thread::get_events()
2022-08-21 15:02:01 +03:00
Eladash
6210a8491f
SPU: Optimize and enable SPU GETLLAR Polling detection by default
...
* Make this setting guard all reservation waitings. (renamed)
* Revert atomic list usage: it's more expensive and not needed because it has a timeout and is not optimized for the rest of the waitables.
2022-08-21 15:02:01 +03:00
Eladash
33a4f05ffa
SPU: Interleave loads/stores in reservation access utilities
2022-08-21 15:02:01 +03:00
kd-11
bca833dad7
Fix surface reuse
2022-08-20 01:23:15 +03:00
kd-11
f981e05908
rsx: Do not lie about surface details
2022-08-20 01:23:15 +03:00
kd-11
b5abd777b0
rsx: Allow longer dispatch queues to accomodate games with high draw call count
2022-08-19 20:29:32 +03:00
Elad Ashkenazi
b2c9add47e
rsx: Fix semaphore timeout on boot
...
Allow semaphore timeout to be disabled again.
2022-08-19 15:40:20 +03:00
kd-11
a401a192b8
Fixup for dst_stage
2022-08-19 14:29:20 +03:00
kd-11
ad1b007dd1
Fix whitespace
2022-08-19 14:29:20 +03:00
kd-11
71e35c8b4d
vk: Implement support for VK_EXT_attachment_feedback_loop_layout
2022-08-19 14:29:20 +03:00
kd-11
2e504b2dac
rsx: Silence some warnings
2022-08-19 14:29:20 +03:00
Nekotekina
b6608ad31d
vm_native: rewrite win7 workaround
2022-08-15 12:26:17 +03:00
kd-11
edb39039dd
Fix linux build
2022-08-14 23:53:50 +03:00
kd-11
bacf518189
rsx: Fix 2D intersection tests
2022-08-14 23:53:50 +03:00
kd-11
1244044647
util: Provide stack-trace utilities
2022-08-14 23:53:50 +03:00
kd-11
b960ce1426
vk: Align write length when pre-filling buffers with constant patterns
2022-08-14 23:53:50 +03:00
kd-11
c55a889c23
vk: Initialize buffer info blocks to avoid null descriptors
2022-08-14 23:53:50 +03:00
Megamouse
829af30568
evdev: add motion device
2022-08-14 11:04:57 +02:00
Eladash
a3007e11ca
SPU: Fix minor race in sys_spu_thread_receive_event
...
Check final cpu_state::state value for suspend state because that's the variable the thread waits on.
2022-08-12 15:20:48 +03:00
Eladash
9a981b5292
rsx_debugger: Fix memory leak
2022-08-12 15:20:48 +03:00
Eladash
4464a6c3f6
CG-Disasm: Name input/output vetex arrays
2022-08-12 15:20:48 +03:00
Eladash
d30ac20fad
Debugger: Fix and use centered PC by default
...
* Fix instruction-selection dependent functionality.
* Remove odd instruction position jumps in add/remove breakpoint.
* Make PC fixate at 1/3 of the frame because knowing future instructions is more important than knowing the previous.
2022-08-12 15:20:48 +03:00
Nekotekina
7bb2d94e53
vm: use sparse files to emulate overcommit memory
...
Fix shm::map_critical page flags.
2022-08-12 13:59:03 +03:00
Eladash
7ff4509858
sys_lwcond: Fix a loose notification in cond wait
2022-08-11 12:44:40 +03:00
Eladash
f2997e4c00
LV2: Fix the most annoying race ever
...
Timeline of the race:
1. The PPU is in SLEEP state. state = suspend.
2. lv2_obj::awake is called on the traced thread and is now in ONPROC state, state = signal.
3. lv2_obj::awake is called by another thread externally with a priority higher than our traced thread and appends it to g_pending. state = suspend + signal.
4. lv2_obj::sleep/set_priority (higering priority) is called on any thread which is in ONPROC. Causing it to enter SLEEP or RUNNING state, while the traced thread is back in queue in ONPROC. state = suspend + signal.
5. The traced thread finally calls lv2_obj::awake on itself, g_pending decrements to 0 and we a have a rescheduling event, after XOR state = 0!!! (no signal)
6. In check_state: cpu_sleep_called is now true and remains this way.
7. Another thread with a higher prioty kicks in and appends the traced thread into g_pending. state = suspend.
8. The traced thread is at cpu_thread::cpu_wait(), and that's where it's gonna spend the rest of its life.
2022-08-11 12:44:40 +03:00
Eladash
133e9d4705
CPUThread.cpp: Fix cpu_flag::pending reset
2022-08-11 11:42:16 +03:00
Eladash
501ca4bcf5
logs: Prevent potential deadlock of the main thread in stack mode
...
If a thread logs faster than the GUI thread can print on screen.
2022-08-11 11:42:16 +03:00
Eladash
9212942724
kernel_explorer: Add info about ppu_thread::ack_suspend
...
The wording is bad but unless the emulation went downhill it shouldn't print on screen repeatedly.
2022-08-11 11:42:16 +03:00
Eladash
683c1a6512
LV2: Optimize sys_ppu_thread a bit
2022-08-11 11:42:16 +03:00
Eladash
9b0d33048c
Savestates/LV2: Fix race on _sys_lwcond_queue_wait saving
...
cpu_flag::again modification requires exclusive access.
2022-08-11 11:42:16 +03:00
Eladash
bc8bf2c329
sys_cond/lwcond: Fix waiting time in the debugger for mutex lock
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
f0002501f7
sys_mutex/lwmutex: Regression fixes after #12378
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
c4cc0154be
LV2: Optimizations and fixes
...
Fix and optimize sys_ppu_thread_yield
Fix LV2 syscalls with timeout bug. (use ppu_thread::cancel_sleep instead)
Move timeout notification out of mutex scope
Allow g_waiting timeouts to be awaked in scope
2022-08-11 11:42:16 +03:00
shinra-electric
cba4c3cdc4
[macOS] Update hid_pad_handler.cpp to prevent DS4 from disconnecting ( #12493 )
...
Prevents DS4 (and possibly DS3) from disconnecting from bluetooth after 15 minutes by using hidapi's non-exclusive mode.
The most recent version of hidapi, 0.12 from two months ago, added "macOS-specific function(s) to open device(s) in non-exclusive mode".
2022-08-11 07:14:37 +02:00
kd-11
c51d3b5465
Workaround for msvc weirdness
2022-08-09 18:32:54 +03:00
kd-11
e179adc4a0
rsx: Refactor surface cache storage
2022-08-09 18:32:54 +03:00
Elad Ashkenazi
47f3740a70
System.cpp: Replace std::filesystem usage ( #12474 )
2022-08-08 05:46:32 +03:00
kd-11
61a055a1c6
Tuning
2022-08-07 22:14:49 +03:00
kd-11
64b4cfa59f
rsx: Erase surface background when reloading after a pitch mismatch
2022-08-07 22:14:49 +03:00
kd-11
c799ffd223
rsx: Stubs for pitch conversion
2022-08-07 22:14:49 +03:00
Eladash
26e731b487
LV2: Re-add dropped optimization by previous commit
...
Currently only for lock-free syscalls.
2022-08-07 20:23:54 +03:00
Eladash
34bae90820
LV2: Move nearly all notifications out of all mutex scopes including IDM
2022-08-07 20:23:54 +03:00
Eladash
b55a052a22
IdManager.h: Do not lock IDM mutex if the preliminary ID check failed
...
Optimizes common ESRCH failures. (lambda variants only atm)
2022-08-07 20:23:54 +03:00
Eladash
011aabe9ed
LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock
2022-08-07 20:23:54 +03:00
Eladash
a17a6527f6
LV2: Move memory unlocking outside of mutex ownership and make it conditional
2022-08-07 20:23:54 +03:00
Eladash
122c6256ca
A fix of _spurs::add_workload
2022-08-07 20:23:54 +03:00
Eladash
73aaff1b29
LV2: allocation-free synchronization syscalls
...
* Show waiters' ID in kernel explorer.
* Remove deque dependency from sys_sync.h
2022-08-07 20:23:54 +03:00
Eladash
c7fbc16357
SPU: Postpone notifications to afterward group mutex ownership
2022-08-07 20:23:54 +03:00
Eladash
bc728db15b
LV2: Add busy waiting before entering atomic wait
2022-08-07 20:23:54 +03:00
Eladash
2eebbd307d
LV2: Minor optimization regarding signal flag
2022-08-07 20:23:54 +03:00
Eladash
dc851a729e
LV2: Postpone thread notifications to afterward mutex ownership(s)
2022-08-07 20:23:54 +03:00
Eladash
6007fd630f
Do not use lv2_obj::g_waiting when not needed in sys_timer_usleep
2022-08-07 20:23:54 +03:00
Megamouse
cb0ecb2afb
cellPngEnc
2022-08-06 10:35:10 +02:00
sguo35
84a785ea67
arm64: implement pshufb intrinsic
2022-08-05 22:53:11 +02:00
sguo35
cc1e4d2194
ppu/arm64: don't restore rsp on ppu_gateway return
...
Don't restore rsp on ppu_gateway return, since it can be reentrant. Also
change some registers to align with the x86 version's 32bit/64bit
usages.
2022-08-05 22:53:11 +02:00
Megamouse
b2d84dcebd
Qt: Add save filtered log to menu of log viewer
2022-08-05 20:50:51 +02:00
Megamouse
958d77ba52
Qt: filter log viewer when opening a file
2022-08-05 20:50:51 +02:00
Megamouse
c4b38869ab
Input: fix pad initialization
2022-08-05 20:16:21 +02:00
Eladash
fd1968dd22
Savestates: Save SFO directory path for PSN games
2022-08-05 19:19:16 +03:00
Elad Ashkenazi
88b80ebdf5
sys_net: Fix missing locks in some syscalls ( #12459 )
2022-08-04 21:31:34 +03:00
kd-11
2445ab8d8e
Fix RSX capture playback
2022-08-04 19:01:45 +03:00
Elad Ashkenazi
0e1931f178
sys_lwcond: Fix rare race on mode 3 signal ( #12413 )
2022-08-04 14:13:51 +03:00
kd-11
3e923b4993
rsx: Optimize VTX_FMT_SNORM16 decoding
...
- Cuts down SNORM16 overhead by ~65%
2022-08-03 23:33:31 +03:00
kd-11
8181498d86
gl: Alias UBO/SSBO slots to avoid exceeding the available number of binding slots.
...
- The sets are different anyway and should not overwrite each other in a proper driver.
2022-08-03 23:33:31 +03:00
kd-11
57dd611111
gl: Fix incomplete stencil view of depth-stencil texture
...
- Samplers must use point sampling for stencil views
2022-08-03 23:33:31 +03:00
Eladash
b3162bd41c
rsx/vp: Fix SNORM16 vertex decoding
2022-08-03 18:11:46 +03:00
Elad Ashkenazi
cd2adbad9a
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
99730ac4f9
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
d2ab3383ad
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
3b15a6b39e
Update rsx_methods.cpp
2022-08-03 17:15:59 +03:00
Elad Ashkenazi
651e58f443
rsx: Trivial optimization
2022-08-03 17:15:59 +03:00
Eladash
769f9e33e9
Savestates/RSX: Fix fifo_control::restore_state
2022-08-03 15:35:41 +03:00
Eladash
cf77bb7cfc
Savestates/MSVC: Replace bugged std::unique (compiler bug)
2022-08-03 15:35:41 +03:00
Megamouse
c75b76ddf5
cellPhotoImport: fallback to extension if sub_type is unknown
2022-08-02 01:43:23 +02:00
Megamouse
4dec8d7925
cellPhotoImport: allow dev_hdd1
2022-08-02 01:43:23 +02:00
Megamouse
934e7b614c
cellPhotoExport/cellVideoExport: fix filenames
2022-08-02 01:43:23 +02:00
Megamouse
416b14de72
cellPhotoExport: first implementation
2022-08-01 19:11:14 +02:00
Megamouse
b87099c790
cellVideoExport: fix some copy pasta errors and prevent file overwrite
2022-08-01 19:11:14 +02:00
kd-11
052725fdc7
rsx: Do not require ZCULL buffer binding to enable ZPASS counting
...
- ZPASS data is still accessible in unbuffered mode.
The only thing that buffered ZCULL enables is something closer to early-Z where large blocks of pixels can be dicarded earlier.
It is strictly a performance optimization and not required for ZPASS to work.
- Update ZCULL stat calculations to take into account unbuffered Z
2022-08-01 00:23:54 +03:00
Megamouse
f90b79791f
HLE: fix file not found errors in media functions
2022-07-31 16:45:05 +02:00
Elad Ashkenazi
7a8e918519
Update System.cpp
2022-07-30 08:33:09 +02:00
Elad Ashkenazi
d99ae3809d
Update keyboard_pad_handler.cpp
2022-07-29 13:45:19 +02:00
Malcolm Jestadt
51e6d0a336
SPU LLVM: Add integer compare optimization for FCMGT
2022-07-29 11:59:59 +03:00
Megamouse
228844c017
overlays: fix line wrapping and position of lines
...
- Fix off by one issue when we wrapping a line caused by unnecessary zeroed whitespaces.
- Fix centering of lines that end with carriage return caused by overzealous reset of counters.
- Remove fabs where there shouldn't be any
2022-07-29 09:26:45 +02:00
Megamouse
87e628a9e9
cellPhotoDecode: optimize get_scaled_image
2022-07-29 08:05:35 +02:00
Megamouse
e6885e25b5
Qt: fix image ratio in screenshot_manager_dialog
2022-07-29 03:14:29 +02:00
Megamouse
f31ffc4596
Implement cellPhotoDecode
2022-07-28 09:06:48 +02:00
Megamouse
4114f00c05
cellPhotoImport: fix vfs path and add some logging
2022-07-28 09:06:48 +02:00
Megamouse
8f7209f886
cellMusicSelectionContext: fix log message facepalm
2022-07-27 07:39:55 +02:00
Megamouse
d80146c704
cellMusic: Fix resume, fast forward and rewind
...
- Sadly rewind does not work with the QMediaPlayer on windows
2022-07-27 07:39:55 +02:00
Megamouse
577f379a12
implement cellPhotoImport
2022-07-26 17:27:35 +02:00
Megamouse
3d73915358
cellSearch: improve populate_photo_info, read image headers
2022-07-26 17:27:35 +02:00
Megamouse
a5317d50a5
cellMusicSelectionContext: log playlist
2022-07-26 17:27:35 +02:00
MSuih
143bd6cc80
Fix typo in tooltips.h
2022-07-25 21:28:24 +02:00
kd-11
c9058280e0
vk: Fix a potential deadlock
2022-07-25 21:05:31 +03:00
kd-11
5af50cfd55
vk: Handle corner cases
...
- Fix up flush sequence in DMA handling (WCB)
- Do not request resource sharing if queue family is not different!
2022-07-25 21:05:31 +03:00
kd-11
d846142f0c
vk: Reimplement compliant async texture streaming
...
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
Elad Ashkenazi
0ba0f9d2b9
Disable Disc update redirection for manual ELF loader ( #12381 )
2022-07-22 20:35:15 +02:00
Elad Ashkenazi
f4f9c1865e
Savestates: Implement compatibility with disc Demon's Souls ( #12379 )
...
* Savestates: Implement compatibility with virtual /dev_bdvd/PS3_GAME
2022-07-22 19:23:23 +03:00
Megamouse
c40439ae6b
cellMusic/Decode: implement playlist shuffle and repeat
2022-07-22 08:42:43 +02:00
Megamouse
683fa2a392
Mount custom dev_bdvd if a disc game was mounted from dev_hdd0
2022-07-22 07:36:49 +02:00
kd-11
246bf1df64
Use C++17 ctor for string_view
2022-07-21 22:29:40 +03:00
kd-11
9a868e9239
gl: Silence compiler warning
2022-07-21 22:29:40 +03:00
kd-11
ab3cde1939
gl: Do some macro patching for intel driver
2022-07-21 22:29:40 +03:00
kd-11
bec3e156fb
vk: Disable robust buffer access for ANV
...
- Robust access is nice, but we don't actually need it
2022-07-21 22:29:40 +03:00
Megamouse
086afbbaa5
overlays: implement back and focus in media_list_dialog
2022-07-21 01:36:33 +02:00
Megamouse
cd4d73114c
overlays: fix media_list_dialog title
2022-07-21 01:36:33 +02:00
Megamouse
14ca506774
Qt/savedata: use rsx overlays selection_code
2022-07-21 01:36:33 +02:00
Eladash
2b3ae8b638
Revert another change
2022-07-20 18:11:52 +03:00
Eladash
bb9ae18c71
Savestates: Fix sys_rwlock_wunlock saving
2022-07-20 18:11:52 +03:00
Eladash
ce01457510
Fix futile wait regression in sys_lwcond_signal
2022-07-20 18:11:52 +03:00
Megamouse
d1a46b491e
cellMusic: add some error checks and copy context to callback
2022-07-20 07:09:38 +02:00
Elad Ashkenazi
31df99f7d6
Logs: Flush unreported errors when turning off Stack Cell errors ( #12366 )
2022-07-19 17:05:51 +02:00
Eladash
5e11b2b056
log_frame: Minor fix for stack mode
2022-07-19 10:43:51 +03:00
Eladash
d106934336
Savestates: Fix saving sys_mutex_unlock
2022-07-19 10:43:51 +03:00
Eladash
68718361a7
Allow non-existing paths in vfs::retrieve
2022-07-19 10:43:51 +03:00
Eladash
c887865d54
Perform cleanup after Emulator::Load failures
2022-07-19 10:43:51 +03:00
Eladash
dc48944979
Prefer BDVD over HDD0 in vfs::retrieve
2022-07-19 10:43:51 +03:00
Eladash
d22b8b1d3a
Savestates: Do not restart after Ctrl+S for now
2022-07-19 10:43:51 +03:00
Eladash
56619b20cf
Savestates: savestate reload fix
2022-07-19 10:43:51 +03:00
Eladash
12ebf77e22
Savestates: save sys_spu_initialize settings
2022-07-19 10:43:51 +03:00
Megamouse
845af8bd96
cellGifDec: random stuff because I was bored
2022-07-18 22:23:25 +02:00
kd-11
680f08c2b8
gl: Destroy barrier signals correctly
2022-07-18 18:58:22 +03:00
kd-11
82bac4173e
gl: Reuse scratch images
2022-07-18 18:58:22 +03:00
kd-11
8a8fda3e02
gl: Combine RGBA8/D24S8 readback and byteswap into one operation
2022-07-18 18:58:22 +03:00
kd-11
1c5b685398
gl: Only toggle state settings that are relevant to the current RSX state
2022-07-18 18:58:22 +03:00
kd-11
e95084f138
gl: Use DSA for imageview configuration and avoid needless bind operations
2022-07-18 18:58:22 +03:00
kd-11
e12d268662
gl: Implement support for texture1D decode
2022-07-18 18:58:22 +03:00
kd-11
6a3f17cd36
gl: Fix compute invocation counts for format handling code
2022-07-18 18:58:22 +03:00
Megamouse
34615d3a74
cellMic: slow down if no mics are configured
2022-07-17 19:31:05 +02:00
Eladash
c0369b2e10
sys_net: Implement sys_net_abort
2022-07-17 14:53:03 +03:00
Megamouse
07ebbb6c84
cellSysutilAvc2SetStreamingTarget: remove ensure
2022-07-16 20:09:13 +02:00
sguo35
73ed657e00
spu/arm64: fix 16 byte branch patch alignment
2022-07-15 12:37:33 +03:00
sguo35
b02e6e222f
arm64: enable fma and "avx" on Apple and Cortex CPUs
2022-07-15 12:37:33 +03:00
sguo35
c52abed4d3
spu: implement ubertrampoline generator for arm64
...
Implement the ubertrampoline generator for arm64. It generally follows
the x86 version, but uses asmjit to generate code instead of writing raw
opcodes to memory, trading memory usage for readability. Currently the
trampoline implementation is fairly inefficient in terms of instruction
size and is substantially larger than the x86 version.
2022-07-15 12:37:33 +03:00
sguo35
9e57efe82c
spu: implement assembly functions for arm64
2022-07-15 12:37:33 +03:00
sguo35
77ab872bec
spu: remove rotqby C++ impl
...
rotqby C++ implementation is broken, since replacing it with the
intrinsic version reliably fixes spurs test. A conditional branch
immediately after a rotqby instruction will fail using the C++ version
but succeed using the intrinsic.
2022-07-15 12:37:33 +03:00
sguo35
27acebc5f5
spu: use portable llvm recompiler on arm64
...
Since there is not yet an arm64 version of the assembly (fast) version.
2022-07-15 12:37:33 +03:00
sguo35
2755d9941c
ppu: fix a bug where arm64 sp wasn't being saved
...
ASMJIT can silently fail and drop instructions when invalid operations
are performed (e.g. loading/storing sp). Explicitly move sp to a gp
register before doing loads/stores to fix this.
2022-07-15 12:37:33 +03:00
sguo35
488982f424
spu: external function calls should be marked non-tail
...
Mark external function calls as non-tail, since they aren't tail calls
and assuming they are will cause returns to fail in Arm64 GHC CC.
2022-07-15 12:37:33 +03:00
sguo35
086e12c6ca
mac: mmap calls should initialize with r/w page perms
...
Mac/Arm64 pages should be R/W by default due to 16k page
incompatibility. Without this there will be segfaults due to invalid
permissions.
2022-07-15 12:37:33 +03:00
sguo35
9b19f16698
arm64: add optimized 16byte ld/st for armv8.4a+
...
16B ldp/stp are atomic on v8.4a+. See Arm Architecture Reference Manual,
"Changes to single-copy atomicity in Armv8.4". Add load/release atomic
impls for this instruction and add detection for 8.4a+ capability.
2022-07-15 12:37:33 +03:00
Eladash
3e51426379
Savestates/SPU: Kill emulation when its safe to save SPU state
2022-07-15 09:30:53 +03:00
Megamouse
105781fa76
overlays: properly align lines with leading or trailing whitespace
2022-07-14 23:32:20 +02:00
Megamouse
d2be12bb07
overlays: find missing characters lost during wrapped rendering
2022-07-14 23:32:20 +02:00
Megamouse
fdc15e12c4
overlays: properly calculate offsets for wrapped text
2022-07-14 23:32:20 +02:00
Eladash
e548743cbf
Fixup rsx cpatures
2022-07-14 18:50:31 +03:00
Megamouse
7499f875a6
cellCrossControllerInitialize: add dialog
2022-07-13 19:12:46 +02:00
kd-11
cdef752a9c
gl: Fix 2D->3D splat in CopyBufferToImage
2022-07-13 02:09:58 +03:00
kd-11
1483941bea
gl: Implement row alignment in CopyBufferToImage routines
2022-07-13 02:09:58 +03:00
kd-11
9cc15be7f2
Fix linux build
2022-07-13 02:09:58 +03:00
kd-11
453e1bfaec
gl: Silence compiler warning
2022-07-13 02:09:58 +03:00
kd-11
82439327fa
gl: Support loading data from SSBO using compute shaders
...
- Gives better performance than using raw draw calls.
- Does not work with all formats. The draw call version is still used when needed.
2022-07-13 02:09:58 +03:00
kd-11
f60002e87d
gl: Optimize memory barriers a bit
...
- Move waits to server side
- Increase the scratch buffer size to avoid waiting on barriers
2022-07-13 02:09:58 +03:00
kd-11
9fc6382909
gl: Finalize BGRA storage format internals
...
- Performance is terrible but it works properly now
2022-07-13 02:09:58 +03:00
kd-11
ebad08aa97
gl: Fix image creation for virtual formats
2022-07-13 02:09:58 +03:00
kd-11
599f1dd157
gl: Properly match BGRA RTT formats
2022-07-13 02:09:58 +03:00
kd-11
bb5ce67d57
gl: Handle corner cases for CopyBufferToImage
...
- Handle 3D textures and cubemaps
- Handle writing to mip > 0
2022-07-13 02:09:58 +03:00
kd-11
f948ce399e
gl: Implement CopyBufferToImage in software
...
- Overrides the drivers CopyBufferToImage handling where possible
2022-07-13 02:09:58 +03:00
kd-11
954c60947d
gl: Avoid calling gl functions without a context even if the object is GL_NONE
...
- While calling glDestroyXXXX with GL_NONE is a no-op, calling it without a context will crash some drivers.
2022-07-13 02:09:58 +03:00
kd-11
98b6783c05
gl: Fix image views broken after refactor
2022-07-13 02:09:58 +03:00
kd-11
0894d2886a
Fix build
2022-07-13 02:09:58 +03:00
kd-11
4995b4abe3
gl: Do not use raw GL image copy command for RSX data
2022-07-13 02:09:58 +03:00
kd-11
35ef19cfc8
gl: Refactor the rest of GLHelpers
2022-07-13 02:09:58 +03:00
kd-11
09824a718f
gl: Separate BGRA8 storage from RGBA8
2022-07-13 02:09:58 +03:00
Megamouse
f4e85af53c
sceNpUtil: implement skeleton bandwidth test
2022-07-12 22:45:40 +02:00
Eladash
74a909cfbc
logs: Batch log messages (optimization)
2022-07-12 21:37:06 +02:00
Eladash
0bfdfd8433
Savestates: Implement Ctrl+R to reload the most recent savestate
...
Ctrl+R no longer means Resume emulation, this functionality has been transferred to Ctrl+P which is also capable of pausing the emulation. (so it's now a toggle)
2022-07-12 15:15:42 +03:00
Eladash
1f5cf776b2
Savestates: Fix "Suspend Emulation Savestate Mode" setting
2022-07-12 15:15:42 +03:00
Eladash
cdd6840826
Savestates/SPU: Complete fix for saving sys_spu_thread_receive_event
2022-07-12 15:15:42 +03:00
Eladash
ab27ee4cf4
Savestates/RSX: Save NV406E semaphore waiting
2022-07-12 15:15:42 +03:00
Eladash
6211295155
atomic.hpp: Truncation warning fix
2022-07-12 15:15:42 +03:00
Eladash
befd7ceb89
Savestates/sys_spu: Minor fix in saving sys_spu_thread_receive_event
2022-07-10 14:19:59 +03:00
Eladash
2cead6f328
Savestates/SPU: Fix saving sys_spu_thread_send_event
2022-07-10 14:19:59 +03:00
Eladash
4e3d58f75a
Savestates: Fix crash when savestating before PPU/SPU compilation finishes
...
Unintentional concurrent access to m_ar ptr itself.
2022-07-10 14:19:59 +03:00
Eladash
24fddf1ded
rsx: Fix emu stopping crash when using multi-threaded rsx
...
FXO signaled abort before it completed its work, leading to unsignalled vk::fence and deadlock. Fix it by deregistering it from FXO.
2022-07-10 14:19:59 +03:00
Eladash
87cd65ff03
Savestates: support game collections
2022-07-10 14:19:59 +03:00
Eladash
219e3d61f8
Minor fix in shm::map_critical
2022-07-10 14:19:59 +03:00
Eladash
4ade06f36f
Savestates/RSX: Restore the ZCULL control state
...
And fix the ZCULL control state at the initial state of RSX.
2022-07-10 14:19:59 +03:00
Nekotekina
786510a937
Use gettid() on Linux, don't use std: 🧵 :id
...
pthread_self() returns a large opaque pointer which is harder to use.
2022-07-10 12:22:28 +03:00
Megamouse
0c6df39a45
cellSearch: more error checks and shuffle
2022-07-09 16:39:10 +02:00
Vestrel
648ad0cd90
cellAudio: fix downmix if device doesn't support multichannel ( #12328 )
...
* cellAudio: fix downmix if device doesn't support multichannel
* Downmix in 2 stages
2022-07-09 15:25:28 +02:00
Megamouse
cd0d43382f
Qt: fix custom settings audio device corruption
2022-07-08 23:56:10 +02:00
Vestrel
98b730c806
Audio: device switching and channel count detection ( #12246 )
2022-07-08 17:13:38 +02:00
Nekotekina
4b787b22c8
Implement FN (lambda shortener)
...
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
Nekotekina
5c6f5a1610
Cleanse LOG_CONSTINIT macro
...
Should be unnecessary.
2022-07-08 14:47:41 +03:00
Eladash
0b8d5f7b98
Savestates: Fix argv
2022-07-08 12:57:43 +03:00
Eladash
314d481dcd
Savestates: Fix typo in page size setting
2022-07-08 12:57:43 +03:00
Eladash
0980c68e6f
Savestates: Increase timeout for emulation stopping
2022-07-08 12:57:43 +03:00
Eladash
983bfa2088
Savestates: Decryption of executable fix
2022-07-08 12:57:43 +03:00
Eladash
3a9928de65
Savestates: Log file descriptor information
2022-07-08 12:57:43 +03:00
Eladash
1fd5fb2f7e
Savestates: Fix minor race with LV2 timers
2022-07-08 12:57:43 +03:00
Eladash
4ac88fa8d3
Savestates/RSX: Save drawing context
2022-07-08 12:57:43 +03:00
Eladash
5f8f9e33f1
RSX/Savestates: Replace GCM hack with a proper fix
2022-07-08 12:57:43 +03:00
Eladash
f0c71ae2ae
Savestates: Fix saving sys_event_queue_destroy
2022-07-08 12:57:43 +03:00
Megamouse
0c7ecdc954
cellMusicDecode: add more error checks and silence some log messages
2022-07-08 07:55:46 +02:00
Elad Ashkenazi
73a687df7d
Savestates/Not Savestates: Fix exitspawn to HDD0 executable with mounted BDVD
2022-07-07 21:59:39 +02:00
Megamouse
b683110e72
cellGem/overlays: show cursor if necessary
2022-07-07 12:40:23 +02:00
Megamouse
3840015e7d
cellGem: implement basic ds3 cursor movement
2022-07-06 21:49:31 +02:00
Megamouse
639b8112b6
Input: make move handler dynamic
2022-07-06 21:49:31 +02:00
Megamouse
2bf17f5d3c
input: fix horrible pad hacks
2022-07-06 21:49:31 +02:00
Megamouse
4823d4c32a
input: add background input option
...
Adds an option to disable background input to the IO tab in the settings dialog.
This will disable pad input as well as ps move and overlays input when the window is unfocused.
2022-07-06 21:49:31 +02:00
Eladash
c8c035eeef
Regression fix
2022-07-06 20:07:09 +02:00
Eladash
155bd09fd0
Savestates: Cleanup v128 usage
...
It's compatible with bitwise serialization so it is faster to load/save it this way.
2022-07-06 19:43:25 +03:00
Eladash
f546e5a8ef
VM/Savestates: Replace bugged read-only block optimization
2022-07-06 19:43:25 +03:00
Eladash
2ccb0c8f42
SPU LLVM/Savestates: Remove unneeded store insurance and add related fix
2022-07-06 19:43:25 +03:00
Eladash
05303ce6c6
GUI: regression fix
...
Improperly resolved git conflict when rebasing savestates.
2022-07-06 19:43:25 +03:00
Eladash
d8f3029952
Log LV2 periodic timers
2022-07-06 19:43:25 +03:00
Eladash
09c28f75b3
Savestates: Fix LV2 timers (fixes audio in some games)
2022-07-06 19:43:25 +03:00
Eladash
57671e267d
Savestates: save cellAudioOut
2022-07-06 19:43:25 +03:00
Eladash
b692108f1e
Savestates: HLE state saving POC in sys_lwmutex
2022-07-06 19:43:25 +03:00
Eladash
2815aecd0c
Savestates: Save SPU decrementer state
2022-07-06 19:43:25 +03:00
Megamouse
b9f2b1e7c6
Qt: add UUID reset button
2022-07-05 09:09:00 +02:00
Eladash
bd9ba7ef1f
Remove incorrect Emu.IsStopped() checks
2022-07-05 08:25:36 +02:00
Eladash
a015bd1ebd
Savestates: Add missing position placement
2022-07-05 08:25:36 +02:00
Eladash
d6cf167d52
Savestates: Minor optimization of size
2022-07-05 08:25:36 +02:00
Eladash
3fc2194fd5
Savestates: Fix zombie PPU threads saving
2022-07-05 08:25:36 +02:00
Eladash
72c14994f0
Savestates: Fix memory containers initialization (invalidates old savestates)
2022-07-05 08:25:36 +02:00
kd-11
fddb6a31a7
Use utils::c_page_size
2022-07-04 22:35:05 +03:00
kd-11
5cafaef0a9
Aarch64 fixes for RSX
2022-07-04 22:35:05 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Ani
969b9eb89d
rpcs3_version: Bump to 0.0.23
2022-07-02 13:20:41 +01:00
Megamouse
4fb5bd76fb
Qt: Use exe dir instead emu dir for updates
...
This should fix the auto-updater when EmulatorDir is set to a different location
2022-06-30 22:19:32 +02:00
Megamouse
8043bb9087
Qt: log uuid
...
This creates and logs a unique identifier and saves it to a file.
The ID will be logged for statistical purposes and stay the same until recreated.
2022-06-30 21:36:11 +02:00
Nekotekina
69912ba3c7
Partial revert for cf0fcf5a2a
2022-06-30 14:38:14 +03:00
Eladash
cf0fcf5a2a
SPU: Implement execution wake-up delay
2022-06-28 19:54:25 +03:00
Megamouse
ab5a33fc31
Qt: Properly repaint the Emulation menu icons
2022-06-27 10:13:03 +02:00
Eladash
f5a55b3024
rsx: Fixup after #12052 for frame limiter off
2022-06-25 17:39:07 +03:00
Eladash
7422ab9e55
rsx: Do not discard flip notifications
2022-06-25 15:30:41 +02:00
Eladash
f66256cc13
rsx: PS3 Native frame limiter improvements, add Infinite frame limiter
...
* Do not wait on DEVICE 0x30 semaphore, it seems like it is something to do with queue command synchronization.
- This also fixes cellGcmSetFlipWithWaitLabel which is built specifically to enable accurate RSX flipping time, its waiting command is confirmed to be placed **AFTER** DEVICE 0x30 waiting.
* Fix default vsync state to be enabled. (and set it to enabled in cellGcmSetVBlankFrequency as well)
* Add experimental "Infinite" frame limiter mode.
* Fix spurious enabling of second vblank.
2022-06-25 15:30:41 +02:00
Megamouse
9cf7a63c77
Emu: Implement BlockingCallFromMainThread
...
Reduces some copy-paste clutter throughout the project
2022-06-25 14:01:40 +03:00
Megamouse
7842812e24
Qt: fix music handler destructor
2022-06-24 19:50:22 +02:00
Nekotekina
ec59d7d26b
Fixup for Emu.EjectDisc()
2022-06-24 19:55:44 +03:00
Nekotekina
ea23525f66
sys_fs: Add mountpoint for /dev_ps2disc
2022-06-24 19:55:44 +03:00
Megamouse
87762a9b17
cellGame: implement disc change callbacks
2022-06-24 17:34:21 +02:00
Elad Ashkenazi
bc3a899acf
Debugger: Simplify and optimize #12269 ( #12275 )
2022-06-24 11:26:44 +02:00
Eladash
5e01ffdfd8
Debugger: Optimize cpu_thread::dump_regs()
...
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash
794cbd8708
Debugger: Refresh at 100hz during debugger interaction (was 20hz)
2022-06-23 22:41:32 +02:00
Megamouse
661b485b58
HLE: more error checks
2022-06-22 21:47:06 +02:00
Eladash
64399d45c1
vm: Make falloc return value bool
...
Allow to check properly for the success of 0 address allocation.
2022-06-22 21:01:37 +03:00
Nekotekina
653a9e6e7f
Debugger: always print cpu_thread::dump_misc()
...
Was removed for some reason.
2022-06-22 18:53:29 +03:00
Eladash
71e07dc6c7
IdManager.h: Improvements
...
* Ensure ::PtrSame<T, Derived> is true.
* Allow id_base, id_step and id_count to be of enumeration type.
* Fix potential deadlock in kernel explorer.
idm::select:
* Allow to select multiple inherited object types for idm::select.
* Allow function reference types. (they don't allow access to operator() directly, use deducing std::function constructor instead)
* Ensure ::is_same_ptr<T, object_type> is true.
2022-06-22 17:24:47 +03:00
Elad Ashkenazi
69ceebeb05
Debugger: Hide breakpoint and callstack list if unused ( #12266 )
2022-06-21 23:42:42 +02:00
Eladash
ccb2724fc4
Debugger: Implement SPU breakpoints
2022-06-21 16:59:45 +03:00
Eladash
ec6d6adebc
RSX Memory Viewer: Fix local memory displaying
2022-06-21 16:59:45 +03:00
Eladash
3899248305
RSX Debugger: Stable NOP skipping
...
Allow addresses of NOP blocks to remain consistent in between debugger position changes except for the first which can shrink or grow.
2022-06-21 16:59:45 +03:00
Megamouse
4557992334
Qt: add optional states to toolbar icons
2022-06-20 21:15:14 +02:00
Eladash
d0e9108800
SPU: Implement "double" SNR storage
2022-06-20 20:50:11 +03:00
Eladash
dc80d000aa
SPU Disasm: Detect sys_event_flag_set_bit syscall
2022-06-20 20:50:11 +03:00
sguo35
775caabeeb
[ppu] Fix function trampoline for arm64
...
- Refactor function manager trampoline to be cleaner
- Add trampoline impl for arm64
- Force all JIT entrypoints on Apple to toggle W^X
2022-06-20 15:08:27 +03:00
isJuhn
4262794668
Implement PINE IPC Server
2022-06-19 17:56:50 +02:00
capriots
a6237e5473
cellAudio(Out): properly implement all downmixing modes ( #12252 )
2022-06-19 17:08:03 +02:00
Megamouse
0b14d785ca
stub cellHttp
2022-06-19 07:07:31 +02:00
capriots
6bdf415adb
Fix audio renderer not resetting after cellAudioOutConfigure() was called
2022-06-19 06:09:29 +02:00
Megamouse
ebabdd37b4
cellAudioOut: fix sound_mode exception
...
Turns out some games don't configure proper channel counts after all,
which triggers an ensure in cellAudioOutGetState.
Let's select the current sound_mode in cellAudioOutConfigure.
Keep the old one if no match was found.
Also moves some code from AudioBackend to cellAudioOut for thread safety (see mutex).
2022-06-18 18:17:43 +02:00
Megamouse
11c5230628
stub cellSysutilRegisterCallbackDispatcher
2022-06-15 20:46:24 +02:00
Megamouse
bfe029bb0c
cellSysutil: implement some bgm fxo stuff
2022-06-15 20:46:24 +02:00
Megamouse
cbf12bb54b
cellSysutil: stub cellSysutilGameDataExit functions
2022-06-15 20:46:24 +02:00
Megamouse
b01d8e01e3
cellSysutilRegisterCallback: fix potential read out of bounds
2022-06-15 20:46:24 +02:00
Ivan
c2190f71ca
SPU/PPU LLVM: fix triple setup (regression fix) ( #12228 )
2022-06-14 18:13:43 +03:00
Elad Ashkenazi
5378fee1c3
SPUAnalyzer.h: Add missing category check functions ( #12222 )
...
Some instructions were moved into integer category.
2022-06-14 16:04:24 +03:00
Jeff Guo
cefc37a553
PPU LLVM arm64+macOS port ( #12115 )
...
* BufferUtils: use naive function pointer on Apple arm64
Use naive function pointer on Apple arm64 because ASLR breaks asmjit.
See BufferUtils.cpp comment for explanation on why this happens and how
to fix if you want to use asmjit.
* build-macos: fix source maps for Mac
Tell Qt not to strip debug symbols when we're in debug or relwithdebinfo
modes.
* LLVM PPU: fix aarch64 on macOS
Force MachO on macOS to fix LLVM being unable to patch relocations
during codegen. Adds Aarch64 NEON intrinsics for x86 intrinsics used by
PPUTranslator/Recompiler.
* virtual memory: use 16k pages on aarch64 macOS
Temporary hack to get things working by using 16k pages instead of 4k
pages in VM emulation.
* PPU/SPU: fix NEON intrinsics and compilation for arm64 macOS
Fixes some intrinsics usage and patches usages of asmjit to properly
emit absolute jmps so ASLR doesn't cause out of bounds rel jumps. Also
patches the SPU recompiler to properly work on arm64 by telling LLVM to
target arm64.
* virtual memory: fix W^X toggles on macOS aarch64
Fixes W^X on macOS aarch64 by setting all JIT mmap'd regions to default
to RW mode. For both SPU and PPU execution threads, when initialization
finishes we toggle to RX mode. This exploits Apple's per-thread setting
for RW/RX to let us be technically compliant with the OS's W^X
enforcement while not needing to actually separate the memory
allocated for code/data.
* PPU: implement aarch64 specific functions
Implements ppu_gateway for arm64 and patches LLVM initialization to use
the correct triple. Adds some fixes for macOS W^X JIT restrictions when
entering/exiting JITed code.
* PPU: Mark rpcs3 calls as non-tail
Strictly speaking, rpcs3 JIT -> C++ calls are not tail calls. If you
call a function inside e.g. an L2 syscall, it will clobber LR on arm64
and subtly break returns in emulated code. Only JIT -> JIT "calls"
should be tail.
* macOS/arm64: compatibility fixes
* vm: patch virtual memory for arm64 macOS
Tag mmap calls with MAP_JIT to allow W^X on macOS. Fix mmap calls to
existing mmap'd addresses that were tagged with MAP_JIT on macOS. Fix
memory unmapping on 16K page machines with a hack to mark "unmapped"
pages as RW.
* PPU: remove wrong comment
* PPU: fix a merge regression
* vm: remove 16k page hacks
* PPU: formatting fixes
* PPU: fix arm64 null function assembly
* ppu: clean up arch-specific instructions
2022-06-14 15:28:38 +03:00
Eladash
264253757c
rsx: Improve Null Renderer
2022-06-12 20:54:42 +03:00
Ani
2512e958fa
glsl: Avoid implicit int->uint conversions ( #12220 )
2022-06-12 18:05:43 +01:00
Nekotekina
cb2c0733e2
SPU LLVM: fix vrangeps usage in clamp_smax
2022-06-12 16:40:04 +02:00
Elad Ashkenazi
280aa6da91
rsx: Fix NV406E semaphore_acquire timeout detection ( #12205 )
2022-06-12 12:34:29 +03:00
Megamouse
9554adda28
Qt: remove "Send Exit CMD" menu option
...
This is pointless now, since we always exit games with this command.
2022-06-12 11:17:30 +02:00
Megamouse
f3fa7119ac
Qt: Also parse changelog with "Background" update
2022-06-12 09:19:18 +02:00
Malcolm Jestadt
0d022d420b
RSX: Add more wide paths for upload_untouched
...
- Adds AVX512 path for upload_untouched u16 with primitive restart, and
AVX2 and AVX512 paths for upload_untouched without restart
- The AVX512 paths handle the remainder in simd code with masking, which
provided a large speedup
- On my i5-1135G7 in demons souls benchmarking a scene in boletaria with
a lot of geometry on screen via perf:
SSE4_1 0.64%
AVX2 0.59%
AVX512 0.56%
AVX512 w/ remainder masking 0.51%
2022-06-12 06:23:55 +03:00
Elad Ashkenazi
ec530a2c91
rsx: Suggest to try setting RSX FIFO Accuracy to a higher mode of accuracy on crash ( #12204 )
2022-06-11 23:26:12 +02:00
Malcolm Jestadt
ebeeafc94f
SPU LLVM: Use vrangeps in clamp_smax
...
- This instruction can clamp a value between a range of values, something which previously needed 2 instructions.
- With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result.
2022-06-11 18:25:31 +03:00
Elad Ashkenazi
17e28ae85d
SPU LLVM: Improve expression matching detection for moved registers
2022-06-11 16:13:58 +03:00
RipleyTom
da6434a65a
Implements sys_fs_fcntl 0xC0000008 & 0xC000001A ( #11957 )
2022-06-11 13:12:42 +01:00
Megamouse
a2623b1a9a
DS3: fix other report size check.
...
The Report size also seems to be generic here, so let's only check if anything got returned at all.
Also add missing logging for result < 0.
2022-06-10 18:46:12 +02:00
Elad Ashkenazi
1738b38536
vm_native.cpp: Use Windows 10 memory mapping API (the correct API)
2022-06-10 14:27:02 +03:00
Megamouse
7235647e67
DS3: fix report size check.
...
The Report size seems to be generic here, so let's only check if anything got returned at all.
2022-06-10 06:47:01 +02:00
Megamouse
2a1e3b2b77
sys_rsxaudio: use max channel count from configured sound_modes
2022-06-09 18:59:13 +02:00
Megamouse
61823a5d62
sys_rsxaudio: only update config if the fxo is initialized
2022-06-09 18:59:13 +02:00
Megamouse
ba96c6f3bb
cellAudioOut: properly implement downMixer
...
If the PS3 downMixer is enabled, the game uses 8 channel input and 2 or 6 channel output
2022-06-09 18:59:13 +02:00
Megamouse
fd8931c87e
cellAudio: simplify sound mixer
...
There was no need to treat the first mix differently if all it did was init the buffer anyway.
Let's just always memset to zero.
2022-06-09 18:59:13 +02:00
kd-11
7530b3c971
vk: Fix image view search and destroy
2022-06-09 02:13:55 +03:00
Malcolm Jestadt
64616f1408
SPU LLVM: Microfixes
...
- Avoid vpermb path in shufb when op.ra == op.rb
- Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs
2022-06-08 22:50:30 +03:00
Elad Ashkenazi
004d9b09b8
LLVM: Fix 0 vector constant observation
2022-06-08 19:31:39 +03:00
Nekotekina
8d46840e09
Enable ppu_feed_data in PPU Interpreter
2022-06-07 15:24:50 +03:00
Nekotekina
753a12f436
Enable call history in PPU Interpreter
2022-06-07 15:24:50 +03:00
Megamouse
8e667e69f6
initial cellGameThemeInstall and cellGameThemeInstallFromBuffer
2022-06-07 07:37:30 +02:00
Megamouse
4d09be25aa
cellMsgDialog: send DRAWING_END on abort
2022-06-06 20:07:01 +02:00
Eladash
0f499e36fb
Optimize emulation stopping for when cellSysutilCheckCallback is not called
2022-06-06 19:21:41 +02:00
Eladash
f5beaabded
cellSysutil: Implement DRAWING callbacks
...
Also fixed a minor race in cellUserInfo regarding status of dialog
2022-06-06 19:21:41 +02:00
Elad Ashkenazi
248809ca1f
cellGame: Revert cellGameDataCheckCreate2 change for now
2022-06-06 13:41:20 +02:00
Eladash
f9bc7458d4
rsx: Resurgence of HLE GCM
2022-06-06 12:56:25 +02:00
Megamouse
c4459dff40
Qt: use dedicated thread for getting input in the pad settings
...
This fixes the slow motion and rubber banding in the pad settings dialog while using HID handlers.
Previously everything was running on the main thread including the UI updates.
This meant that the poll rate was simply too slow and we were never up to date with the current data.
2022-06-06 00:15:27 +02:00
Eladash
16381929ba
vm_var.h: Ensure 16-bytes alignment of gvar
...
Some PPU instructions require memory to be aligned otherwise they produce different results. I've already seen their usage in cellSaveData disassembly so may as well ensure it for all.
2022-06-05 20:47:49 +02:00
Eladash
f1b03b36f7
cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value
2022-06-05 20:47:49 +02:00
Megamouse
e9ba6fd034
Qt: use unique_ptr for Ui objects. Should fix some mem-leaks
2022-06-05 19:07:03 +02:00
Megamouse
bb03e17e2d
HID: optimize get_next_button_press a bit
2022-06-05 19:07:03 +02:00
Megamouse
09875a5180
HID: properly check return values and report IDs
2022-06-05 19:07:03 +02:00
Megamouse
4912202cfa
HID: zeroize buffers before getting a report, use std::array
2022-06-05 19:07:03 +02:00
Megamouse
f57da6655c
DualSense: Fix firmware report on newer versions
...
Newer versions of the DualSense return 64, while old versions return 65.
2022-06-05 19:07:03 +02:00
Megamouse
ac34714837
CellAudioOut: Add some placeholders to CellAudioOutCodingType
2022-06-05 13:34:34 +02:00
Megamouse
b4ce31cae3
cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY
2022-06-05 13:34:34 +02:00
Megamouse
5dffbca636
cellAudioOut: Only add LPCM 2ch. to secondary output
2022-06-05 13:34:34 +02:00
Megamouse
fec9fcda7d
Fix msvc parsing error caused by different naming
2022-06-05 13:34:34 +02:00
Megamouse
306776626a
cellAudioOut: set latency to 13
2022-06-05 13:34:34 +02:00
Megamouse
15be6827ea
cellAudioOutGetConfigure: Store and return set config seperately
2022-06-05 13:34:34 +02:00
Megamouse
8c0a786918
cellAudioOutConfigure: don't return error on unsupported config
...
Apparently the config simply isn't changed
2022-06-05 13:34:34 +02:00
Megamouse
8aa67114a9
cellAudioOut: Prefer 7.1 if available and supported
...
Select 7.1 as initial mode if the PARAM.SFO supports it and we enabled it
2022-06-05 13:34:34 +02:00
Megamouse
1bbb26334a
cellAudioOut: Use bev_bdvd for disc game PARAM.SFO
...
Game Data PARAM.SFO does not contain SOUND_FORMAT
2022-06-05 13:34:34 +02:00
Malcolm Jestadt
1227b0a633
SPU LLVM: Reneable icelake shufb paths
...
- The previous code works just fine
2022-06-05 13:08:00 +03:00
kd-11
6c315e8aee
gl: Disallow overlapping binding points
2022-06-05 10:13:41 +03:00
Elad Ashkenazi
88faac7bbc
rsx: Minor fixup ( #12165 )
2022-06-04 15:04:27 +01:00
Elad Ashkenazi
9bb7e8d614
rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) ( #12107 )
2022-06-04 15:35:06 +03:00
kd-11
286f97fad0
rsx: Reduce some error spam
2022-06-04 14:02:33 +03:00
kd-11
f0a02e0d9d
gl: Fix leaking texture views
2022-06-04 14:02:33 +03:00
kd-11
8185bfe893
gl: Track image destruction and remove handles from state tracker
...
- Handles are reused for different resources which can cause problems
2022-06-04 14:02:33 +03:00
kd-11
d577cebd89
gl: Refactor image and command-context handling
...
- Move texture object code out of the monolithic header
- All texture binds go through the shared state
- Transient texture binds use a dedicated temp image slot shared with native UI
2022-06-04 14:02:33 +03:00
Malcolm Jestadt
0e5514003a
SPU LLVM: Optimize LQR/STQR
...
- Avoid type mismatch between adds that prevented llvm from combining the operations
2022-06-03 16:16:28 +03:00
kd-11
167161d8ce
rsx: Restore some accidentally removed depth-format conversion macros
2022-06-03 11:54:09 +03:00
kd-11
b8b0ecabd8
gl: Fix data pointer on the optimized AMD path
2022-06-03 11:54:09 +03:00
kd-11
bb05de2e80
gl: Fix copypasta
2022-06-03 11:54:09 +03:00
kd-11
7890e87234
gl: Fix warning
2022-06-03 11:54:09 +03:00
kd-11
25c05867d6
gl: Fix ring buffer remove() function
...
- Fixes crash on running a second game in the same session
2022-06-03 11:54:09 +03:00
kd-11
a421270c19
gl: Use new scratch buffer system
2022-06-03 11:54:09 +03:00
kd-11
764fb57fdc
gl: Implement scratch ring buffer with memory barriers
2022-06-03 11:54:09 +03:00
kd-11
3fd846687e
gl: Refactor buffer object code
2022-06-03 11:54:09 +03:00
kd-11
ff9c939720
gl: Assume decode buffer is to be used as SSBO as this seems to be a hint to the driver about where to put the buffer
...
Part of OpenGL's achilles' heel - the API does not distinguish between VRAM and SYSTEM memory at all and relies on developers wrestling with the driver's heurestic algorithm for this.
2022-06-03 11:54:09 +03:00
kd-11
234db2be3f
gl: Fix texture binding in overlay renderer
2022-06-03 11:54:09 +03:00
kd-11
fc44d53bb0
gl: Reset buffer size on destroying the GPU handle
2022-06-03 11:54:09 +03:00
kd-11
555a4b5f5c
gl: Suggest readback buffer as ssbo if it is not provided
...
- We're likely to jump into a compute or readback pass anyway.
2022-06-03 11:54:09 +03:00
kd-11
a6e6df1445
gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8
2022-06-03 11:54:09 +03:00
RipleyTom
2010d697c8
feat: add boot test menu entry
2022-06-03 01:15:54 +02:00
Megamouse
26045a9be5
Move test elfs to test dir
...
TEST12345 is already taken by dev builds
2022-06-02 23:19:34 +02:00
Megamouse
06e5b8a06a
cellAudioOut: add stereo, 5.1 and 7.1 for covenience
2022-06-02 13:12:04 +02:00
Megamouse
94aef197dd
cellAudioOut: switch to manual multi-selection of format as seen on PS3
2022-06-02 13:12:04 +02:00
Megamouse
a86e7eeba0
cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected
2022-06-02 13:12:04 +02:00
Megamouse
95a3ce68ce
cellAudioOut: log all added sound modes
2022-06-02 13:12:04 +02:00
Megamouse
9ab1e69697
cellAudioOut: simplify sfo access and make it foolproof
2022-06-02 13:12:04 +02:00
Megamouse
4f03cf7e1e
PSF: move resolution flags to enum
2022-06-02 13:12:04 +02:00
Megamouse
60d80fd5fc
PSF: move sound format flags to enum
2022-06-02 13:12:04 +02:00
Megamouse
350d3ad386
cellAudioOut: fix AC3/DTS mixup
2022-06-02 13:12:04 +02:00
Megamouse
d6065e8814
cellAudioOut: add sound modes even if they aren't supported
2022-06-02 13:12:04 +02:00
Megamouse
363808a57b
cellAudioOut: simplify sound mode initialization
2022-06-02 13:12:04 +02:00
Megamouse
3402835c8e
cellAudioOut: apply review fixes, add some comments
2022-06-02 13:12:04 +02:00
Megamouse
911d37e4d7
cellAudioOut: use 2 channel LPCM by default and also use it as fallback
2022-06-02 13:12:04 +02:00
Megamouse
72e1e242a3
cellAudio: use format instead of downmix
2022-06-02 13:12:04 +02:00
Megamouse
c42ff338e7
cellAudioOutGetSoundAvailability: return channel count based on available sound modes
2022-06-02 13:12:04 +02:00
Megamouse
4f81fcd5cc
cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent
2022-06-02 13:12:04 +02:00
Megamouse
d47f1ef406
cellAudio: Implement application based downmix settings
2022-06-02 13:12:04 +02:00
Nekotekina
422246825b
vm: workaround bigger native page size for 4k pages
...
Always allocate full memory block if native page size > 4k
2022-06-02 12:56:49 +03:00
Nekotekina
b0ccd2a8a0
Implement utils::c_page_size (unused)
...
Query platform memory page size.
2022-06-02 12:56:49 +03:00
Nekotekina
76c72351a5
rsx_methods: fix warning
2022-06-02 12:56:49 +03:00
Megamouse
03df3c5293
cellAudioQuit: do not clear event queues
...
They seem to be handled independently.
2022-05-31 23:38:29 +02:00
RipleyTom
dd31574b4f
fix: changes execl to execv for compatibility with checkrt
2022-05-31 22:55:31 +02:00
kd-11
eb52ac55a7
gl: Fix AMD buffer decode
2022-05-31 23:34:14 +03:00
kd-11
d167582f6b
gl: Implement on-chip buffer-to-d24x8 conversion
2022-05-31 23:34:14 +03:00
kd-11
dd6cb054a7
gl: Add missing viewport save
2022-05-31 23:34:14 +03:00
kd-11
b97557ce7b
gl: Use DSA for compressed texture upload
2022-05-31 23:34:14 +03:00
kd-11
964fd1095e
gl: Properly preserve texture state
...
- Remove rogue glBindTexture calls and use gl commandstate object instead
2022-05-31 23:34:14 +03:00
kd-11
fcc6c2384b
Fix linux build
2022-05-31 23:34:14 +03:00
kd-11
a5d73f41b5
gl: Remove debug message
2022-05-31 23:34:14 +03:00
kd-11
1b305bf789
gl: Workaround for poor AMD OpenGL performance
...
- Turns out the AMD driver really hates it if you render with a mapped index buffer.
The driver internally seems to make a copy of the consumed indices and uses that. Very slow.
I was able to isolate this after observing that glDrawArrays is not entirely shit, but glDrawElements duration scaled linearly with the number of vertices.
2022-05-31 23:34:14 +03:00
kd-11
943752db30
gl: Compute optimizations
...
- Keep buffers around longer to allow driver heurestics to work
- Properly initialize the shaders to allow optimal workgroup dispatch size
2022-05-31 23:34:14 +03:00
kd-11
60a2a39e88
gl: Deswizzle textures on the GPU
2022-05-31 23:34:14 +03:00
kd-11
532563e861
gl: Update some more buffer-object functions
2022-05-31 23:34:14 +03:00
kd-11
3ee27bd434
gl: Optimize consumption of buffer objects when uploading textures
2022-05-31 23:34:14 +03:00
kd-11
55e68441cb
gl: Commit to bindless framebuffer object management
2022-05-31 23:34:14 +03:00
kd-11
7ec481d99b
rsx: Allocate scratch memory using simple array with no default initialize
...
- This cuts down processing time significantly by eliminating calls to memset_stosb
2022-05-31 23:34:14 +03:00
kd-11
129e947720
gl: Improve CS throughput
...
- Avoids making too many invocations, especially given the 1D nature of some GPU dispatch handlers
2022-05-31 23:34:14 +03:00
kd-11
e964060a6a
gl: Handle texture binding using the global state tracker
2022-05-31 23:34:14 +03:00
kd-11
74696d2e44
gl: Commit to a consistent global state
2022-05-31 23:34:14 +03:00
kd-11
78746fdb6f
gl: Commit to using DSA for internal buffer management
...
- Gets rid of spammy BindBuffer calls on every draw
2022-05-31 23:34:14 +03:00
kd-11
ed2068fb03
gl: Rewrite buffer mapping
2022-05-31 23:34:14 +03:00
kd-11
b61c4d3693
gl: Fix stat counters
2022-05-31 23:34:14 +03:00
kd-11
81b9952e34
gl: Do not allow cross-aspect bitcasts
...
- There is special handling for some cross-aspect bitcasts in vulkan, but this is not possible using OpenGL
2022-05-31 23:34:14 +03:00
brian2081
64958264c5
Fix issue #12137
2022-05-31 23:06:46 +03:00
Elad Ashkenazi
bda52a51a7
Debugger: Show HEX view of floating-point PPU registers
2022-05-31 07:36:10 +02:00
Megamouse
bab4136411
Qt: fix tooltips and widget states in settings
2022-05-30 23:38:16 +02:00
Darkhost1999
e4fe335e75
Qt: add vblank_ntsc_fixup to UI ( #12042 )
2022-05-30 20:17:43 +02:00
Darkhost1999
0a7ac4d42a
Qt: Misc text updates ( #12110 )
2022-05-30 19:35:41 +02:00
Elad Ashkenazi
95233b5299
rsx: Fix deadlock in vm::_page_unmap
2022-05-30 11:53:34 +03:00
RipleyTom
8b6f68abcf
fix: parsing bug in read_metadata
2022-05-29 22:36:30 +02:00
Malcolm Jestadt
e9dfb3cb63
SPU LLVM: Fixup for inline MFC transfers
...
- Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead.
2022-05-29 19:08:36 +03:00
Vestral
5b0badc215
sys_rsxaudio: timer fix
2022-05-29 14:59:12 +02:00
Malcolm Jestadt
6f4398889e
SPU LLVM: Optimize inline MFC transfers
...
- Use wider instructions when possible
2022-05-29 15:32:25 +03:00
Eladash
dd4722fc1f
rsx: Fix second VBLANK time
...
Turns out that both VBLANK time and flip time clock at 80Mhz which is MFTB rate, just that cellGcmGetLastFlipTime is missing conversion to microseconds, so odd.
2022-05-29 14:23:28 +02:00
Eladash
eec27f0e89
Revert "rsx: Fix FLIP time"
...
This reverts commit 256eb17ae5 .
2022-05-29 14:23:28 +02:00
RipleyTom
baf51a2e2f
fix: unset APPDIR before launching new appimage
2022-05-29 08:09:07 +02:00
Eladash
256eb17ae5
rsx: Fix FLIP time
2022-05-28 13:00:42 +02:00
Elad Ashkenazi
610d29dab0
rsx: Fix VBLANK time
2022-05-28 13:00:42 +02:00
RipleyTom
aaef4a2d5b
More verbose errors in nt_p2p_port
2022-05-27 08:56:39 +02:00
Eladash
27b28cf6ec
sys_spu: Fix spu_thread_group_terminate deadlock
2022-05-26 18:04:52 +03:00
Megamouse
345bda69ec
Overlays: Add screenshot message to queue
2022-05-26 08:52:12 +02:00
Eladash
a9a1204ab9
sys_rsx: Full reset of flip semaphore
2022-05-25 17:36:28 +03:00
Eladash
e7ced1aeab
Debugger: Implement SPU mailbox content display
2022-05-25 17:36:28 +03:00
Eladash
56f95934f5
Fix cellVdec regression to be harmonized with the new interrupts model
2022-05-25 17:36:28 +03:00
Megamouse
88ee62be26
cellAdec: fix uninitialized default size of AVPacketHolder ( #12077 )
2022-05-25 11:40:51 +02:00
Eladash
961d41d0bd
RawSPU: Reinvoke pending interrupts if missed
2022-05-25 11:46:51 +03:00
kd-11
9c824aa0b5
vk: Enable event scope hack for INTEL proprietary drivers
2022-05-24 20:11:31 +03:00
kd-11
efff2a78c8
vk: Restructure how the conditional render evaluation is done ( #12071 )
...
Fixes conditional render fast-path
2022-05-24 11:11:21 +03:00
Vestral
608f823516
sys_rsxaudio: Add id to kernel explorer and some fixes
2022-05-23 13:10:46 +02:00
RipleyTom
e68ffdbc81
Add a message overlay
2022-05-23 08:38:02 +02:00
RipleyTom
3dc9a8b980
fix lv2_socket_native::accept
2022-05-23 07:36:51 +02:00
MSuih
b0e5db0eb0
Limit range of wake-up delay slider + adjust tooltip
2022-05-22 22:32:19 +02:00
kd-11
7c8fbc35bc
rsx: Move PS3-compliant behavior to a new option
2022-05-21 16:35:35 +03:00
kd-11
b637429e44
Fix display flickering
2022-05-21 16:35:35 +03:00
kd-11
d52bb78d2c
rsx: Trivial non-blocking display synchronization
2022-05-21 16:35:35 +03:00
Eladash
1be36fe6a9
Remove all HDD0's temporary game data created by cellGame at boot
2022-05-21 10:57:12 +03:00
Eladash
1088375b38
Wipe clean VSH's temporary directory of choice at boot
2022-05-21 10:57:12 +03:00
Eladash
285322982f
Do not dare to touch HDD1 cache during game process respawn!
2022-05-21 10:57:12 +03:00
kd-11
4e6be9172a
rsx: Asynchronously flush the pipelines when handing ZCULL memory access violations
2022-05-21 10:06:32 +03:00
kd-11
0e1333ed5f
rsx: Deadlock avoidance of accurate RSX reservations
2022-05-21 10:06:32 +03:00
Eladash
cd74fb6a6d
rsx: Implement HW accurate frame limiter
2022-05-20 22:40:48 +02:00
kd-11
ec2d529832
rsx: Separate loop interrupts from graphics state
...
- The interrupts are for multithreaded signals andmake the main loop run more aggressively for the next cycle
2022-05-20 16:29:27 +03:00
kd-11
257556bbf5
rsx: Add eng lock before flagging memory unmap
...
- This is much better than polling on atomics every cycle for something that happens a few times during gameplay
2022-05-20 16:29:27 +03:00
kd-11
93d93b4805
rsx: Fix typo
2022-05-20 16:29:27 +03:00
kd-11
e368453751
rsx: Rework loop interrupts a bit
...
- Reset backend interrupt in core handler
- Separate memory config interrupt from regular backend interrupt
2022-05-20 16:29:27 +03:00
kd-11
d0dc095c84
rsx: Silence some log spam
2022-05-20 16:29:27 +03:00
kd-11
360fdca5ac
vk: Avoid multimap when handling image views
2022-05-20 16:29:27 +03:00
kd-11
e1b95913ea
rsx/zcull: Improve deadlock avoidance
...
- Do not acquire eng lock while holding the page lock
RSXThread may be waiting on the page lock and will never ack the pause request
2022-05-20 16:29:27 +03:00
kd-11
a3ea9e2985
rsx/zcull: Less aggressive disabling of optimizations
2022-05-20 16:29:27 +03:00
kd-11
e9bf3e13d0
rsx/zcull: Pause the main thread before flushing reports
2022-05-20 16:29:27 +03:00
kd-11
9e02471ded
Fix VS
2022-05-20 16:29:27 +03:00
kd-11
094fda0e73
Crash fix
2022-05-20 16:29:27 +03:00
kd-11
d2de560060
rsx: Improve sync_hint callback interface
2022-05-20 16:29:27 +03:00
kd-11
5315eb546f
rsx: Stop spamming ZCULL update method
...
- This has a negative impact when ZCULL is active due to spamming __rdtsc
- While the method is fast, it is not free and some checks are done before the instruction can be emitted
Let's use the saved time to actually get something useful done
2022-05-20 16:29:27 +03:00
kd-11
7fa521a046
rsx/vk: Redesign how conditional rendering hints work
...
- Pass a sync address to the backend
- Ignore the hint if the query is running in lazy mode
- Do not submit CBs too close to each other. Submits are expensive
2022-05-20 16:29:27 +03:00
kd-11
0244c4046e
rsx: Lower performance hit due to frequency fetch
2022-05-20 16:29:27 +03:00
kd-11
7e8c93bea2
Random optimization
2022-05-20 16:29:27 +03:00
kd-11
8cd7a44a25
gcm: Force HLE of cellGcmGetTimestamp
...
- This is the only way to know if a report is being used for ZCULL or timestamps only.
If the game is not reading the ZCULL data, the access guards will detect it and optimize usage around that.
2022-05-20 16:29:27 +03:00
kd-11
9a1e6cc3e8
rsx: Implement RSX reports area access detection and optimize around it
...
- If nobody is reading RSX reports, do not be in a hurry to write them
- Requires HLE of some methods (cellGcmGetTimestamp) to function correctly
2022-05-20 16:29:27 +03:00
kd-11
34220ec447
lv2: Make some struct declarations uniform
2022-05-20 16:29:27 +03:00
kd-11
f0135a02f5
vk: Unconditionally enable hw acceleration for conditional evaluation
2022-05-20 16:29:27 +03:00
kd-11
0b7e013fbe
rsx: Simplify ZCULL logic a bit
2022-05-20 16:29:27 +03:00
kd-11
850eef0c1a
rsx: Move ZCULL logic to its own file
...
- It's over 1k lines of code in its own namespace; it really should be in its own file
2022-05-20 16:29:27 +03:00
Elad Ashkenazi
5a581f46df
Add a constraint about vm area approx matching
2022-05-19 21:29:18 +03:00
Eladash
b334621d76
PPU DisAssembler: Prevent false function descriptor detection
2022-05-19 21:29:18 +03:00
Elad Ashkenazi
a768855a7a
Update PPUThread.cpp
2022-05-19 18:16:53 +03:00
Eladash
7ddeb0d00f
Implement sys_process_exit3
2022-05-19 13:59:52 +03:00
Eladash
2ba437b6dc
SPU: Implement timer freezing ability
2022-05-14 22:03:47 +03:00
Eladash
f2920bc30d
Debugger: Fix instruction "pop-in" when resizing
...
Display incomplete elements.
2022-05-14 10:46:07 +02:00
Eladash
d043f46270
Fix recursion in the debugger
2022-05-14 10:46:07 +02:00
Megamouse
1e1b111678
sceNp: register custom menu
2022-05-13 21:52:14 +02:00
Eladash
1f5ce4f619
Loader: Fix out-of-bounds access of string
...
There was no need to manually align size, it only creates a bug with memcpy usage.
2022-05-13 19:53:48 +03:00
Eladash
524da5dc54
LV2: Memory state post-exitspawn fixes
...
* Fix memory capacity if SDK version of the following executable differs from the original process'.
* Keep user memory containers, they are not freed at exitspawn!
Hw test 4bf60023ee
2022-05-13 13:15:07 +03:00
Eladash
a2a6303a22
PPU LLVM: Precompile system-internal executables if booting a dev_flash's program
2022-05-12 19:55:07 +03:00
Eladash
6805d8c7e0
SPU: Fix race on SPU Mailbox last value reading
2022-05-12 13:44:12 +03:00
Megamouse
5ae9de4e3b
CLI: add decrypt option
2022-05-11 21:13:20 +02:00
RipleyTom
2f9b930c6b
Fix for ticket parsing
2022-05-11 19:03:54 +02:00
Nekotekina
e243ef5907
PPU: implement accurate FRES
...
Implemented with an accurate lookup table.
2022-05-11 10:46:08 +03:00
doesthisusername
7b162c7513
PPU: implement quasi-accurate FRSQRTE
...
Denormals are handled like zeros.
NaN handling is inaccurate in some cases.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2022-05-11 10:46:08 +03:00
JoãoPaulo
5b8f105308
Update FW 4.89 Latest Version
...
Updates the latest FW version according to: https://www.playstation.com/en-us/support/hardware/ps3/system-software/
List of changes:
Version 4.89
Signing in to PlayStation Network now requires a device password for enhanced account protection.
Account creation for PlayStation Network and some account management features are no longer available on the console. Use your PC or mobile browser to use account management features with improved performance, speed, and safety.
2022-05-11 00:17:01 +02:00
NicknineTheEagle
1df47352cc
Implemented sceNpDrmGetTimelimit
2022-05-10 23:24:00 +02:00
NicknineTheEagle
e4225cbab8
Fixed duplicate prefix in SELF log
2022-05-10 23:24:00 +02:00
NicknineTheEagle
83ca7654b1
Return NPD header in verify_npdrm_self_headers and VerifyEDATHeaderWithKLicense
2022-05-10 23:24:00 +02:00
NicknineTheEagle
8065dbc2e7
Unified NPD header in unedat.h
2022-05-10 23:24:00 +02:00
Eladash
d03fcad9bd
cellAudio: Some bugfixes
...
* Reading position storage is 16 bytes aligned according to hw test.
* Fix cellAudioGetPortConfig portSize reporting, now matches PS3.
* Remove ghost code about unearthly 6 channels cellAudio port mode.
2022-05-10 22:39:34 +02:00
Megamouse
e494fc04e5
sceNp: add some constants
2022-05-10 21:55:35 +02:00
Eladash
d77c9139ad
Debugger: Show constant-formed attribute of register value
2022-05-10 22:34:29 +03:00
RipleyTom
4479d99a9a
Implement sceNpManagerGetTicketParam
2022-05-10 21:04:15 +02:00
Megamouse
072c289f5e
Qt: add new vfs usb tab
2022-05-10 19:39:35 +02:00
Megamouse
a538f655be
sys_fs_fcntl: hook up usb device info
2022-05-10 19:39:35 +02:00
Megamouse
b888a6ba37
VFS: Add device_info to vfs config
2022-05-10 19:39:35 +02:00
Eladash
de988f6a76
MSELF extractor: Ensure the files' dwellings
2022-05-10 09:58:59 +03:00
Megamouse
2b325de680
Workaround: Force audio provider
...
This hides the audio_provider box in the settings and forces the proper provider based on boot path.
Stop-gap solution until we decided what to do with vsh settings.
2022-05-08 02:08:20 +02:00
Megamouse
d83fac4247
cellAudio: fix timestamp exception
2022-05-08 02:08:20 +02:00
Nekotekina
0a5ea859ea
atomic.cpp: fix race in cond_id_lock()
2022-05-07 21:25:38 +03:00
Megamouse
5476b9098e
cellHttp: add more errors
2022-05-07 14:46:57 +02:00
Megamouse
e5a75cfd1c
sceNpTrophyGetTrophyUnlockState: handle read_only
2022-05-07 13:58:05 +02:00
Megamouse
1f745c4588
sceNpTrophyRegisterContext: add read_only check
2022-05-07 13:58:05 +02:00
Megamouse
6c7f49d563
sceNpTrophy: don't use TROPHY.TRP in CreateContext
2022-05-07 13:58:05 +02:00
Megamouse
dae51a4a2b
sceNpTrophy: remove confirmed comment
2022-05-07 13:58:05 +02:00
Megamouse
d113324a90
sceNpTrophyRegisterContext: handle SHOW_ERROR_EXIT
2022-05-07 13:58:05 +02:00
Eladash
1cab99b3ca
Make CPU Profiler able to print stats which sum up the records of all SPU threads
...
Hitherto the statistics have been exclusively thread-specific.
Other improvements:
* Fixed container management so a collision of a new element with an older element of the record will become impossible.
* Added thread name to thread-specific information printing.
* Fixed condition to abort SPU block statistics collection, now matches SPU LLVM Profiler's.
* Fix possible division by 0 by checking `samples`.
2022-05-07 12:57:54 +03:00
Nekotekina
f7d08d3371
ELF: fix sh_flag bitset enum
2022-05-06 15:44:29 +03:00
RipleyTom
02d22dca95
Add Top Shot Elite controllers to whitelist
2022-05-05 22:33:50 +02:00
Megamouse
7764cb2b80
Qt: disable mouse movement mode groupbox
2022-05-05 21:39:12 +02:00
Eladash
be5f8413ca
Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised ( #11940 )
2022-05-05 22:15:08 +03:00
RipleyTom
ce48d880d9
Fix for device2host control transfers
2022-05-05 19:24:01 +02:00
RipleyTom
8d950620b7
dnshook: add asterisk support
2022-05-05 18:49:39 +02:00
Nekotekina
10b33d0f79
SPU: optimize conflicting PUTLLUC (No-TSX)
...
Enable previously TSX-only optimization.
2022-05-05 19:16:16 +03:00
Megamouse
2706486559
input: add absolute mouse movement mode
2022-05-05 16:50:39 +02:00
Vestrel
d1e468fefb
sys_rsxaudio: Initial implementation ( #11907 )
2022-05-05 15:47:44 +02:00
RipleyTom
0ac90ac395
sys_net: ensures return from raw socket calls
2022-05-05 14:37:54 +02:00
Megamouse
fef779feca
cellRec: fix pOpt pointer type
2022-05-05 12:23:12 +02:00
Megamouse
ced890301c
cellRec: fix some warning
2022-05-05 12:23:12 +02:00
Megamouse
7d73d90c1a
cellGameExec: fix warnings
2022-05-05 12:23:12 +02:00
Darkhost1999
4e40260f1f
Add Force_Disable_Exclusive_Fullscreen_Mode to UI ( #11923 )
2022-05-05 11:19:03 +02:00
Eladash
3aebb8cb41
Tentative fix for unreadable ELF sections without flags
2022-05-05 07:33:07 +03:00
Eladash
fcbeb2fa22
Remove slow vm::writer_lock usage from SPUThread.cpp
2022-05-04 23:36:57 +03:00
Eladash
7a3cbf1876
Fix Emulator::argv state after failed PS3 exitspawn
2022-05-04 23:36:57 +03:00
Eladash
3dda72e47f
SPU: Cache reservation memory direct access handle (optimization)
2022-05-04 20:28:55 +03:00
Nekotekina
a2bfd5fcfc
Minor AArch64 support changes
2022-05-04 16:12:32 +03:00
Nekotekina
6501374a34
Add supporters
2022-05-04 16:12:32 +03:00
Eladash
63669000ab
PPU Loader Fix removing writablity permission for RSX/SPU writable segments
2022-05-04 12:03:10 +03:00
Eladash
f9a62667cf
SPU/PPU Loader: Implement linker/PS3 compiler executable files loading
2022-05-03 20:47:36 +03:00
Megamouse
6cc1466baa
halfplement cellRec
2022-05-03 18:19:31 +02:00
Megamouse
bcd77ac65e
halfplement cellVideoExport
2022-05-03 18:19:31 +02:00
Nekotekina
0786a0a088
PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP
2022-05-03 08:27:44 +03:00
Eladash
c14e79f8df
Debugger: Fix instruction selection
2022-05-02 17:01:02 +03:00
Eladash
8cc6a30557
Debugger: Fix instruction pointer for good
2022-05-02 17:01:02 +03:00
Nekotekina
5c1f79ab26
vm: remove g_mutex, use g_range_lock instead
...
Simplification and performance improvements.
2022-05-02 10:29:28 +03:00
Ani
799c4837d3
rpcs3_version: Bump to 0.0.22
2022-05-01 15:23:47 +02:00
Eladash
5eeb79ffa1
Fix forced HLE injection
2022-05-01 09:21:49 +02:00
Eladash
159f9494a9
Debugger: Keep instruction's panel up-to-date with memory changes
2022-04-30 14:01:31 +03:00
RipleyTom
8316469cfc
Update libusb to v1.0.26
2022-04-29 02:04:52 +02:00
kd-11
7a434d19a6
rsx/vp: Zero-initialize temporary registers
2022-04-28 01:31:07 +03:00
kd-11
95ac7724a6
Fix typos
2022-04-28 01:31:07 +03:00
kd-11
e236ba4daf
rsx: Improve lowered precision comparison emulation
2022-04-28 01:31:07 +03:00
RipleyTom
5746df4046
sceNpMatching2CreateContext checks psn state ( #11887 )
2022-04-27 22:16:16 +01:00
Megamouse
e0d3a3b0ed
cellOskDialog: do not intercept input unless we actually show a dialog
2022-04-26 00:51:38 +02:00
Megamouse
3183d73e4d
OSK/overlays: fix initial input interception
...
Don't use default interception if we already intercept with custom params.
2022-04-26 00:51:38 +02:00
Megamouse
c8700dd246
Input: log interception and its source function
2022-04-26 00:51:38 +02:00
Eladash
08ebc59db0
Fix instructions editor, implement preview for to-be-edited instructions
2022-04-25 20:15:10 +02:00
Eladash
7329fa9cf5
TRPLoader: Use std::string_view
2022-04-25 20:15:10 +02:00
Eladash
27becdec97
TAR: Allow to use save_directory with a buffer not 512-bytes aligned
2022-04-25 20:15:10 +02:00
Megamouse
8d662e9327
overlays: enable key repeat by default
2022-04-25 19:44:56 +02:00
Megamouse
ff7636ea01
OSK/overlays: handle keyboard enter and escape
2022-04-25 19:44:56 +02:00
Megamouse
8f14f392fd
overlays: ignore input if kb pad handler is active
2022-04-25 19:44:56 +02:00
Megamouse
a1abc79f28
cellOskDialog: add event_hook_callback logging
...
And refactor the callback a bit
2022-04-25 19:44:56 +02:00
Megamouse
5fad7e1b87
OSK: flush key input to prevent key event spam
2022-04-25 19:44:56 +02:00
Megamouse
3d0f751211
cellMusic: lower some log levels to reduce spam
2022-04-25 19:44:56 +02:00
Megamouse
8864f944e2
cellOskDialog: implement dimmer_enabled
2022-04-25 19:44:56 +02:00
Megamouse
918984ee64
overlays: only log actual input loop errors
2022-04-25 19:44:56 +02:00
Megamouse
b29f106c51
cellOskDialog: implement base_color
2022-04-25 19:44:56 +02:00
Megamouse
71f8280c5e
cellOskDialog: implement KeyboardEventHookCallback
2022-04-25 19:44:56 +02:00
Megamouse
0ff293707a
OSK: allow device input during interception
2022-04-25 19:44:56 +02:00
Megamouse
9adab801ac
cellOskDialog: implement device mask and lock
2022-04-25 19:44:56 +02:00
Megamouse
43e7776f4d
cellOskDialog: add some error checks and TODOs
2022-04-25 19:44:56 +02:00
Megamouse
aee91b4f6f
OSK: Ignore gamepad input if a key was pressed
2022-04-25 19:44:56 +02:00
Megamouse
ffd36ea662
OSK: handle keyboard input
2022-04-25 19:44:56 +02:00
Megamouse
abf80cc112
keyboard: use std::array, default init, + KbButton
2022-04-25 19:44:56 +02:00
shockdude
43d26fa6b6
Make Guitar Hero Live Guitar GHTV button bindable
...
Also make emulated interrupt transfer as fast as possible
2022-04-24 20:18:36 +02:00
RipleyTom
d02a8ba2b9
Update flatbuffers to v2.0.6
2022-04-24 19:43:40 +02:00
Megamouse
9acc606e4d
Log: add ability to force log all errors
2022-04-24 19:11:34 +02:00
Megamouse
e52386ccfb
Log: ensure fmt
2022-04-24 19:11:34 +02:00
Megamouse
1d40c06c19
Log: Add spacer between error and fmt if necessary
2022-04-24 19:11:34 +02:00
Megamouse
c175cdf3d8
cellVdec: send AUDONE even when the queue is being flushed/restarted
...
Fixes GT6 regression
2022-04-24 17:39:49 +02:00
Megamouse
7924784215
cellVdec: log sequence id of commands
2022-04-24 17:39:49 +02:00
Megamouse
06cbc96722
cellVdecStartSeq: log level warning
2022-04-24 17:39:49 +02:00
Megamouse
dcda332a93
cellVdec: send AUDONE before PICOUT
2022-04-24 17:39:49 +02:00
Megamouse
eac4e991bd
cellVdec: add callback and command id logging
2022-04-24 17:39:49 +02:00
Megamouse
9284344480
cellVdec: fix cellVdecStartSeq (restart mode)
2022-04-24 17:39:49 +02:00
Megamouse
2c03467eec
cellVdec: improve logging a bit
2022-04-24 17:39:49 +02:00
Megamouse
b67cda7cbb
cellVdec: add handle to more log messages
2022-04-24 17:39:49 +02:00
Nekotekina
cd6aa0774f
Reduce stack usage in atomic_wait_engine::notify_all
2022-04-24 13:26:28 +03:00
Nekotekina
6d3052c5dd
Optimization: disable atomic_wait_engine notify callback for SPU
...
Disable placebo callback calls in notify_all.
Don't use callback at all if TSX.
Based on kd-11 findings.
2022-04-24 13:15:54 +03:00
Megamouse
fb27ed4deb
libav: remove deprecated option refcounted_frames
...
According to fe85afbf8c/doc/APIchanges (L743)
this option is deprecated and obsolete for the newer send/receive logic.
Should fix runtime exceptions with newer ffmpeg versions.
2022-04-24 11:05:22 +02:00
nastys
f21b298e5e
Make MSL Fast Math and software vkSemaphore optional
2022-04-24 09:25:13 +02:00
Vestral
f6de42a2ae
Update cubeb to latest version
2022-04-24 08:00:17 +02:00
Megamouse
8acb62f6ee
HLE: simplify some error formats
2022-04-22 20:56:21 +02:00
Megamouse
1d6fbf1c35
cellGameGetParamString: fix patch mode
2022-04-22 20:56:21 +02:00
Eladash
f92b487947
rsx: Allow NV0039 0x2100
2022-04-22 18:20:23 +03:00
Megamouse
6a67155404
Qt: fix access to uninitialized Pad object
...
Fixes a crash when opening the pad settings before the pad handlers are initialized.
2022-04-22 00:00:34 +02:00
Megamouse
f42e647430
cellVdec: use av_error_to_string
2022-04-21 22:22:33 +02:00
Megamouse
7c65c1e3aa
cellVdec: Remove irritating while loop
2022-04-21 22:22:33 +02:00
Megamouse
9f51003366
cellVdecGetPicture and cellVdecGetPictureExt swap
...
This fixes a possible issue with the error handling order.
2022-04-21 22:22:33 +02:00
Megamouse
512eb93a62
cellVdecDecodeAu: fix param check
2022-04-21 22:22:33 +02:00
Megamouse
9c919db9ae
cellVdec: fix out format line offsets
...
Fixes video output in Uncharted 2
2022-04-21 22:22:33 +02:00
Megamouse
61ada2c1dc
cellVdec: call av_dict_free
2022-04-21 22:22:33 +02:00
Megamouse
bd5bff321e
cellVdecDecodeAuEx2: some REd guesswork
2022-04-21 22:22:33 +02:00
Megamouse
ee3a302cf2
cellVdecDecodeAu: add codec type check
2022-04-21 22:22:33 +02:00
Megamouse
fb3752a8ef
CellVdecDivxSpecificInfo2 (who knows if this is correct...)
2022-04-21 22:22:33 +02:00
Megamouse
548b748f50
CellVdecPicAttr
2022-04-21 22:22:33 +02:00
Megamouse
771009f333
cellVdec: add more error logging
2022-04-21 22:22:33 +02:00
Megamouse
db731d307e
CELL_CODEC_PTS_INVALID, CELL_CODEC_DTS_INVALID
2022-04-21 22:22:33 +02:00
Megamouse
c6f3f386df
cellVdec: implement CELL_VDEC_ERROR_SEQ
2022-04-21 22:22:33 +02:00
Megamouse
8d781a737b
Qt: Replace some deprecated Qt5 stuff
2022-04-21 21:23:10 +02:00
Megamouse
e9af0bb72b
cellGameGetParamString: check_mode for category
2022-04-21 20:56:11 +02:00
Megamouse
d8bbec9594
libav: log more error codes as string
2022-04-21 08:10:01 +02:00
Eladash
f1a37da94c
Update main_window.cpp
2022-04-20 08:28:46 +02:00
kd-11
bca7b02ae9
Fix compressed pitch calculation
2022-04-19 22:58:29 +03:00
sguo35
e761b3235c
macos: fix build for arm64
...
Adds arm64 branches to some x86 specific code and modifies some casting
logic to make Clang happy
2022-04-18 17:53:54 +03:00
Timo654
afae58b231
Interpret negative values in game patches
2022-04-18 17:01:19 +03:00
RipleyTom
563af4211a
sys_net: Fix race between dnshook and nc
2022-04-17 00:06:21 +02:00
Megamouse
184bd51b87
Qt: Add timestamp filter to log viewer
...
This is incredibly useful if you want to copy paste two logs into Meld for example
2022-04-16 20:49:50 +02:00
RipleyTom
895af3c3ab
sys_net: SYS_NET_ENETDOWN for offline dns rqsts ( #11822 )
2022-04-16 13:00:04 +01:00
Eladash
6783bcd273
Log a snippet of guest thread code at crash
2022-04-15 22:34:51 +03:00
Eladash
1d51f3af0c
RSX-Debugger: Implement backwards scrolling
...
* Use 2 points of known true RSX code roots and follow them in order to peek at the current section of valid RSX code:
These roots are: current RSX instruction address and the last targeted address by a branch instruction.
2022-04-15 22:34:51 +03:00
RipleyTom
26d8120168
sys_net fixes and extra logging
2022-04-15 19:43:23 +02:00
Megamouse
841f815be3
Qt: unify version displays
...
The only version that is different is the game window due to some formatting.
And the update message due to some logic that is better left unchanged.
2022-04-14 23:16:40 +02:00
RipleyTom
d6b0263144
sys_net fixes
...
Fix lv2_socket_p2ps::connect
Fix sys_net_bnet_poll
2022-04-14 09:18:58 +02:00
RipleyTom
91768c025c
Add some error handling to sys_usbd
2022-04-14 08:26:23 +02:00
kd-11
57aee92bfe
rsx: Separate guest flip timer from host timing operations
2022-04-13 23:39:01 +03:00
kd-11
89de1a8cf6
overlays: Fix frame timing
2022-04-13 23:39:01 +03:00
kd-11
60cbd7a88c
Automatically determine the epsilon value programatically
2022-04-13 15:48:28 +03:00
kd-11
2db68acab9
rsx: Implement Z value snapping to account for precision errors
2022-04-13 15:48:28 +03:00
RipleyTom
4d26535758
sys_net: bind & getsockname accuracy
2022-04-12 08:58:17 +02:00
Megamouse
5407e42b76
Qt: add last thread actions option to log viewer
2022-04-11 23:59:55 +02:00
Megamouse
8f02ea1d42
Qt: add show threads option to log viewer
2022-04-11 23:59:55 +02:00
Megamouse
3ed5a935fb
Qt: allow to filter the log viewer with log levels
2022-04-11 00:12:51 +02:00
Megamouse
f24b0c2ffe
Qt: Allow to filter the log multiple times
2022-04-11 00:12:51 +02:00
clienthax
127ad508b4
Add stubs.
2022-04-10 18:28:57 +02:00
RipleyTom
cbc067b490
Fix get_roomdata_external_list callback event id
2022-04-10 15:42:26 +02:00
RipleyTom
4087b4e6b9
sys_net: fix dns redirection
2022-04-10 15:12:33 +02:00
Eladash
c35da0085f
PARAM.SFO loader improvement
2022-04-10 14:31:13 +02:00
RipleyTom
f8ea50caae
sys_net: Fix return values being tagged as errors
2022-04-10 11:15:41 +02:00
Megamouse
20801615f3
cellOskDialogAbort: always send finished event
...
No idea if this is really correct, but it fixes the PS-Home OSK dialog freeze.
2022-04-10 08:38:36 +02:00
Megamouse
9279736fe6
cellOskDialog: fix cellOskDialogAbort error format
2022-04-10 08:38:36 +02:00
Megamouse
d84a0c6503
cellGameGetBootGameInfo
2022-04-10 08:38:36 +02:00
RipleyTom
8fb2d04ce8
rpcn: validate callbacks before queuing them
2022-04-10 00:23:32 +02:00
RipleyTom
c06cb4664a
Various sys_net improvements
...
Implement P2PS select
Adjust P2P sendto return value
2022-04-09 21:56:53 +02:00
Megamouse
039d19dacf
Patch manager: detailed message box for long logs
2022-04-09 21:26:06 +02:00
Megamouse
499fe3e218
Patch manager: add node location to patch errors
2022-04-09 21:26:06 +02:00
RipleyTom
855b23b3fe
re-add scope to sys_net_bnet_poll
2022-04-09 20:24:08 +03:00
RipleyTom
72b2876b6a
sys_net refactor ( #11740 )
2022-04-09 14:51:22 +02:00
Nekotekina
f4d0286109
Add SPU XFloat Accuracy combobox
2022-04-08 22:46:09 +03:00
Megamouse
544cec0434
revert cellSysutilAvc2Load
...
I think I mistook the subfunc for the main func
2022-04-08 20:07:58 +02:00
Megamouse
bcc097718f
cellSysutilAvc2 fixes
2022-04-08 20:07:58 +02:00
Megamouse
0dc176b4f1
cellSysutilAvc2EstimateMemoryContainerSize
2022-04-08 20:07:58 +02:00
Megamouse
47401cba1f
cellSysutilAvc2: more improvements
2022-04-08 20:07:58 +02:00
Megamouse
8a2826f3a9
cellSysutilAvc2SetWindowString: add strlen check
2022-04-08 20:07:58 +02:00
Megamouse
81f8ece236
cellSysutilAvc2InitParam: remove overzealous code.
...
The function is intended as a constructor, so it doesn't make sense to check struct members
2022-04-08 20:07:58 +02:00
Megamouse
3c2cf79675
cellSysutilAvc2: more stubs and errors
2022-04-08 20:07:58 +02:00
Megamouse
a841ba4084
cellSysutilAvc2: more constants
2022-04-08 20:07:58 +02:00
Megamouse
3024026d9e
cellSysutilAvc2: format some enums
...
Makes them more readable
2022-04-08 20:07:58 +02:00
Megamouse
fb03a3bf67
Qt: Implement simple filter in log viewer
2022-04-08 01:25:44 +02:00
kd-11
e53bbd668b
rsx: Fix surface cache scanning and removal
2022-04-05 14:07:05 +03:00
kd-11
fc05511354
rsx: Optimize software sampling further for the 6-tap kernel
2022-04-04 16:51:03 +03:00
kd-11
ca35a75a7d
rework weighting scheme
2022-04-04 16:51:03 +03:00
kd-11
15b7e4f05e
6-tap experiment
2022-04-04 16:51:03 +03:00
kd-11
49c84f099a
rsx/glsl: Fixup
2022-04-04 16:51:03 +03:00
kd-11
43b267ea51
glsl: Rewrite MS sampling implementation
2022-04-04 16:51:03 +03:00
kd-11
a8441b28e8
rsx: Implement basic 2D bilinear filtering for MSAA images
2022-04-04 16:51:03 +03:00
Megamouse
3002e592c3
gs_frame: remove unnecessary CallFromMainThread
...
Qt events should run on the main thread anyway.
2022-04-01 18:38:37 +02:00
Megamouse
4f12f8b04f
Qt: fix GracefulShutdown regression
...
By replacing Emu.Stop() with GracefulShutdown() in gs_frame::close(), the game window was now unknowingly closed recursively, causing RPCS3 to crash in some cases.
Let's just ignore any consecutive calls to close() from now on.
Also don't close the window internally on a close event. request a shutdown instead.
2022-04-01 18:38:37 +02:00
Megamouse
36e3939ec2
Emu: actually wait 5 seconds during GraceFulShutdown
2022-04-01 18:38:37 +02:00
Megamouse
c803bf1849
soundtouch: fix debug build
2022-04-01 02:24:27 +02:00
Megamouse
ee98f577e2
sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN
...
And prevent some possible segfaults
2022-03-31 23:02:35 +02:00
kd-11
4a86638ce8
rsx: Avoid unnecessary memprotect syscalls
2022-03-29 12:35:32 +03:00
kd-11
e037b5c438
rsx: Handle in-place image swaps when locking data for WCB/WDB
...
- Rare, but possible if a surface address is switched from color to depth usage
- In such a case, deref the old image and ref the new one to avoid leaks
2022-03-29 12:35:32 +03:00
kd-11
f45343a345
rsx: Handle DMA block init where empty pages exist in the range
2022-03-29 12:35:32 +03:00
kd-11
94a7e52c1f
rsx: Disable ref count on exit
2022-03-28 19:55:34 +03:00
kd-11
2b42895bc7
rsx: Reduce log spam a bit
2022-03-28 19:55:34 +03:00
kd-11
d98d152d23
rsx: Fix leaking surface cache refs from texture cache
...
- Lock surfaces in use by texture cache to prevent complete deletion
- Remove discarded surfaces from the reprotect cache to avoid uaf
2022-03-28 19:55:34 +03:00
kd-11
b645a7faf5
vk: Rebuild swapchain in case of unexpected errors during present
2022-03-28 19:55:34 +03:00
kd-11
ffa841e7c1
vk: Force resolve explicitly for transfer operations
2022-03-28 19:55:34 +03:00
Nekotekina
98cee991ef
PPU: fix step execution after BP
2022-03-27 11:37:11 +03:00
Nekotekina
0a617a05d0
PPU: correct behaviour under external debugger
...
May require setting "Assume External Debugger" to true.
2022-03-26 23:09:20 +03:00
kd-11
e66d6a9399
Fix interpreter
2022-03-26 16:10:18 +03:00
kd-11
ef65c47592
vk: Restore UBO alignment
...
- NV requires some very large alignment thresholds
2022-03-26 16:10:18 +03:00
kd-11
1592ecdc55
rsx: Invalidate transform block on program change
...
- Since each program now does a remap of the outputs, we need to reupload the constants
- This is not a loss, constants are almost always changing between draw calls anyway
2022-03-26 16:10:18 +03:00
kd-11
96742852eb
Fix OGL
2022-03-26 16:10:18 +03:00
kd-11
de0e660d28
rsx: Handle vertex shaders with no constant references
...
- If no vc[] refs exist, do not upload anything!
2022-03-26 16:10:18 +03:00
kd-11
d057ffe80f
rsx: Fix program generation and compact referenced data blocks
2022-03-26 16:10:18 +03:00
kd-11
9a2d4fe46b
rsx: Relocatable transform constants
2022-03-26 16:10:18 +03:00
RipleyTom
a4d715e25d
Warning Fixes
2022-03-23 19:35:10 +01:00
kd-11
af0e1f609e
Fix vulkan compilation warnings
2022-03-23 11:26:06 +03:00
kd-11
1ab5b481ff
Fix ambiguous comparison operator warning
2022-03-23 11:26:06 +03:00
kd-11
26ee1246ae
rsx: Block size back down to 4MB
...
- 4M is a good compromise, a 720p surface occupies just under 4MB
2022-03-23 11:26:06 +03:00
kd-11
d0402332f7
rsx: Bump surface cache block size to 16M
2022-03-23 11:26:06 +03:00
kd-11
43c7417906
rsx: Rework ranged map
...
- Adds metadata lookup for intersecting range calculations
- Make fetch/put methods more explicit
2022-03-23 11:26:06 +03:00
kd-11
56540a55ec
Fix linux
2022-03-23 11:26:06 +03:00
kd-11
35ec4de776
rsx: Optimize surface store for faster scanning
2022-03-23 11:26:06 +03:00
Silent
c5748983f6
WolfSSL: Use a custom UTF-8 aware _stat on Windows
2022-03-21 15:47:27 +01:00
aliaspider
5797673daa
fix vfs::host::rename.
...
- resolve_path requires the path to be valid and can only be used before
the call to fs::rename, not after.
2022-03-21 08:49:01 +03:00
Megamouse
3972022fa2
evdev: improve latency
2022-03-20 04:27:06 +01:00
C.W. Betts
39201e5042
Fix macdeployqt.
...
This is based off of the instructions found here: https://riptutorial.com/qt/example/24133/integrating-with-cmake
2022-03-18 13:19:36 +01:00
Megamouse
ff34a73fbd
cellSaveData: CELL_SAVEDATA_FOCUSPOS_NEWDATA
...
Untested, but focus position is clamped anyway.
2022-03-18 08:09:50 +01:00
Megamouse
539ac32806
Decrease log spam in case that per core cpu usage cannot be queried
2022-03-18 01:47:23 +01:00
Megamouse
7a86cffd0a
Revert writable folder check
...
This doesn't seem to work as intended
2022-03-18 00:33:52 +01:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
Megamouse
9c5ed01130
Add rpcs3 location checks to main
...
Don't allow running RPCS3 from temp dirs.
Abort if the folder has no write permissions.
2022-03-17 18:59:38 +01:00
Megamouse
e58906cb4d
cpu_stats: fmt::win_error_to_string
2022-03-16 22:20:23 +01:00
Megamouse
04df392866
Log cpu usage periodically
2022-03-16 19:42:06 +01:00
nastys
ce7b1576e0
Low Power Mode detection
...
Change low to reduced
Low Power Mode detection
Fix namespace space
Low Power Mode detection
Fix namespace space
Low Power Mode detection
2022-03-14 08:28:02 +01:00
Megamouse
686d2759f4
cellMic: remove cellMicRead error spam
2022-03-12 20:48:36 +01:00
kd-11
78b8bd80e4
rsx: Unconditionally set MSAA flags if MSAA is active
2022-03-11 01:15:13 +03:00
kd-11
1943d9819f
rsx: Clean up surface cache routines around RTT invalidate
2022-03-10 20:43:58 +03:00
NicknineTheEagle
1670769119
Use simpler C00 unlock EDAT check in GUI
2022-03-09 22:39:30 +03:00
kd-11
59a0cf94ab
rsx: Fix msvc build
2022-03-08 22:06:26 +03:00
kd-11
3e4faf602a
rsx: Fix clang build
2022-03-08 22:06:26 +03:00
kd-11
454a724f4e
rsx: Reduce the performance impact of enabling the profiling timer
...
- Just use TSC if available
2022-03-08 22:06:26 +03:00
kd-11
cfecbb24ca
rsx: Avoid calling slow functions every draw call
...
- Use TSC for timing where interval duration matters.
- Use atomic counter for ordering timestamps otherwise.
2022-03-08 22:06:26 +03:00
kd-11
762b594927
rsx: Fully process texture if surface cache configuration changed
2022-03-08 22:06:26 +03:00
kd-11
8d3d290e33
rsx: Fix build
2022-03-08 22:06:26 +03:00
kd-11
0df903090d
rsx: Optimize metrics a bit
...
- For some reason this has a massive impact on performance above some arbitrary threshold of calls
Shows up under surface_cache::get_merged_memory_region when doing gathers.
2022-03-08 22:06:26 +03:00
kd-11
6812fa4764
rsx: Fix surface write coherency when MSAA is active
2022-03-08 22:06:26 +03:00
Megamouse
cd97d74f0f
cellMusic/Decode: add SelectContents functions
2022-03-08 09:02:59 +01:00
Megamouse
00f6763228
cellMusic: fix qt music handler resume
2022-03-06 12:57:38 +01:00
Megamouse
aafd74f9ea
cellMusicDecode: initial implementation
...
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
Megamouse
e33b130606
Fix some enumeration warnings
2022-03-03 08:25:46 +01:00
Megamouse
15e74357cf
cellMusic: implement qt music handler
2022-03-03 08:25:46 +01:00
kd-11
0dbfe314a3
vk: Encode image type when caching resources
2022-03-01 21:51:55 +03:00
kd-11
00a1864a95
Revert "rsx: Downgrade depth-1 3D images to 2D ( #11593 )"
...
This reverts commit 6c096b72b5 .
2022-03-01 21:51:55 +03:00
kd-11
6c096b72b5
rsx: Downgrade depth-1 3D images to 2D ( #11593 )
...
- Fixes problems with implicit view types derived from dimensions.
2022-03-01 10:45:50 +03:00
Ani
a8e62e1bc1
rpcs3_version: Bump to 0.0.21
2022-03-01 00:29:49 +01:00
Megamouse
42aa8f263a
Qt: store pad settings state and remove max size
2022-02-28 08:19:13 +01:00
nastys
af95ff5f8b
Round macOS icon
2022-02-27 11:16:50 +01:00
nastys
f0093375b8
Set min macOS version to 11.6
2022-02-27 11:16:50 +01:00
kd-11
e035000864
vk: Do not enable passthrough DMA unconditionally (yet)
...
- There are still some kinks to work out. Host labels do not fix all the bugs which means I missed something.
2022-02-26 10:28:46 +03:00
kd-11
6db5d83615
Flush dma offloader on texture read sema
2022-02-25 10:53:55 +03:00
Eladash
86a04a867b
Qt: show time of day in 'last played' game info, log current time when RPCS3 boots ( #11220 )
2022-02-23 23:40:18 +01:00
kd-11
f3823232e0
Disable passthrough DMA for proprietary intel driver
2022-02-23 21:15:08 +03:00
kd-11
6b8b23c401
vk: Drain the label queue before using the CPU fallback to avoid out-of-order signals
...
- This avoids crashes in some game engines which expect RSX semaphores to signal in the order they are submitted.
2022-02-23 12:57:04 +03:00
kd-11
6fd2a9b677
rsx: Remove leftover dprints
2022-02-23 12:57:04 +03:00
kd-11
da559b5568
vk/rsx: Tuning and optimization for host labels
2022-02-23 12:57:04 +03:00
kd-11
24587ab459
rsx: Add the option to the advanced tab
2022-02-23 12:57:04 +03:00
kd-11
c7e49b58a8
rsx: Implement host GPU sync labels
2022-02-23 12:57:04 +03:00
Megamouse
c5680c29bd
Qt: set organization name
2022-02-22 14:19:29 +01:00
Megamouse
1144121d08
shortcuts: add some logging, fix shortcut path
2022-02-22 14:19:29 +01:00
Megamouse
fa6736e69d
update_manager: add some logging
2022-02-22 14:19:29 +01:00
kd-11
10e6b43a2f
Drop redundant declaration
2022-02-21 23:58:01 +03:00
kd-11
0809e7cf9f
Fix build
2022-02-21 23:58:01 +03:00
kd-11
12fd43e1c6
vk: Remove unused variables
2022-02-21 23:58:01 +03:00
kd-11
397a795e75
vk: Remove hardcoded command buffer list length
2022-02-21 23:58:01 +03:00
kd-11
1f9ade0ab6
vk: Remove pointless function (VKGSRender::open_command_buffer)
...
A relic of the past, back before we wrote wrappers for raw handles.
2022-02-21 23:58:01 +03:00
kd-11
83407c386c
vk: Move renderer types to a separate file
...
- Makes my life easier managing conflicts
2022-02-21 23:58:01 +03:00
kd-11
b791d90b35
vk: Rewrite command buffer chains
2022-02-21 23:58:01 +03:00
nastys
574e934bf3
macOS: Implement shortcuts
2022-02-21 19:11:52 +01:00
nastys
b57ea3a229
Fix macOS builds
2022-02-21 19:11:52 +01:00
Megamouse
771f3c49e5
windows: fix windows shortcut paths
2022-02-21 01:14:53 +01:00
Megamouse
13e1305a76
linux: fix shortcut icon aspect ratio
2022-02-21 01:14:53 +01:00
Megamouse
9214df482e
Unbreak macOS builds
2022-02-20 21:06:46 +01:00
Megamouse
b1a9e87ecf
cellSearch: fix cellSearchStartListSearch
...
Fixes listing BGM in Gundam.
The returned content was always empty.
Playback of the tracks will still require a MusicSelectionContext and cellMusic playback, which isn't implemented yet.
2022-02-20 21:06:46 +01:00
Megamouse
0a34403ef8
Qt: create rpcs3 shortcuts
2022-02-20 13:23:27 +01:00
Megamouse
e5bb0ba004
Qt: properly hide metal sempahore if not apple
2022-02-20 13:23:27 +01:00
Megamouse
2147fe479c
cellSearch: more logging
2022-02-20 12:29:37 +01:00
Megamouse
93e7988df7
rsx: add boost mode shortcut
2022-02-20 11:56:11 +01:00
nastys
7801e8368b
Add MoltenVK Semaphore setting
2022-02-20 08:47:16 +01:00
Megamouse
91d7f28c67
cellSearch: log audio and video metadata
2022-02-19 14:27:47 +01:00
Megamouse
8171c7766c
cellSearch: silence irrelevant log error
2022-02-19 14:27:47 +01:00
Megamouse
3f69ceac40
cellMusic: fix cellMusicSetVolume log messages
2022-02-19 14:27:47 +01:00
Megamouse
4be9e0d396
RSX: Fix rsx capture stop
...
RSX captures froze on stop, at least with Vulkan.
2022-02-16 19:50:57 +01:00
RipleyTom
6bd8a93ff4
Fixes some unchecked derefs in sceNp logging
2022-02-16 17:08:58 +01:00
Eladash
e39797d860
Fix sys_fs_close FD state logging
2022-02-16 18:09:13 +03:00
kd-11
254ddcad51
vk/dma: Initialize COW DMA block contents to avoid leaks
...
- It is possible to lose data when uploading since the result of map_dma can change types and handles.
- Consider sync-on-exit for inherited spans
Not a problem when using passthrough DMA, but this extension does not work properly on NVIDIA + windows
2022-02-16 16:33:27 +03:00
Eladash
fd6c33980b
cellSaveData: Check filename format of savedata files ( #11502 )
2022-02-14 22:03:40 +03:00
kd-11
2d5d5746d1
gl: Harmonize format conversion values
...
- Return values that are true to the PS3, not the host.
2022-02-13 15:31:39 +03:00
kd-11
314b63eebf
vk: Drop unused native format ABGR8
2022-02-13 15:31:39 +03:00
kd-11
f382d54e9a
gl: Remove pointless assert
2022-02-13 15:31:39 +03:00
kd-11
9581e4ff98
qt: Add translation resources
2022-02-13 14:39:42 +03:00
kd-11
b7a57ac4b0
qt: Update tooltips
2022-02-13 14:39:42 +03:00
kd-11
df5295ae85
vk: Per work-queue scratch resources
...
- Avoids parallel tasks from trampling over each other's data
2022-02-13 14:39:42 +03:00
kd-11
c8ad8b18bb
vk: Ignore queue transfer stuff when using 'fast' mode
2022-02-13 14:39:42 +03:00
kd-11
44cc254620
Fix linux build
2022-02-13 14:39:42 +03:00
kd-11
cef512a123
vk: Spec-compliant async compute
2022-02-13 14:39:42 +03:00
Megamouse
7895d43a98
Terminate headless rpcs3 if nothing was booted
2022-02-12 12:46:07 +01:00
Megamouse
d6597038ee
Input: multithreaded handlers
...
Implements naive multithreading for input handlers.
2022-02-10 20:38:11 +01:00
kd-11
ec3e8de780
rsx: End the current frame before performing cache cleanup to release in-flight data
2022-02-10 22:20:56 +03:00
kd-11
f667b52cca
vk: Rewrite resource management
2022-02-10 22:20:56 +03:00
kd-11
48b54131f6
vk: Fix up multiple resource allocation routines
...
- Originally part of async bringup. Imported to allow smoother transition.
2022-02-10 22:20:56 +03:00
Megamouse
d172b9add6
Rename CallAfter to CallFromMainThread
2022-02-07 19:42:08 +01:00
kd-11
2d9f21a2ea
rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users
2022-02-07 09:25:01 +03:00
kd-11
247759b75b
rsx: Fix memory tagging and add some security checks
2022-02-07 09:25:01 +03:00
RipleyTom
987166f4da
Fix IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
2022-02-06 20:37:12 +01:00
kd-11
90d368ae30
vk: Speed up cached image search a bit
2022-02-06 15:49:50 +03:00
kd-11
a2d33a7d76
vk: Fix WCB crash
2022-02-06 15:49:50 +03:00
kd-11
51f9310b9f
vk: Silence compiler warnings
2022-02-06 15:49:50 +03:00
kd-11
dca3d477c9
vk: Use image hot-cache for faster allocation times
...
- Creating new images is expensive.
- We can keep around a set of images that have been recently discarded and use them instead of creating new ones from scratch each time.
2022-02-06 15:49:50 +03:00
Megamouse
02cdf8ac63
Qt: save settings dialog window state
2022-02-06 13:02:16 +01:00
nastys
6b370e85d5
Add overlay animations
2022-02-06 12:26:34 +01:00
Megamouse
05e80aad90
Qt: make patch manager dialog resizable
2022-02-06 00:09:27 +01:00
Megamouse
4ad255b8e0
Qt: make about dialog resizable
2022-02-06 00:09:27 +01:00
Megamouse
09a60cdefa
Qt: add scrollbar to settings dialog
2022-02-06 00:09:27 +01:00
Megamouse
eacf5a3813
Qt: adjust wording for updates
2022-02-05 12:22:54 +01:00
Eladash
e951c619c5
Implement Emulator::GracefulShutdown()
2022-02-05 11:49:29 +01:00
RipleyTom
6c5b8dc31c
rpcn: add cookie impl to tickets
2022-02-03 13:25:15 +01:00
Megamouse
fd0e7a4efa
Qt: fix compat download abort
2022-02-01 21:21:42 +01:00
Megamouse
a4c4548c3a
input: add enumeration threads for each hid_pad_handler
...
There was a roughly 60 ms lag for each hid handler every 2 seconds. (sucks if you use all 3 hid handlers)
2022-02-01 19:28:04 +01:00
Megamouse
8efc29972d
input: add missing nullptr checks for pad
2022-02-01 19:28:04 +01:00
Vestral
7977fbb9c5
Audio: prevent click at play/pause
...
Cubeb uses internal rate resampler and it's not being flushed during call to stream_stop.
This results in noticeable click when emulator is unpaused.
Reset last sample buffer on pause for all backends.
2022-01-31 21:20:57 +01:00
Vestral
681bab558b
XAudio: fix deinitialization order
2022-01-31 21:20:57 +01:00
Vestral
107107107c
SoundTouch resampler integration
2022-01-31 21:20:57 +01:00
Hyogi Sim
3a804674c9
Fix linkage error on debug build with clang-13
...
Debug build with clang-13 fails with "undefined references" to the
static const members in spu_channel class. This patch replaces the const
definitions with constexpr constants.
2022-01-31 17:05:18 +03:00
Malcolm Jestadt
91673f8fdc
SPU LLVM: Add relaxed xfloat option
...
- This new setting is on by default
- It's active when approximate default is disabled
- Approximate xfloat is now exposed to the gui
2022-01-31 08:02:48 +03:00
kd-11
86919ec0e1
rsx: Validate requested images before attempting to upload them
...
- Do not allow dimensions of 0 to reach the backend APIs
2022-01-30 14:58:51 +03:00
kd-11
0e320d17c1
vk: Fix 'grow' behavior when we reach the size limit
...
- Just swap out the current heap ptr and spawn a fresh one. Chances are, we can spare 1GB of host memory.
2022-01-30 10:56:15 +03:00
kd-11
d063f0b335
vk: Fix working buffer calculation for emulated D16F operations
2022-01-30 10:56:15 +03:00
Eladash
781b2b4548
Implement fs::isfile ( #11447 )
2022-01-29 22:10:48 +03:00
Nekotekina
16aae4eb77
Fixup creating image path
2022-01-26 15:46:16 +03:00
Nekotekina
3a1082fe0d
Fix overlays::image_info constructor
2022-01-26 15:46:16 +03:00
Nekotekina
dba2baba9c
Implement utils::memory_map_fd (partial)
...
Improve JIT profiling dump format (data + name, mmap)
Improve objdump interception util (better speed, fix bugs)
Rename spu_ubertrampoline to __ub+number
2022-01-26 15:46:16 +03:00
kd-11
ffe00e8619
gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F
...
- Also hides a dangerous export for vulkan, same as GL
2022-01-26 12:08:36 +03:00
kd-11
3fa45ff994
Fix missing typeless info update
2022-01-26 12:08:36 +03:00
Eladash
73ff506b88
overlay_controls.cpp: Improve image_info ctor withstandability
2022-01-26 10:35:52 +03:00
kd-11
3a1676e558
vk: Fix float16 requirement issue
2022-01-25 21:34:21 +03:00
Nekotekina
0db9850a73
Add loop building utilities for ASMJIT
...
Refactor copy_data_swap_u32 a bit
2022-01-25 03:16:37 +03:00
Nekotekina
11ee1f3eb2
Improve JIT profiling on Linux
...
Add JIT object dumping functionality.
Add source for objdump interception utility.
2022-01-25 03:16:37 +03:00
Nekotekina
14951d8713
Fix abuse of fs::pending_file
...
Debug dumps don't fall into category which needs atomic rewrite.
2022-01-24 22:39:01 +03:00
Nekotekina
065ee621b8
Call avcodec_register_all in case of old ffmpeg
...
Apparently it's still possible to break without it.
2022-01-24 22:39:01 +03:00
Nekotekina
12c83b340d
Remove built_function
...
With today's branch prediction techniques, it's hardly useful.
2022-01-24 22:21:41 +03:00
nastys
d2897bc6a0
macOS: Fix DS3 init on Monterey
2022-01-24 20:16:57 +01:00
kd-11
5920372929
qt: Encourage users to use better ZCULL synchronization options
...
- From looking at logs, users are not actually changing ZCULL settings because they do not realize how slow 'Precise' mode is.
By marking precise as the 'slowest' mode, we can get the message across that better options exist.
- Also updates the tooltips with more useful information.
2022-01-24 19:14:27 +03:00
kd-11
1fa82eec89
vk: Rework format feature validation
...
- Requirements have changed a lot over the years. We no longer blit Z formats around for example because they never support linear filtering
- Removing some unused requirements allows more hardware to be usable
2022-01-24 19:14:27 +03:00
RipleyTom
8c2fd50957
Add a QGroupBox in RPCN password window
2022-01-23 11:04:18 +01:00
kd-11
2f7d38bb81
rsx: Improve coverage checking logic to handle 3D and cubemap resources
2022-01-23 00:03:03 +03:00
kd-11
4f8b5849b7
rsx: Take depth into account when calculating coverage
2022-01-23 00:03:03 +03:00
kd-11
7f216f2581
rsx: Fix local slice height calculation
2022-01-23 00:03:03 +03:00
kd-11
6ffd38c393
vk: Only enable DCC workaround if the format features allow it
2022-01-22 13:16:48 +03:00
nastys
801e7f3c2f
macOS: Implement texture swizzling for 16-bit formats
2022-01-22 00:17:17 +01:00
nastys
c7140df5f8
Initial support for Apple GPUs
2022-01-22 00:17:17 +01:00
nastys
6b5f0957ce
Disable macOS swizzling workaround
2022-01-22 00:17:17 +01:00
Jan Beich
f2ed50e6b0
cellVdec: constify AVInputFormat for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:326:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("oma");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:332:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("mp3");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Jan Beich
511ca82e30
cellAVdec: constify AVCodec for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:325:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_ATRAC3P);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:331:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:143:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:148:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_H264);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:153:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Nekotekina
00274bb4da
PPU: port FP convert instructions to Aarch64
2022-01-21 16:07:48 +03:00
Nekotekina
a4d94a83b9
PPU/simd.hpp: minor changes in DP instructions
2022-01-21 13:57:46 +03:00
Nekotekina
0de9960772
PPU: rewrite MFOCRF+MFCR instructions
2022-01-21 12:49:52 +03:00
Nekotekina
aa7c9dd15d
PPU: rewrite LVSL/LVSR instructions
...
Make the tables endian-agnostic.
2022-01-21 00:05:40 +03:00
Nekotekina
628354ba92
Use global variable in gv_zeroupper
2022-01-20 21:16:00 +03:00
Nekotekina
17b1a34ebf
PPU: rewrite LVLX/LVRX/STVLX/STVRX instructions
2022-01-20 21:16:00 +03:00
Nekotekina
349f251d14
PPU LLVM: use masked stores for STVLX/STVRX
...
Drop maskmove intrinsic, not portable.
Its implicit NT hint may also hurt performance.
2022-01-20 21:16:00 +03:00
kd-11
3942a464fe
vk: Avoid leaking descriptor copies
2022-01-20 19:21:24 +03:00
kd-11
2331dc3256
vk: Keep the total number of allocated samplers under control
2022-01-20 19:21:24 +03:00
Nekotekina
8c3fb3998c
PPU: fix crash on SSE41 CPU in internal builder
2022-01-20 14:42:58 +03:00
Nekotekina
327c577024
PPU: print internal interpreter build error
2022-01-20 14:42:58 +03:00
Nekotekina
d572d90bb7
PPU: fixup for old CPU
...
Abort building interpreter function when out of registers.
2022-01-20 08:31:08 +03:00
Nekotekina
b42fae0989
PPU: refactor shift and splat instructions
...
Fix utils::rol32/64 functions.
Fix immediate clamping in splat instructions.
Other fixes.
2022-01-19 23:01:31 +03:00
Megamouse
d92008abe4
Qt: fix RestoreDefaults crash
...
For some reason rpcs3 crashes when I restore the defaults of multiple configs one after another in the settings dialog.
Using the other signal seems to work.
I don't wanna investigate this nonsense though, so I'll just accept the fix as is.
2022-01-19 20:41:05 +01:00
Megamouse
484a3e6824
Qt: check for patch updates
2022-01-18 20:24:31 +01:00
Nekotekina
08b02efc6c
ARM: don't calibrate TSC, use cntfrq_el0 info
2022-01-18 04:21:42 +03:00
Nekotekina
4728478247
PPU: improve interpreter codegen
...
Implement more sensible check for EVEX prefix and SSE
2022-01-18 04:20:06 +03:00
Nekotekina
4704367382
Remove unnecessary asmjit::imm_ptr
2022-01-18 00:10:32 +03:00
Nekotekina
14cca55b50
PPU: refactor vector rounding instructions
...
Fix: nearbyint -> roundeven
2022-01-18 00:10:32 +03:00
Nekotekina
248f9424ac
PPU: refactor VPack instructions
2022-01-18 00:10:19 +03:00
Nekotekina
b404d37eb0
PPU: more interpreter refactoring (VPERM)
...
Notably, runtime-built SSSE3 version of VPERM.
Some other instructions are refactored and vectorized.
Aarch64 impl of multiple instructions including VPERM.
2022-01-18 00:10:19 +03:00
Nekotekina
14170afe8a
Fix PPU decoder settings dialog
2022-01-18 00:10:19 +03:00
RipleyTom
58fdf58150
Force close socket in sys_net_bnet_close
2022-01-17 21:27:20 +01:00
kd-11
000ec71629
Fix invalid descriptor setup if subdraw0 has broken vertex setup
2022-01-17 12:38:10 +03:00
kd-11
3e794e7fdb
rsx: Optimize 8-bit rounding logic a bit
...
- NV hw does not like the raw use of round()
2022-01-17 10:28:23 +03:00
kd-11
c38ca21a81
rsx: Round up 8-bit ROP output on NVIDIA cards
...
- NV GPUs have a tendancy to be off by a very small margin, breaking rendering when greaterThan/lessThan checks are used.
- NOTE: Currently this setting is using the sRGB flag which indicates 8-bit output.
Only one game is currently known to care about this behaviour so this is good enough for now.
2022-01-17 10:28:23 +03:00
kd-11
f923eaf09a
rsx: Surface format remapping enhancements
2022-01-17 10:28:23 +03:00
Nekotekina
5b980b99a0
PPU: Rename new ppu_use_nj_bit setting to flip it back
...
Some mistakes were made.
2022-01-16 01:34:47 +03:00
Nekotekina
22240777aa
PPU Interpreter: fix accuracy flag dispatch
2022-01-16 01:00:37 +03:00
Nekotekina
f95395b351
PPU LLVM: improve accuracy of VSL/VSR
...
Passes tests, should now be equal to interpreter.
2022-01-15 21:13:31 +03:00
Nekotekina
df24cff0b1
PPU LLVM: fix VMINFP and VMAXFP accuracy
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
6dda047128
PPU LLVM: fix VNMSUBFP sign handling
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
e9efa73eed
PPU: restore previous NJ mode handling option
...
Fix the divergence between PPU Interpreter and LLVM.
2022-01-15 17:36:57 +03:00
Megamouse
1c0b3fc7e0
Qt: Fix accurateXFloat enabled state in settings dialog
2022-01-15 13:48:03 +01:00
Nekotekina
580bd2b25e
Initial Linux Aarch64 support
...
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
kd-11
d6aa834b5f
vk: Enable shading rate hack for all GPUs
...
- This is a hack, ideally we should be using coverage-based masking when writing the exploded texture.
- We do not have access to the fragment coverage mask and it is non-trivial to integrate it in a competent manner.
2022-01-14 10:21:38 +03:00
MSuih
f526027778
Revert recent file system changes ( #11370 )
...
* Revert "FS: use std::filesystem::u8path"
This reverts commit cd016be86e .
* Revert "VFS: fix missing path deliminators"
This reverts commit 84753db574 .
* Revert "Bugfix of Emulator::Load disc path searching"
This reverts commit b9179de288 .
* Revert "fs: Reimplement path resolving using std::filesystem::weakly_canonical"
This reverts commit 0c4b2ff06b .
2022-01-13 07:24:04 +03:00
Malik Idrees Hasan Khan
949e93bec7
Fix typos ( #11361 )
2022-01-12 23:21:02 +01:00
Megamouse
84753db574
VFS: fix missing path deliminators
2022-01-13 00:07:25 +03:00
Eladash
ef0bee9228
aes.cpp: Use secured memory resetting
2022-01-12 03:37:39 +03:00
Eladash
a60cee6536
Update PPUTranslator::MTFSFI for its intention to be clearer
2022-01-12 03:37:39 +03:00
Eladash
108846055b
shared_ptr.cpp: Remove std::swap specialization
2022-01-12 03:37:39 +03:00
Eladash
b9179de288
Bugfix of Emulator::Load disc path searching
...
Turns out fs::file does not always fail when provding a path to a directory.
2022-01-12 03:37:39 +03:00
Eladash
0c4b2ff06b
fs: Reimplement path resolving using std::filesystem::weakly_canonical
2022-01-12 03:37:39 +03:00
Silent
8c9090fd03
WolfSSL: Use a custom UTF-8 aware fopen on Windows
...
Fixes loading cacert.pem from Unicode directories
2022-01-12 03:35:15 +03:00
nastys
ef66b002e0
Implement proper macOS version check ( #11352 )
2022-01-11 23:17:26 +01:00
nastys
37f24d8c1c
Log maxfiles to file and stderr on *NIX
2022-01-11 08:05:17 +03:00
nastys
3571e6ef85
macOS: Set correct maxfiles (fixes shader cache and SPU LLVM)
2022-01-11 08:05:17 +03:00
nastys
ed542b2cb4
macOS: Fix arrow keys
2022-01-10 22:54:06 +01:00
nastys
09700360f7
macOS: Warn if Vulkan is not supported
2022-01-10 19:18:49 +03:00
nastys
29a6db8960
Disable OpenGL on macOS
2022-01-10 19:18:49 +03:00
kd-11
6d737e61fd
rsx: Use 32 bit integers for pitch
...
- RSX max pitch = 65536 which requires 17 bits
2022-01-10 12:27:30 +03:00
kd-11
d874ca5d8c
cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO
2022-01-10 12:27:30 +03:00
Vestrel
1adc408ad7
More sys_uart packets ( #11332 )
...
* Additional sys_uart packets added
2022-01-10 03:43:54 +03:00
kd-11
83026fd263
rsx: use coverage ratio to determine when too much data is overlapping
2022-01-07 22:55:27 +03:00
kd-11
92824b6729
rsx: Rework invalidation tagging
2022-01-07 22:55:27 +03:00
kd-11
7563655221
rsx: Bump surface removal threshold values
...
- It is much slower to attempt surface removal than to render duplicates on the host GPU
2022-01-07 22:55:27 +03:00
kd-11
6889b48973
rsx: Add optimized version of section removal code
2022-01-07 22:55:27 +03:00
Vestral
9766d87126
cellAudio: fix enqueued samples computation
2022-01-07 09:48:51 +01:00
Eladash
bba528e2ae
rsx: Fix wrong fault report in initialization ( #11323 )
...
* rsx: Fix wrong fault report in initialization
* Ensure emu.isstopped() == true at RPCS3 startup
Based on zero initialization.
2022-01-05 20:41:01 +03:00
clienthax
350257e1a4
Fcntl 0xc0000007, 0xc0000015, 0xc000001c
2022-01-04 22:47:06 +03:00
Florin9doi
0e07d3c58f
USB: Improve SingStar emulation
2022-01-04 18:03:23 +01:00
陈俊嘉
20cc2d7267
Add multi-config generator build support for Windows.
2022-01-02 23:59:54 +01:00
Malcolm Jestadt
31a5a77ae5
SPU: Use REP MOVSB in do_dma_transfer
...
- Try to use REP MOVSB when the size of the transfer is above a certain threshold
- This threshold is determined by the ERMS and FSRM cpuid flags
- The threshold values are (roughly) taken from GLIBC
- A threshold of 0xFFFFFFFF indicates that the cpu has neither flag
2022-01-02 21:35:46 +03:00
Megamouse
1c014299eb
HLE: fix some types
2022-01-02 18:18:31 +03:00
kd-11
7c47b0029c
gl: Fully drop alignment restriction for compressed textures
...
- This is just not part of spec, there is no enforcement for multiple of block size for width or height of s3tc compressed images.
- This restriction does indeed exist for ASTC and ETC but we're not using those formats.
2022-01-02 14:29:38 +03:00
Ani
61d9852632
rpcs3_version: Bump to 0.0.20 ( #11318 )
2022-01-01 00:32:14 +00:00
Nekotekina
cb2748ae08
Update ASMJIT (new upstream API)
2021-12-29 02:45:00 +03:00
Alex James
900d7df40f
GDB: Rework to_hex/hex_to functions
...
macOS defines uint64 as an alias of unsigned long long. Drop the length
modifiers to resolve the warning on macOS:
rpcs3/rpcs3/Emu/GDB.cpp:107:37: warning: format specifies type 'unsigned long *' but the argument has type 'u64 *' (aka 'unsigned long long *') [-Wformat]
sscanf_s(val.c_str(), "%" HEX_U64, &result);
~~~~~~~~~~ ^~~~~~~
Also use std::from_chars to implement hex_to_{u8,u32,u64} instead of
sscanf.
2021-12-28 02:02:44 +03:00
clienthax
6837370a62
Handle SYS_NET_IPPROTO_IP get/setsockopt
...
Improve net logging.
Should allow latest vsh to load (Depending on windows version apparantly..)
2021-12-27 20:58:09 +03:00
Nekotekina
d836033212
LLVM: enable some JIT events (Intel, Perf)
...
Made some related adjustments.
Currently incomplete.
2021-12-26 16:41:37 +03:00
Nekotekina
510041a873
rsx_methods.cpp: optimize compile time (120s to 10s)
...
Untemplate NV308A_COLOR
2021-12-26 14:40:21 +03:00
Nekotekina
8b4b6ba946
copy_data_swap_u32: build AVX-512 path
2021-12-26 14:40:21 +03:00
Nekotekina
599e00d6da
BufferUtils: remove dead code (vertex streaming)
...
RIP. It won't be useful.
2021-12-26 14:40:21 +03:00
Nekotekina
3cd8891ab8
Re-refactor copy_data_swap_u32 again
...
Drop AVX2 path for now, since it usually operates on small data.
Rely on automatic SSE vectorization on recent compilers.
Side refactoring on JIT.h to workaround weird conflict issue.
2021-12-26 14:40:21 +03:00
kd-11
a9303acfdf
rsx: Fix zclip w scaling
2021-12-26 12:50:31 +03:00
Eladash
6ee9d0f35f
sys_rsx: Outlaw mapping sys_vm memory to RSX IO address-space
2021-12-25 02:22:49 +03:00
nastys
a0040e6fb1
macOS: Implement texture converter for Metal (2) ( #11289 )
...
* macOS: Implement texture converter for Metal (2)
* Fix texture conversion formatting
2021-12-24 15:46:37 +03:00
kd-11
28d7af313b
rsx: Remove noisy debug print
2021-12-24 15:13:33 +03:00
kd-11
39ef39aa4e
rsx: Exercise caution when testing for overlaps in invalidated sections
2021-12-24 15:13:33 +03:00
kd-11
56dd09f4fe
rsx: Handle floating point shenanigans
...
- If near and far clip are too close together, the API will not distinguish between them leading to out of bounds values
2021-12-22 22:08:53 +03:00
kd-11
de495952fd
rsx: Enable fallback for devices without wide integer Z buffers
2021-12-22 22:08:53 +03:00
kd-11
1ce5349199
rsx: Remove zclip hackery
...
- Calculates precise Z value as requested by the game
- Works properly if the underlying Z format matches the PS3 1:1 but may cause minor problems otherwise
2021-12-22 22:08:53 +03:00
Nekotekina
dcd011048d
Implement "built_function" utility (runtime-generated assembly)
...
Similar to build_function_asm, but links without indirection.
Achieved by emitting code directly into a byte array.
2021-12-22 19:27:20 +03:00
Nekotekina
12e3c9e08b
Use PAUSE in vk::query_pool_manager::get_query_result
2021-12-21 23:28:09 +03:00
Nekotekina
262ff01619
Use aligned stores in write_index_array_data_to_buffer
...
Ensure that target buffer is cache line aligned.
Improve stx::make_single to support alignment.
2021-12-21 23:28:09 +03:00
Nekotekina
76ccaf5e6f
BufferUtils: refactoring
...
Optimize CPU capability tests for arch-tuned builds.
Separate streaming and non-streaming utilities.
Rewritten copy_data_swap_u32(_cmp) with AVX2 path.
2021-12-21 23:28:09 +03:00
nastys
47e4a95d8f
Fix remap_vector redefinition on macOS ( #11271 )
2021-12-21 10:36:09 +01:00
Nekotekina
c0bafbc804
TSX: enable same data optimization for PUTLLC
2021-12-19 20:23:01 +03:00
Nekotekina
61c64d1060
TSX: refactoring M
...
Remove first stage 'optimistic' transactions.
2021-12-19 20:23:01 +03:00
Nekotekina
3e1e1a683c
TSX/PPU: fix conditional store regression
2021-12-17 21:48:01 +03:00
Megamouse
18f59d3be8
Input: fix min stick input of keyboard pad handler
2021-12-17 17:21:44 +01:00
Megamouse
bf739aa156
Input: implement stick multipliers for keyboard
2021-12-17 17:21:44 +01:00
RipleyTom
43b7d1fe98
Add missing virtual destructors to some base class
2021-12-15 18:05:55 +03:00
Megamouse
cc21d1b3cf
cellSaveData: prevent some potential crashes due to corrupt files
2021-12-14 20:30:47 +01:00
nastys
08333e0876
macOS moltenVK support and SIGBUS handling ( #11252 )
2021-12-12 21:35:56 +01:00
Malcolm Jestadt
2f93df480b
SPU LLVM: Disable affineqb shufb paths temporarilly
2021-12-10 19:32:10 +03:00
Megamouse
56fe450959
Qt: fix screenshot path creation
2021-12-10 17:27:52 +01:00
clienthax
6f9adbd162
Debug SPRX check
2021-12-10 14:23:26 +01:00
Megamouse
f48c535802
cellAudio: Recover XAudio on failed initialization
2021-12-09 01:46:44 +01:00
Megamouse
5f7e5a9844
cellAudio: relax FAudio error handling
2021-12-09 01:46:44 +01:00
Megamouse
3f3b4bc363
cellAudio: recover Cubeb on failed initialization
2021-12-09 01:46:44 +01:00
Megamouse
68466f05b6
cellAudio: move some stuff to cpp
2021-12-09 01:46:44 +01:00
Megamouse
e6b4655142
cellAudio: use members instead of config values
2021-12-09 01:46:44 +01:00
xddxd
f690d55045
Remove unnecessary define
2021-12-09 01:21:11 +01:00
kd-11
d523f9cc6b
rsx: Avoid skipping input mask checks due to static flow control
2021-12-08 23:58:32 +03:00
kd-11
7ca15c60bb
rsx: Improve image aspect tests
...
- Replace old format-based detection with proper aspect test.
Explicit image aspect has been available for a long time, but older
code was not updated.
2021-12-08 23:58:32 +03:00
Nekotekina
8abd3e8bb4
PPU LLVM: fix bitcast usage to enable constant folding
2021-12-07 15:35:51 +03:00
Nekotekina
6730dc1dc4
LLVM DSL: print some debug info in get_const_vector<v128>
2021-12-07 13:21:24 +03:00
Nekotekina
6b40d69a8f
Introduce coroutine support (util/coro.hpp)
...
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Nekotekina
d6420b8803
Put std::hash specialization out of std
2021-12-07 13:04:10 +03:00
Megamouse
a4ad0a9468
cellVideoOutConfigure: treat unknown aspect as AUTO
2021-12-06 20:50:57 +01:00
Malcolm Jestadt
0617e9e14b
SPU LLVM: Fix vgf2p8affineqb usage
...
- Reverse the order of the bytes in the selection masks. Previously it was assumed that byte 0 would determine the output of bit 0, but byte 7 determines the output of bit 0.
2021-12-06 12:34:11 +03:00
Nekotekina
e3e39e8de3
PPU LLVM: rewrite and optimize saturation bit
...
Use vector accumulator
2021-12-03 00:14:06 +03:00
Nekotekina
209b14fbac
PPU LLVM: inline remaining vector instructions
2021-12-03 00:14:06 +03:00
Nekotekina
04c9d01390
PPU LLVM: modernize most vector instructions
...
Rewritten VSUM instructions:
VSUMSWS, VSUM2SWS, VSUM4SBS, VSUM4SHS, VSUM4UBS
2021-12-03 00:14:06 +03:00
Nekotekina
c9d8e59dbf
PPU LLVM: allow to drop setting SAT flag (optimization, module-wide)
...
Implement ppu_attr::has_mfvscr (partially, module-wide search).
If this instruction isn't found, allow to drop setting SAT flag.
It's based on presumption that only MFVSCR can retrieve SAT flag.
2021-12-03 00:14:06 +03:00
Nekotekina
86b194014b
PPU LLVM: rewrite more packing instructions
...
Rewritten VPKUHUM, VPKUHUS, VPKUWUM, VPKUWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
e7c827f73b
PPU LLVM: rewrite some packing instructions
...
Rewritten VPKSHSS, VPKSHUS, VPKSWSS, VPKSWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
abe498f35c
PPU LLVM: modernize some code with new DSL
...
PPU: rewritten instructions VMHADDSHS, VMHRADDSHS
PPU: added optimized path for VPERM (ra=rb)
2021-12-03 00:14:06 +03:00
DH
49c02854f5
[rsx] reduce size of config structs
2021-12-02 21:36:57 +03:00
DH
cccfb89aa0
[Config] Use std::less<> for std::map<...>
...
Reduces amount of string copies
[Utilities] fmt::replace_all: avoid creation of temporary strings
2021-12-02 21:36:57 +03:00
DH
2981867375
sys_spu_thread: Removed unused field access
2021-12-02 21:36:57 +03:00
DH
56d922999f
Fixed debug build compilation errors
...
const_str_t constructor without arguments shoud be constexpr for usage as default initializer in constexpr functions
2021-12-02 21:36:57 +03:00
kd-11
02832d9623
rsx: Add some sensible fallbacks ( #11219 )
...
* rsx: Add some sensible fallbacks
* Update GLPresent.cpp
* Update VKPresent.cpp
* Update rsx_utils.h
* Update rsx_utils.cpp
2021-12-02 16:02:08 +03:00
Eladash
0ab36ef44d
sys_spu: Implement SPU image segment info checks ( #11211 )
2021-12-02 13:17:10 +03:00
kd-11
9bb46aa944
rsx: Simplify unconstrained aspect ratio conversion
...
- There is a reason resolutions are defined by only a height variable.
2021-12-01 21:55:53 +01:00
Megamouse
474baca6d8
rsx: default initialize RsxDisplayInfo
2021-12-01 21:55:53 +01:00
Megamouse
88d0b7d135
cellAvconfExt: add some trivial param checks
2021-12-01 21:55:53 +01:00
Megamouse
aea1ec2594
avconf: Add const to fxo references
2021-12-01 21:55:53 +01:00
kd-11
22a7b026e7
rsx: Fix image scaling
...
- Specifically fixes a corner case where double transforms are required.
Technically this can be made more readable using transformation matrices:
* M1 = transform_virtual_to_physical()
* M2 = transform_image_to_virtual()
* M3 = M1 * M2
* Result = Input * M3
But we don't use a CPU-side matrix library and it is not reasonable to do this on the GPU.
2021-12-01 21:55:53 +01:00
Megamouse
c8d4a0dcdc
VK/GL: honor game's aspect ratio when scaling
2021-12-01 21:55:53 +01:00
Eladash
f16949c292
fs::file: always use strict reading mode for large reads ( #11206 )
2021-12-01 19:09:07 +03:00
Vestral
e5005597fe
CellAudio fixes
2021-11-29 20:43:00 +01:00
kd-11
38bfefcdfa
vk: Fix incorrect mixed transfer modes for mipmapped VTC
2021-11-28 01:44:21 +03:00
kd-11
44fe6f6d39
rsx: Fix sloppy format matching test
2021-11-27 17:47:41 +03:00
RipleyTom
4fe17fcecf
sys_usbd improvements ( #11202 )
2021-11-27 01:49:35 +00:00
RipleyTom
276ee81da8
Ignore Log subsection for config obsolete check
2021-11-25 19:42:12 +01:00
RipleyTom
5e158bd3f2
Impl sys_usbd_get_device_location
2021-11-25 00:53:00 +01:00
clienthax
2b924175aa
Emulated v406 usio
2021-11-24 21:59:48 +01:00
Vestrel
37a722cc1d
Audio backend improvements
...
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
orbea
a84223bdc6
rpcs3: Fix the DATADIR path for AppImage
...
Even when DATADIR is defined the other paths may still be correct.
Fixes: https://github.com/RPCS3/rpcs3/issues/11195
2021-11-24 19:14:06 +01:00
kd-11
4df1a938b1
Unused var
2021-11-24 16:02:24 +03:00
kd-11
94a3b1cfe8
rsx: Roll back some optimizations
...
- Just use RGB565 for all blit targets. Avoids really dumb transforms done by GPU hw.
- When X16 is used, all the channels get written to R channel alone. CmdBlit does perform format conversion!
- gl: Force image copy when blit is requested with compatible targets. Avoids format conversion issues.
2021-11-24 16:02:24 +03:00
kd-11
a21c6c4628
rsx: Fix handling of scaling requests for packed formats
...
- One does not simply interpolate RGB565 components as U16 data!
2021-11-24 16:02:24 +03:00
kd-11
58f0fa3ca5
gl: Enable handling of X16 blit targets
2021-11-24 16:02:24 +03:00
kd-11
97bd8f7bc1
rsx: Update sampler format class when inheriting mipmap slices/sections
2021-11-24 16:02:24 +03:00
clienthax
4c0ef37a5c
Stub uvc camera init
2021-11-23 23:41:13 +01:00
AniLeo
1df8f52a9f
vk: Remove lavapipe workaround
...
Current lavapipe version now has support for
shaderStorageBufferArrayDynamicIndexing
2021-11-23 22:48:46 +01:00
shockdude
f9434091c3
sys_usbd: make emulated turntable interrupt transfer as fast as possible
...
Also add missing mutex
2021-11-23 02:19:36 +00:00
orbea
59f253ba24
cmake: Use GNUInstalldirs
2021-11-22 21:45:55 +01:00
Eladash
c52d447381
sys_fs: Place all path-format checks upfront, implement more checks
2021-11-22 21:03:07 +03:00
Eladash
524b065bc8
Debugger: Show PPU reservation data
...
Asterisk marks the offset of data that had been given to the guest PPU code.
2021-11-22 14:48:34 +03:00
Eladash
f7b55ec8d4
lv2: Add missing reservation disowning in lv2_obj::yield
2021-11-22 14:48:34 +03:00
Megamouse
e7fc2bfa3b
Input: Log path on hid_open_path error
2021-11-22 09:41:12 +01:00
Megamouse
22e3075c64
cellSaveData: always log setList and setBuf
...
For debugging
2021-11-20 08:43:46 +01:00
Megamouse
09ead539a5
improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT
2021-11-20 08:43:46 +01:00
Megamouse
5272dd951b
Qt: simplify callbacks.resolve_path
2021-11-20 08:43:46 +01:00
Megamouse
7eee9e7b05
overlays: simplify backup icon copy procedure
2021-11-20 08:43:46 +01:00
Eladash
e5eb727110
Memory Searcher: Peek full string in log, fix case-insensitive search
2021-11-20 07:57:34 +01:00
Eladash
7352a5a495
GUI: Rename memory string searching tool to "Memory Searcher"
2021-11-20 07:57:34 +01:00
Megamouse
de2be90636
Qt: only show prefix for fatal messages
...
Always messages are supposed to be humanly readable
2021-11-17 22:53:20 +01:00
Artur
9f35c3f52d
Properly recognize triggers and axes for evdev pads.
2021-11-17 21:29:24 +01:00
RipleyTom
22910c02a9
Implement sceNpManagerGetPsHandle ( #11164 )
2021-11-17 18:02:01 +00:00
Megamouse
0f7534c755
VK: fix NVIDIA driverVersion check
2021-11-16 09:31:16 +01:00
Megamouse
4d0330bf82
rsx: fix possible segfault
2021-11-16 09:31:16 +01:00
Megamouse
026efd96b2
cellKbCnvRawCode: use proper constants
...
and comment out unreachable code
2021-11-16 09:31:16 +01:00
Megamouse
f6af5ff13a
cellRtcGetDaysInMonth: fix param check
2021-11-16 09:31:16 +01:00
Megamouse
0d7b7585a8
Some typo/warning fixes
2021-11-16 09:31:16 +01:00
Eladash
6283600b84
Qt: Fix log prefix in log_frame
2021-11-16 09:02:43 +01:00
Megamouse
f6e04ffdd2
overlays: add stick input to native dialogs
2021-11-16 01:38:33 +01:00
Megamouse
44b42f68fd
overlays: add R3, L3 and PS buttons
...
Unused at the moment
2021-11-16 01:38:33 +01:00
Megamouse
56241838c0
input: add made up CELL_PAD_CTRL_PS enum
...
And remove useless comment about 0x0 buttons. It's a bitmap, so 0x0 is literally useless.
2021-11-16 01:38:33 +01:00
Megamouse
26475f8f40
cellGem: add comment about hack
2021-11-16 01:38:33 +01:00
Megamouse
ff5e31f396
overlays: add system sounds
2021-11-15 23:03:30 +01:00
kd-11
59b1c324a9
rsx: Properly implement immediate mode rendering
...
- Treat the draw commands as being consumed on-the-fly with ATTR0 as provoking attribute
- Analysing streams sent to RSX and the results implies they are consumed fully inline.
This only makes sense if a provoking attribute is present. The 'static' register is truly the immediate register for the draw.
2021-11-15 18:14:15 +03:00
kd-11
1f627caa81
rsx: Clear some leaking register state between runs
2021-11-15 18:14:15 +03:00
Megamouse
7dc3a50ddf
Fix headless mode
2021-11-14 17:07:18 +01:00
Eladash
cfe08de951
Account empty EDAT ( #11146 )
...
* Improve sys_fs_open logging
2021-11-14 02:15:27 +03:00
Eladash
48ad959697
sys_event: Fix PPU queue forced uproot of waiters ( #11147 )
2021-11-13 20:22:54 +03:00
陈俊嘉
05881ffa62
Disable vulkan in Windows build when HAVE_VULKAN is off and other cmake build fixes. ( #11118 )
...
* Make WolfSSL build support multi-config generator.
Fix a build error in Windows when using QT's moc.
Disable vulkan in Windows build when HAVE_VULKAN is off.
* add WIN32_LEAN_AND_MEAN definition to VS project.
add HAVE_VULKAN definition to VS project.
Define NTSTATUS in main.cpp.
2021-11-13 16:11:49 +01:00
Megamouse
8b3ed7b599
Qt: fix initial pad settings dialog size and position
2021-11-11 23:06:57 +01:00
Megamouse
cbec04cd0f
Curl: fix --verbose-curl option
2021-11-11 17:37:22 +01:00
Malcolm Jestadt
3fde455932
SPU LLVM: Optimize branch following ORX
...
- test the input of ORX directly for zeroes, instead of the result
2021-11-11 12:58:38 +03:00
RipleyTom
ba727e13ae
Fixes rpcn_client.h func ptr comparison warning
2021-11-11 08:11:14 +01:00
Megamouse
2359ba9aed
curl: add verbose logging
...
and really verbose logging i you use --verbose-curl
2021-11-11 00:36:42 +01:00
RipleyTom
b736691bde
Special nullptr optParam->cbFunc case fix
2021-11-10 20:03:11 +01:00
RipleyTom
50bf528f3f
NP: add signaling_handler wakeup on connect queue
2021-11-10 12:43:45 +01:00
kd-11
7e3eab9915
rsx: Fix texture state propagation between unrelated draw calls
...
- Older games can load all textures before a draw sequence and then swap shaders for different draws.
- Optimizations in texture state streaming make it so that only referenced data is carried forward.
2021-11-09 12:39:49 +03:00
RipleyTom
dc0793b731
NP: Implement sceNpMatching2DeleteServerContext
2021-11-08 13:10:40 +03:00
RipleyTom
c194804fec
NP: Implement sceNpBasicGetFriendListEntry
2021-11-08 13:10:40 +03:00
RipleyTom
d41e405420
NP: Cache Manager + improvements
2021-11-08 13:10:40 +03:00
RipleyTom
516cb959cb
rpcn: new allocator + refactoring of np_handler
2021-11-08 13:10:40 +03:00
RipleyTom
704e74b904
rpcn: extra changes
2021-11-08 13:10:40 +03:00
Nick Renieris
b70f08d850
The Velocity Improvements: RoomData/RoomMemberData commands & fixes
...
modules/np2: Correct some SceNpMaching2 ptr type endianness
np/handler: Use STL .contains() method
Ignore USECRYPTO & USESIGNATURE in recvfrom/sendto
Implement RoomData/RoomMemberData commands
2021-11-08 13:10:40 +03:00
Malcolm Jestadt
7573d7289b
SPU LLVM: Hook up 128 bit spu verification
...
- Also fix FMA enablement for sapphirerapids
2021-11-06 21:12:12 +03:00
Megamouse
f9abe40494
Qt: fix initial TSX selection
2021-11-06 13:47:43 +01:00
Megamouse
88bb26afb4
vk: make upscaler dynamic
...
The config option was marked as dynamic, but was never actually changed ingame
2021-11-06 01:02:54 +01:00
Megamouse
dac0baac0d
Qt: improve fsr tooltip area
2021-11-06 01:02:54 +01:00
kd-11
f7eacf70ec
rsx: Restore shader disassembler to working state
2021-11-05 23:55:07 +03:00
Megamouse
067b35217a
Qt: Consider TSX-FA in settings dialog
2021-11-04 23:34:10 +01:00
Megamouse
af3ef02ca0
fix npDrmIsAvailable
2021-11-04 21:41:07 +01:00
Eladash
c49ebba648
Fixes of PS3 filesystem EDAT/SDAT handling
...
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
kd-11
933d96af5f
vk: Do not clip region using renderpass renderarea, we have scissor for that
2021-11-04 21:05:15 +03:00
Whatcookie
bf6044fced
SPU/SYSINFO: Disable TSX by default for TSX-FA cpus ( #11105 )
...
- Also detect the new RTM_ALWAYS_ABORT bit in cpuid
- This new bit indicates that RTM is disabled in the microcode
- On cpus with RTM_ALWAYS_ABORT TSX can be renabled by writing 0x4 to the msr 0x0000010F
2021-11-04 16:44:25 +00:00
Ani
1a0392bf15
CPUTranslator: Enable FMA for alderlake CPUs ( #11106 )
2021-11-03 19:31:46 +00:00
kd-11
ad00c44231
rsx: Configure pitch correctly for pitch-zero textures (1D)
2021-11-03 16:58:30 +03:00
Nekotekina
69f321a471
LLVM 13
2021-11-02 20:11:08 +03:00
Malcolm Jestadt
37383f4217
SPU ASMJIT: Disable 512 wide spu verification
...
- Apparantly this crashes every game.
2021-11-01 20:04:26 +03:00
Eladash
b84e95d768
rsx: Fixate time stamp of VBLANK
2021-11-01 10:04:53 +01:00
Eladash
4369fb234e
rsx: Fix typo in VBLANK processing regarding emulation pause
2021-11-01 10:04:53 +01:00
Eladash
58040d478a
rsx: Implement NTSC fixup mode, improve VBLANK accuracy
2021-11-01 10:04:53 +01:00
AniLeo
46a54f5474
rpcs3_version: Bump to 0.0.19
2021-11-01 03:05:52 +00:00
Eladash
e31173e33e
GUI: Always show thread name for fatal messages ( #11090 )
2021-10-31 13:24:41 +01:00
kd-11
5b0ef401f7
rsx: Fix sampling in X when 0 pitch is given
...
- A pitch of 0 still allows 1-dimensional addressing.
2021-10-31 14:32:42 +03:00
Megamouse
1650dd1c7d
overlays: fix graph offset error after applying new config
...
I already had this figured out last time but forgot the dynamic config use case.
2021-10-31 10:14:08 +01:00
Megamouse
84f123041a
overlays: fix offset of right edge oriented graphs when detail level is none
2021-10-31 10:14:08 +01:00
Megamouse
f258ae795c
Add more logging for Emulator Stop events
...
This should give us more insight into the conditions that cause emulation stops.
This may also help find false issue reports.
2021-10-31 04:12:47 +01:00
Megamouse
33e80a733d
overlays: fix trophy notification sound in queue
2021-10-30 22:44:30 +02:00
Megamouse
20331a77ce
Qt: multithreaded trophy icon refresh
2021-10-30 22:44:30 +02:00
Megamouse
4e6b37ca04
Qt: fix missing vfs mount
2021-10-30 22:44:30 +02:00
Eladash
646ad3eed4
SPU DisAsm: Force decimal point insertion for constant floats
2021-10-30 21:33:06 +02:00
Eladash
edcc2a9e0d
PS3 String Searcher: Implement instruction searching in embedded SPU images
2021-10-30 21:33:06 +02:00
Megamouse
0e20acdf55
overlays: add optional sound to trophy popup
2021-10-30 17:16:45 +02:00
Megamouse
f262e77fbd
overlays: add fade to trophy notification pop-ups
2021-10-30 17:16:45 +02:00
Megamouse
244aa6879a
overlays: fix trophy notification pop-up locations
2021-10-30 17:16:45 +02:00
Megamouse
e9fe90244f
Emu: Move VFS mount to Init
2021-10-29 19:46:11 +02:00
Eladash
a90376a7c4
SPU DisAsm: Print SPU floats
2021-10-29 19:15:21 +02:00
Megamouse
aff7d8a994
Qt: fix QSvg deployment
2021-10-28 23:54:56 +02:00
Megamouse
7f4b6b1ae7
Qt: Use svg instead of png
2021-10-28 21:01:27 +02:00
kd-11
78bcb0fd53
rsx: Do not reuse/destroy sections that have references held
...
- Avoids a situation where blit-dst and blit-src have overlapping ranges. Uploading blit-dst destroys blit-src and vice-versa.
This is not the end of the world, but blit-src should be kept around until the operation is completed to avoid stale references!
2021-10-27 12:30:43 +03:00
kd-11
c733e794de
gl: Use real image dimensions when decoding compressed textures
...
- Image size is already correctly calculated using block dimensions
2021-10-27 12:30:43 +03:00
kd-11
99fc90648b
gl: Disable shader interpreter if hardware does not support bindless textures
2021-10-27 12:30:43 +03:00
kd-11
2587545eed
gl: Fix decoding of wide, swizzled textures
...
- Handle pre-byteswapped data (swizzled usually) in the compute-safe path
2021-10-27 12:30:43 +03:00
capriots
ac300c7356
Correct channel order
...
Documentation says the order is Front L, Front R, Center, LFE, Surround L, Surround R, Rear L, Rear R
2021-10-27 10:24:02 +03:00
Megamouse
2af2db2cbf
Lower some log spam
...
These functions probably aren't perfect, but they spam a lot of unnecessary log messages.
2021-10-27 00:25:27 +02:00
Megamouse
d5ca9dacb6
Qt: add sound-effect to screenshots
2021-10-26 09:18:37 +02:00
Megamouse
5e436984a2
cellCamera: fix qt handler crash if object is destroyed from another thread
2021-10-24 15:01:43 +02:00
Megamouse
be972f04ac
cellGem: hook up camera
2021-10-24 15:01:43 +02:00
illusion0001
00c87a8fc9
Screenshot: add Title ID to filename
2021-10-24 13:12:01 +02:00
Megamouse
e51656e070
Qt: Add camera settings dialog
2021-10-24 11:32:35 +02:00
Megamouse
9dc6d920ce
cellCamera: don't flip qt image vertically by default
2021-10-24 11:32:35 +02:00
Megamouse
e67cf68321
cellCamera: fix compilation on linux
2021-10-24 11:32:35 +02:00
Megamouse
60d35e17ac
cellCamera: support all formats and set RGB32 if possible
2021-10-24 11:32:35 +02:00
Megamouse
d161d8c545
cellCamera: add some more logging and fix some warnings
2021-10-24 11:32:35 +02:00
Megamouse
f66b29f043
cellCamera: Implement dynamic camera selection
2021-10-24 11:32:35 +02:00
Megamouse
77f6db2543
cellCamera: fix some typos (fixes camera attachment in Kung Fu Live)
2021-10-24 11:32:35 +02:00
Megamouse
5eabe9aa33
cellCamera: silence some log errors
2021-10-24 11:32:35 +02:00
Megamouse
76c1681173
cellCamera: fix regular YUV422 conversion of qt camera handler
2021-10-24 11:32:35 +02:00
Megamouse
67ba381dfe
cellCamera: fix qt camera handler format
2021-10-24 11:32:35 +02:00
Megamouse
9a6285942b
cellCamera: fix buffer allocation
2021-10-24 11:32:35 +02:00
Megamouse
d93f16fe87
cellCamera: log qt camera handler status strings
2021-10-24 11:32:35 +02:00
Megamouse
214c1ccc7e
cellCamera: move camera handler interaction to seperate functions
2021-10-24 11:32:35 +02:00
Megamouse
d1ac92fd99
cellCamera: improve image conversion speed
2021-10-24 11:32:35 +02:00