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