Megamouse
0debcfed0a
Silence some warnings
2021-09-02 19:39:42 +02:00
RipleyTom
1e108d97b2
Removes need for sys/sysctl.h on linux
2021-08-31 12:30:22 +03:00
Nekotekina
63104af8e9
vm_native: detect overcommit support on FreeBSD and other OS
...
Used in sparse memory initialization code.
2021-08-30 14:42:16 +03:00
Nekotekina
064fc81697
Fix warnings
2021-08-06 10:41:40 +03:00
kd-11
8aec943093
Use c++20 has_single_bit for POT test
2021-08-03 00:36:04 +03:00
kd-11
0ec526c5f1
rsx: Do not use VTC tiling on NPOT textures
...
- Seems to be ignored for 'normal' textures. Mostly verified through games.
2021-08-03 00:36:04 +03:00
Jan Beich
3a6399aaaa
vm_native: add workaround for FreeBSD 12
...
rpcs3/util/vm_native.cpp:302:16: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("2M", c_mfd_huge_2mb);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
rpcs3/util/vm_native.cpp:308:15: error: no member named 'memfd_create' in the global namespace
m_file = ::memfd_create_("", 0);
~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
#define memfd_create_ memfd_create
^
2021-07-29 20:48:10 +03:00
Jan Beich
de6f3b5653
vm_native: enable memfd_create on FreeBSD
2021-07-29 20:48:10 +03:00
Megamouse
867f0e1f02
fix warning
2021-07-23 00:09:46 +02:00
Megamouse
fad79a96a2
media_info: improve error logging
2021-06-25 09:41:32 +03:00
Megamouse
b6128c5dfa
cellSearch: extend media_info for video files
2021-06-25 09:41:32 +03:00
Megamouse
68a1da31a0
cellSearch: move audio info to separate util file
2021-06-25 09:41:32 +03:00
Nekotekina
6f874be41b
vm_native: bypass rpcs3_vm creation if overcommit is enabled (Linux)
...
Unfortunately, different systems need different approach here.
2021-06-12 19:12:59 +03:00
Nekotekina
dfbd63df94
vm_native.cpp: change rpcs3_vm name/location priority (Win32)
...
Prefer temp directory, rename to rpcs3_vm_sparse.tmp
Try to remove archive attribute (doesn't work well).
2021-06-11 19:15:21 +03:00
Eladash
76bfe54c7e
Improve bitwise serialization trait
2021-06-11 16:54:17 +03:00
Eladash
0628a5d931
serialization.hpp: Fixes
2021-06-11 08:59:02 +03:00
Nekotekina
696be6aacd
Implement fmt::ensure (assert-like with formatted message) + fmt::tie
...
Arguments should be provided via fmt::tie() due to some limitations.
Allow to specify simple message (non-formatting) for plain ::ensure().
Remove redundant function for narrow error.
2021-06-10 21:16:57 +03:00
Nekotekina
2d3fe7ce1c
fixed_typemap.hpp: add range iterator
...
Remove recently added functions.
2021-06-09 00:07:15 +03:00
Eladash
e7b1fc6696
Fixup serialization utility
2021-06-08 19:29:46 +03:00
Eladash
76bf720adf
Improve emulation stopping speed
...
Split phases of signalling threads and joining them.
2021-06-08 18:26:14 +03:00
Eladash
2169e8d935
Implement serialization.hpp, remove cereal submodule
...
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
Nekotekina
f5e529db61
shared_ptr.hpp: don't use fake objects
...
This lifts the limitation for casting with abstract classes.
Use new C++20 feature (constexpr allocator) to test viability.
Add SamePtr concept to types.hpp
2021-05-30 15:07:17 +03:00
Nekotekina
eec9578619
types.hpp: add PtrCastable concept
2021-05-29 18:32:13 +03:00
Nekotekina
7311c161f6
vm_native: fix Linux/Posix sparse file check
...
Fix fast path condition (xnor is not ==, facepalm).
Increase probe size.
Should fix #10334
Closes #10335
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-05-25 09:55:43 +03:00
Nekotekina
5db38c0127
vm_native: improve sparse file check (Linux/BSD)
...
Use lseek(FIND_DATA) to check for sparse file support.
2021-05-24 18:21:52 +03:00
Nekotekina
191cb92300
vm_native: improve sparse file implementation (Win32)
...
Fix sparse attribute set/check, improve logic.
Implement actual check of file data.
Ask to restart RPCS3 first time (Win7 bug).
2021-05-24 18:21:52 +03:00
Nekotekina
2491aad6f2
types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
...
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina
4b239a0b87
types.hpp: rewrite _u16-_u64 suffixes
...
_u48 is unused and gone, blends into _u64.
2021-05-23 07:33:54 +03:00
Nekotekina
2768727e2f
types.hpp: replace custom std::bit_cast
...
Remove memcpy version.
Use builtin instead.
2021-05-23 07:33:19 +03:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Nekotekina
613777afde
vm_native: try to workaround another bug (Win32)
...
Resize sparse file gradually.
2021-05-22 08:16:54 +03:00
Nekotekina
c646476ca8
logs.hpp: another fixup for RPCS3.log
...
Don't print channel names for initial messages.
2021-05-21 00:41:37 +03:00
Nekotekina
de94f6c2f6
logs.hpp: fix fatal typo
2021-05-20 19:10:51 +03:00
Nekotekina
04cac6cd33
logs.hpp: refactoring (logs::message)
...
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Nekotekina
1d0f6eebdc
Improve error_code (new formatting constructor)
...
Minor cleanup in formatting utilities.
2021-05-19 22:41:16 +03:00
Nekotekina
16620f6835
vm_native: sparse file fixup (Win32)
...
Clear file if it occupies blocks.
Makes it more fool-proof and fixes possible bug.
2021-05-19 22:41:16 +03:00
Nekotekina
6e497ae372
vm: disable sparse files on win7
2021-05-18 13:31:46 +03:00
Nekotekina
2a26bc6668
Fix page mapping rights to file mapping
2021-05-13 13:49:24 +03:00
Nekotekina
f0ad20a250
Implement const_str_t<> helper
2021-05-13 10:23:33 +03:00
Nekotekina
126141cdce
vm_native: improve sparse file handling
...
Don't specify O_TRUNC every time.
Add portable support test (Linux/Unix).
Use PAGE_WRITECOPY (Windows).
2021-05-13 10:23:33 +03:00
Nekotekina
0bd64a0e72
Don't fatal on sparse file initialization failure
...
Also try two different locations (Win32).
2021-05-10 00:39:28 +03:00
Nekotekina
327c000c82
Implement s128 type (based on u128)
2021-05-04 18:02:52 +03:00
Nekotekina
1b0b2fe21e
vm: add "hook" memory (32G)
...
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03:00
Nekotekina
e327d47169
vm_native: add cow flag to map functions
...
CoW is copy-on-write mapping type.
2021-05-04 09:53:19 +03:00
Nekotekina
3fc6375ec5
Use consteval (experimental)
2021-04-29 23:16:43 +03:00
Nekotekina
f8e05f8e3c
Remove redundant operators !=
2021-04-29 22:57:40 +03:00
Nekotekina
5724d2d4c7
Simplify umax
...
Add operator less and conversion operator.
2021-04-29 12:21:12 +03:00
Nekotekina
b1736b6411
Simplify utils::umulh64 (MSVC)
2021-04-29 09:45:57 +03:00
Nekotekina
4d9a167f56
u128: add multiplication support (for MSVC)
2021-04-25 18:17:38 +03:00
Nekotekina
b704cc8375
shared_ptr.hpp: implement make_single_value(), make_shared_value()
...
A function that constructs single_ptr from its argument.
Type can be deduced from the argument (unlike make_single).
2021-04-25 18:17:38 +03:00