Eladash
b8fa6fb4c4
Win32 FS: Rewrite (fix) vfs::host::rename
2020-09-24 18:06:51 +03:00
Eladash
3a96d99187
sceNpTrophyRegisterContext: Atomically create trophy data
2020-09-22 19:46:52 +03:00
Megamouse
511e9920c2
patch_engine: Apply patch when APP_VER is unknown
2020-09-21 11:59:57 +02:00
Eladash
9031c5a6e0
Win32 FS: Fix fs::stat for drives
2020-09-21 06:35:42 +03:00
Eladash
fe9c61fe73
atomic.hpp: Fix atomic_storage_futex::raw_notify
2020-09-12 22:11:40 +03:00
Eladash
b48c036636
Fix bitfield operator &=
2020-09-10 19:04:53 +02:00
Megamouse
44371dedd9
fix fs::copy_file on linux
2020-09-10 06:58:44 +02:00
Megamouse
fb62c297fa
patch_manager: log g_tls_error
2020-09-10 06:58:44 +02:00
Eladash
8c8048f037
Win32 FS: Use FindFirstFileExW in fs::stat, fs::exists, fs::is_dir, fs::is_file
...
Co-Authored-By: Bevan Weiss <bevanweiss@users.noreply.github.com>
2020-09-09 21:57:01 +02:00
Megamouse
46e8b4f561
patch_manager: add download button
2020-09-09 20:34:17 +02:00
RipleyTom
10820fa135
Implement sceNpSignaling & signaling improvements ( #8836 )
2020-09-07 22:50:17 +01:00
RipleyTom
190822c2b2
RPCN Client ( #8663 )
2020-08-27 20:47:04 +01:00
Eladash
25dee4a78e
Fix bitops test
2020-08-17 17:36:27 +01:00
Bevan Weiss
01d3585bf3
Bring back the non-compliant define, but version limited
...
As noted, we've done something we shouldn't have with MSVC compiler specific defines. But to avoid breaking the MSVC build environment, leave this define in there until the MSVC version when it is actually exposed by the compiler itself (v16.8).
2020-08-14 18:34:34 +01:00
Bevan Weiss
a11afe05bf
MSVC changes
...
Add support for compilation on x64 toolchain (x86 cl.exe was running out of heap space in vm.cpp)
Also took the opportunity to change compile optimisation from /Ox to /O2, as /O2 provides better optimisation than does /Ox
Also, we shouldn't be explicitely setting compiler tool defines (__cpp_lib_bitops), so remove that from types.h
2020-08-14 18:34:34 +01:00
Malcolm Jestadt
f188589685
Utils: Add detection for Icelake-client tier AVX-512
...
- Implies support for everything that Skylake-X supports as well as AVX512IFMA, AVX512VBMI, AVX512VBMI2, AVX512VPOPCNTDQ, AVX512BITALG, AVX512VNNI, AVX512VPCLMULQDQ, AVX512GFNI, AVX512VAES
2020-08-08 00:33:22 +02:00
Megamouse
47040be3ad
cheat_manager: improve parser errors
2020-07-29 13:18:33 +02:00
Megamouse
d0bb9d2b62
cheat_manager: move cheats.yml to patches folder
2020-07-29 13:18:33 +02:00
Bevan Weiss
c5d39ace2b
Update types.h to fix static_cast test ( #8627 )
...
Trivial fix up to resolve invalid is_constructible test (To,To) to match desired (To,From)
2020-07-25 09:46:47 +01:00
Eladash
a029a94c73
SPU: Use waitable atomics for SPU channels interface
2020-07-23 13:45:58 +03:00
Eladash
0d8152cd4e
SPU/Linux: Ensure aligned 64k allocations in utils::memory_reserve
2020-07-19 17:58:49 +03:00
Eladash
c37bc3c55c
SPU: Make spu_thread::offset private
2020-07-19 17:58:49 +03:00
Eladash
c1a80b8146
Minor fixup after #8501
2020-07-16 21:52:08 +03:00
Eladash
58e2465369
Make std::bit_cast hack-implementation constexpr in simple cases
2020-07-14 12:14:44 +03:00
illusion
60f05fdbf3
move applied patch log level to success
2020-07-13 22:33:03 +02:00
Megamouse
55e907385b
patch_manager: warning for incompatible patches ( #8535 )
...
* patch_manager: warning for incompatible patches
This will open a warning dialog whenever the patch manager is opened and incompatible patches are detected.
* Apply suggestions from code review
Co-authored-by: Bird Egop <sampletext32@bk.ru>
Co-authored-by: Bird Egop <sampletext32@bk.ru>
2020-06-30 21:35:15 +02:00
Megamouse
6742fad753
patch_manager: fix import, use constants as keys
...
And improve import logging again
2020-06-30 00:45:17 +02:00
Megamouse
c6190fa95d
patch_manager: improve import logging
...
imported_patch.yml has to be the latest version too
2020-06-29 23:56:27 +02:00
Megamouse
98eb0cd3f2
patch_manager: fix legacy patches again
2020-06-29 23:56:27 +02:00
Megamouse
541e20cbec
patch_manager: allow Notes as sequence
2020-06-29 23:56:27 +02:00
Megamouse
a5368d766a
patch_manager: prefer specific > global (per hash)
2020-06-29 23:56:27 +02:00
Megamouse
cf2e2a0511
patch_manager: one patch per group across hashes
2020-06-29 23:56:27 +02:00
Megamouse
3a17eefde7
patch_manager: restrict All serials to All titles
2020-06-29 23:56:27 +02:00
Megamouse
c72a6f8e6f
patch_manager: prefer serial patches over All
2020-06-29 23:56:27 +02:00
Megamouse
6a486d3402
patch_manager: only apply one patch per group
...
So far this was purely handled in the GUI
2020-06-29 23:56:27 +02:00
Megamouse
e43db24b2c
patch_manager: add All override
...
All can now be used as a key for title, serial and/or app version.
If you check a patch for all ... then the patch will be applied regardless of what's checked for the game specifically, because we do not save 'Unchecked' patches.
2020-06-29 23:56:27 +02:00
Megamouse
12dded403f
patch_manager: implement serials and app_versions
2020-06-29 23:56:27 +02:00
Eladash
d9e3f0ccfa
types.h: Fix ASSUME macro side-effects mismatch between compilers
2020-06-29 03:10:05 +01:00
Eladash
2483cc6f8d
Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic
2020-06-28 23:26:10 +01:00
Eladash
9cb4402c16
Make error_code::value member private
2020-06-27 09:02:55 +01:00
Megamouse
abec850379
patch_manager: add hash to applied log message
2020-06-24 15:31:55 +02:00
Megamouse
431e0eb30c
patch_manager: fix missing config path
2020-06-24 15:31:55 +02:00
Megamouse
5affc459a2
patch manager: Allow partial patch file import
2020-06-21 15:48:30 +02:00
Megamouse
cd4ed11700
patch manager: Add patch removal to context menu
...
Also avoid saving empty patch maps
2020-06-21 15:48:30 +02:00
Megamouse
fd2cd84555
patch manager: Skip lower patch_versions
2020-06-21 15:48:30 +02:00
Megamouse
bf978ac8ca
patch manager: properly check patch versions
...
Also abort patch import of lower patch versions
2020-06-21 15:48:30 +02:00
Megamouse
d3c6472c0f
patch manager: replace Version and Title keys
...
With Patch Version and Game Title
2020-06-21 15:48:30 +02:00
Megamouse
1c7a318413
patch manager: move try catch block to yaml.cpp
2020-06-21 15:48:30 +02:00
Megamouse
591624b96c
patch manager: avoid patch import inconsistencies
...
Save the original patch value instead of the interpreted value
2020-06-21 15:48:30 +02:00
Megamouse
2323cd2a2d
patch manager: move title + serials to patch level
...
Also bump patch file version to 1.1
2020-06-21 15:48:30 +02:00
Megamouse
cc5c89539b
patch manager: improve error handling
...
There shouldn't be much left that can crash this thing
2020-06-21 15:48:30 +02:00
Megamouse
a7ee059419
patch manager: import patches
2020-06-21 15:48:30 +02:00
Eladash
d86c9a2549
sys_mmapper: rewrite page fault thread notifications
...
* Fix a corner case where SPU thread has the same ID as a PPU thread.
* Fix a potential deadlock on Emu.Stop() while sending event in EBUSY loop.
* Thread specific notifications.
2020-06-18 20:13:54 +03:00
RipleyTom
3d3c91d654
std header guard in BEType.h ( #8448 )
2020-06-16 01:06:15 +01:00
Eladash
731d4330fe
v128: A few optimizations ( #8432 )
2020-06-15 17:24:04 +03:00
Malcolm Jestadt
746615a937
Fix embedded spu elf patching
2020-06-13 23:18:44 +02:00
Megamouse
22b1cc765a
patch manager: hotfix for legacy patches
...
Assignment of invalid YAML nodes is not possible after all
2020-06-11 22:23:02 +02:00
Megamouse
4a03f06175
patch manager: add checkbox for "enable legacy"
2020-06-11 16:31:49 +02:00
Megamouse
2dca8d84e1
patch manager
2020-06-11 13:15:25 +02:00
Nekotekina
3b8e7d0967
Implement v128::fma32f
2020-06-07 22:44:07 +03:00
Eladash
f0cdd8ace6
PPU: Implement PPU Traps Stubbing option
2020-05-27 22:39:29 +03:00
Eladash
b8f86eb78d
SPU: Fix page faults notifications
2020-05-23 00:48:28 +03:00
Nekotekina
ae519200ed
Implement std::countl_zero and friends
...
Trying to fix macos build.
2020-05-18 00:51:57 +03:00
Eladash
201d54ee08
PPU interpreters: Implement AltiVec NaNs precedence and data preservation
2020-05-18 00:35:06 +03:00
Nekotekina
e1042bc631
Get rid of "module" keyword
...
Workaround some intellisense problems.
2020-05-06 18:20:11 +03:00
Nekotekina
a6f0b1b532
Fix get_thread_affinity_mask (Linux/BSD)
...
Uninitialized variable (facepalm).
2020-05-05 21:44:32 +03:00
MSuih
b18dcd7660
Add fs::error for when disk is full
2020-05-02 14:54:41 +03:00
Nekotekina
31035608ee
Use utils::get_cpu_brand when applicable
2020-05-01 22:00:57 +03:00
Nekotekina
f6200ba635
Implement thread_ctrl::get_process_affinity_mask()
2020-05-01 22:00:56 +03:00
Eladash
0db91aa56b
Fix address_range start_length() constructor
...
Fixes an underflow when constructing start_length(0, 0).
2020-04-29 06:47:35 +03:00
Nekotekina
d66bdf1653
TSC calibration improvements
...
Bind main thread to a single core for calibration.
Issue RDTSC after clock probing, may improve accuracy.
2020-04-29 00:09:40 +03:00
Nekotekina
76294beae1
Implement thread_ctrl::get_thread_affinity_mask()
2020-04-29 00:09:40 +03:00
Nekotekina
c7fe8567b8
Experimental squashing of reservation memory area.
...
Enables trivial synchronization between shared mem.
Reduces memory usage, but potentially degrades performance.
Rename an overload of vm::passive_lock to vm::range_lock.
2020-04-16 02:25:43 +03:00
Nekotekina
b1b67a13c6
Revert "Replace rotate utils with std::rotl" (partial)
...
This reverts commit 4d8bfe328b
.
2020-04-14 19:45:53 +03:00
Nekotekina
4d8bfe328b
Replace rotate utils with std::rotl
...
More include cleanup.
2020-04-14 16:05:58 +03:00
Nekotekina
f72af2973d
Replace utils::popcnt32 with std::popcount
...
Cleanup includes.
2020-04-14 16:05:58 +03:00
Nekotekina
032e7c0491
Replace utils::cntlz{32,64} with std::countl_zero
2020-04-14 16:05:58 +03:00
Nekotekina
d0c199d455
Replace utils::cnttz{32,64} with std::countr_{zero,one}
...
Make #include <bit> mandatory.
2020-04-14 16:05:58 +03:00
Eladash
926e0467cf
Another ::as_rvalue fixup
2020-04-13 04:34:10 +01:00
sampletext32
c69691f19b
Fix various explicitness, laziness, hard codes
2020-04-12 17:29:42 +03:00
Eladash
cb14805d78
rsx fp/vp analyzers: Fix strict type aliasing and improve codegen
2020-04-12 16:48:43 +03:00
Eladash
c3a4e57efe
Reduce log level of page fault notifications
...
Log current hle function.
2020-04-12 10:30:38 +01:00
Eladash
8e61c65c0d
Fixup ::as_rvalue
2020-04-11 22:55:55 +03:00
Eladash
141d62fbf9
Implement ::as_rvalue
2020-04-11 21:58:36 +03:00
Nekotekina
1b68f90e42
Tweak TSC calibration
...
Round to 3 digits after dot (count in MHz).
2020-04-09 16:23:33 +03:00
Nekotekina
6c8d844ec5
PPU LLVM: fix crash on damaged cache files
2020-04-07 16:51:35 +03:00
Nekotekina
91d80aa7b9
Implement jit_compiler::check
...
Instead of checking file existence (because file may be damaged).
2020-04-07 16:09:47 +03:00
Eladash
5834a466cd
Fix utils::get_tsc_freq() ( #7974 )
...
Use magic static for once-initialization
2020-04-07 11:02:12 +03:00
Nekotekina
3c3ccdbf1e
Round TSC calibration result towards speculated CPU base frequency
2020-04-07 00:10:08 +03:00
Nekotekina
15f01a1bf6
Implement TSC calibration
...
Try to get rough TSC frequency by sampling it.
2020-04-07 00:10:08 +03:00
Eladash
72d1efa383
rsx: Batch transform contants load methods
2020-04-05 15:21:56 +03:00
RipleyTom
f36686b1a7
Always launch rpcs3.exe on restart
2020-04-05 14:27:13 +03:00
Nekotekina
7f9d41ac47
Implement cfg::uint for unsigned integers
2020-04-04 21:38:40 +03:00
Whatcookie
dd8a3eaac5
Util: Add FMA and INVARIANT_TSC detection ( #7937 )
2020-04-04 19:12:06 +01:00
Nick Renieris
1231274e0f
CPUThread: Split dump() info to separate methods
2020-04-03 01:36:35 +01:00
Nekotekina
ba7f4af02b
CFG: minor cleanup
2020-03-31 21:50:23 +03:00
Megamouse
fc3a134e7d
Emu: make "Silence All Logs" dynamic
2020-03-31 18:06:37 +02:00
Megamouse
a76a4d8136
change sig_log to SIG
2020-03-31 18:06:37 +02:00
JohnHolmesII
ad13075b36
Build: Fix potential issue with Windows builds not receiving correct
...
branch info
2020-03-29 14:10:07 +03:00
Nekotekina
aae338a91c
named_thread_group: add a default constructor
2020-03-28 17:17:51 +03:00