Nekotekina
60cff6f3d4
Attempt to fix #9271
2020-11-21 07:09:48 +03:00
Nekotekina
d344701fd5
atomic.cpp: add sparse atomics
...
Set alignment as second template argument (typically cache line).
2020-10-26 01:15:31 +03:00
Eladash
2483cc6f8d
Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic
2020-06-28 23:26:10 +01: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
Nekotekina
3b8e7d0967
Implement v128::fma32f
2020-06-07 22:44:07 +03:00
Eladash
201d54ee08
PPU interpreters: Implement AltiVec NaNs precedence and data preservation
2020-05-18 00:35:06 +03:00
Eladash
cb14805d78
rsx fp/vp analyzers: Fix strict type aliasing and improve codegen
2020-04-12 16:48:43 +03:00
Eladash
c9b5ba4a5c
BEType.h: use common initial sequance in v128
...
Partially obey 'strict type aliasing' rule.
2020-03-17 18:22:13 +03:00
Nekotekina
6a1a0bf48d
Use std::endian for endianness test
...
Remove legacy IS_LE_MACHINE IS_BE_MACHINE macro.
2020-02-17 21:33:24 +03:00
Nekotekina
21885264f7
Improve to_se conversion template
...
Add sizeof check instead of filtering out 1-byte types.
2019-09-28 15:39:50 +03:00
Nekotekina
bd1a24b894
Tidy endianness support (se_t) implementation
...
Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
2019-09-28 15:39:50 +03:00
Eladash
cd0ef99df5
Fix BE endianess arch support in semaphore_406e ( #6116 )
...
Add raw() methods for endianness support types and make use of it.
2019-06-21 19:29:49 +03:00
Nekotekina
dfd50d0185
Implement std::bit_cast<>
...
Partial implementation of std::bit_cast from C++20.
Also fix most strict-aliasing rule break warnings (gcc).
2019-06-02 23:22:16 +03:00
Nekotekina
d5eda98e49
Fix le_t<> compilation error
...
Use memcpy for copying
2019-01-22 22:02:03 +03:00
Nekotekina
ce4c4696dd
Try to get rid of SIZE_32 macro
2018-09-03 21:40:36 +03:00
Nekotekina
84abb9923a
Don't use std::aligned_storage
...
Don't need its limiting behaviour anyway
2018-08-25 15:47:03 +03:00
Nekotekina
61de20a633
RSX: remove SSSE3 dependency
2017-12-20 00:04:08 +03:00
Nekotekina
9b43203111
offset32(): pointer-to-member arithmetic
2017-04-20 00:17:16 +03:00
Nekotekina
0f87c4485d
Silly macro removed-2
2016-08-14 18:19:42 +03:00
Nekotekina
949200cd3e
Type hacks removed
2016-08-14 18:07:32 +03:00
Nekotekina
1a7ea2d235
fmt_unveil<> fix
2016-08-07 17:05:35 +03:00
Nekotekina
5a36c57c57
Formatting system improved
...
`unveil<>` renamed to `fmt_unveil<>`, now packs args to u64 imitating va_args
`bijective...` removed, `cfg::enum_entry` now uses formatting system
`fmt_class_string<>` added, providing type-specific "%s" handler function
Added `fmt::append`, removed `fmt::narrow` (too obscure)
Utilities/cfmt.h: C-style format template function (WIP)
Minor formatting fixes and cleanup
2016-08-04 21:34:00 +03:00
Nekotekina
73c2115968
BEType: explicit alignment specifier
2016-07-16 14:45:57 +03:00
Ivan
da7472fe81
Optimizations ( #1680 )
...
* Optimizations
1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)
* any_pod<> implemented
Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Nekotekina
250ce63527
Partial commit: Utilities
2016-04-15 19:22:20 +03:00
Nekotekina
128ee67bba
PSF Loader simplified
2016-01-27 19:17:01 +03:00
Nekotekina
8a1ce6ba64
MINGW64 fix
2015-12-04 23:37:35 +03:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
8ae3401ffa
Some things improved
...
shared_mutex_t implemented
GUI Emu Callbacks rewritten
fxm::import, fxm::import_always implemented
cellMsgDialog rewritten
Emu.CallAfter improved (returns std::future)
2015-09-22 16:48:21 +03:00
Nekotekina
9d68c16c62
be_t (se_t) optimizations
2015-09-22 13:28:35 +03:00
Nekotekina
59f1077a36
Cleanup, be_t fixed
...
Some functions renamed:
get_ps3_function_name
execute_syscall_by_index
2015-09-22 13:28:34 +03:00
Nekotekina
4e62ec7458
PKG Installer fixed, u128 improved
2015-09-22 13:28:32 +03:00
Nekotekina
cbe83ad8dd
Various fixes
2015-09-08 13:47:00 +03:00
Nekotekina
07b9379a7c
New u128 type stub
2015-08-24 21:22:27 +03:00
Nekotekina
6f3c50eba2
u128 renamed to v128
...
Since it's vector union type
2015-08-24 21:22:23 +03:00
Danila Malyutin
009370f73c
Fix some compiling problems on OSX
...
and enable osx builds on travis
2015-08-24 00:20:01 +03:00
Nekotekina
c598fe7aa9
atomic_op() rewritten, atomic.h refactoring
...
cellSync refactoring, wait_op() rewritten, bugfixes
2015-07-10 04:31:10 +03:00
Nekotekina
39f836b495
re32/se32/... macro eliminated, some fixes
2015-07-10 04:31:09 +03:00
Nekotekina
ef6f9f6ded
be_t constructor implemented, make() eliminated
...
be_t enums are forbidden, le_t improved, some operators cleaned.
2015-07-10 04:31:07 +03:00
Nekotekina
e896da8064
Added .aligned() method for vm::ptr
...
Added set_alignment() macro for setting alignment
Added alignof32() macro similar to sizeof32()
Added CHECK_SIZE, CHECK_ALIGN macro with static_assert
Minor refactoring
2015-07-10 04:30:51 +03:00
Nekotekina
9c1c3bffbe
is_be_t, is_le_t fixed
2015-06-15 20:00:08 +03:00
Nekotekina
e833904b02
BEType improved (bugfix)
2015-06-15 19:21:21 +03:00
Nekotekina
b7d967361d
vm::ptr conversion operator fixed
2015-06-15 19:21:18 +03:00
Nekotekina
3064560027
vm::ptr refactoring (operators improved)
...
vm::pptr, vm::bpptr added for PS3
is_le_t added
sizeof32() added (32-bit sizeof macro)
2015-06-15 19:21:14 +03:00
Nekotekina
a77a75660b
Compilation fix
2015-06-15 19:21:10 +03:00
Nekotekina
4d9add5e7c
vm::ref improved, bugfixes
2015-06-15 19:21:09 +03:00
Nekotekina
1256d648c1
be_t simplified, vm::ref improved
...
remove_be_t renamed to to_ne_t (to native endianness)
le_t and to_le_t draft, bugfixes
2015-06-15 19:21:07 +03:00
DHrpcs3
39e679806b
Implemented some sys_prx syscalls
...
Fixed vm::ptr
Conflicts:
Utilities/BEType.h
Utilities/StrFmt.cpp
rpcs3/Emu/Memory/vm_ptr.h
rpcs3/Emu/SysCalls/lv2/sys_prx.cpp
rpcs3/Emu/SysCalls/lv2/sys_prx.h
Cherry-picked commit "Implemented some sys_prx syscalls"
2015-05-29 04:34:30 +03:00
Nekotekina
78fdcf75e7
Attribute macro changed
...
__forceinline -> force_inline
__noinline -> never_inline
printf_alike(x,y) added
2015-05-28 18:14:22 +03:00