Commit Graph

585 Commits

Author SHA1 Message Date
Nekotekina
a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina
46735d6b3d New bitsets (experimental) 2016-08-08 16:29:37 +03:00
Nekotekina
71441819e5 multicast<> rewritten 2016-08-07 17:06:37 +03:00
Nekotekina
1a7ea2d235 fmt_unveil<> fix 2016-08-07 17:05:35 +03:00
Nekotekina
9245308ff2 Improve fatal error report 2016-08-06 15:09:44 +03:00
Nekotekina
3cd2f735a7 Fmt fix 2016-08-06 13:39:01 +03:00
Nekotekina
d646fbb94f Fmt/Log fixes 2016-08-05 20:59:25 +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
f8719c1230 PPUThread refactoring
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina
44bee7d0ba LLVM: Use small code model
Global variables modified:
__mptr: pointer to memory base addr
__cptr: pointer to function map addr

Use 32 bit pointers in function map
2016-07-25 18:26:02 +03:00
Nekotekina
a026d35c97 sys_interrupt_thread_eoi fixed
thread_ctrl::interrupt improved
BIND_FUNC improved: preparations
2016-07-24 21:06:07 +03:00
Nekotekina
7ccdea7822 Removed std::enable_shared_from_this
Minor ID manager refactoring
2016-07-24 21:06:05 +03:00
Nekotekina
0227c03366 GUI logging improved
logs::listener resurrected
rpcs3 version: constexpr
2016-07-21 01:54:39 +03:00
Nekotekina
a186af32ec Fixed thread interrupt and accvio 2016-07-18 17:54:31 +03:00
Nekotekina
438e057dc8 Partial commit: sys_fs 2016-07-17 02:27:52 +03:00
Nekotekina
59433bfcd5 Implemented thread_ctrl::interrupt 2016-07-17 02:23:45 +03:00
Nekotekina
96728a83f6 Partial commit: sys_memory, sys_mmapper 2016-07-16 14:46:01 +03:00
Nekotekina
73c2115968 BEType: explicit alignment specifier 2016-07-16 14:45:57 +03:00
Nekotekina
ba8fd825ec fs::get_data_dir implemented 2016-07-11 22:12:39 +03:00
Nekotekina
06c6c8212d Minor fixes
elf_object
Loader fix
Analyser fix
2016-07-11 16:30:11 +03:00
Ivan
77594dc66c PPU LLVM: New analyser (#1858)
Minor fixes
VEX prefix support
2016-07-07 21:42:39 +03:00
DH
32830d45ff Improved shaders cache 2016-06-27 21:53:56 +03:00
Nekotekina
0ea0c21fed LLVM: Indirect call map 2016-06-27 19:34:14 +03:00
Nekotekina
7a921cbdf9 cpu_thread compressed 2016-06-27 16:43:57 +03:00
Nekotekina
9db7de29fb Syscall analysis implemented 2016-06-27 16:43:56 +03:00
Nekotekina
63e690ca11 CMP, TEST instruction support 2016-06-27 16:43:54 +03:00
Nekotekina
a19b721c26 LLVM: Added JIT.cpp
Refactoring, used -fno-rtti option
2016-06-27 16:43:53 +03:00
Nekotekina
a8bebcba55 LLVM AOT 2016-06-19 21:29:48 +03:00
DHrpcs3
795170635f Added dynamic_library utility 2016-06-17 21:26:05 +03:00
DHrpcs3
b52e885cde Added rpcs3 version object
Removed _PRGVER_ macros
2016-06-17 21:26:04 +03:00
Ivan
edc92843a7 Hotfix (#1705) 2016-05-24 01:59:39 +03:00
Nekotekina
266db1336d The rest 2016-05-23 16:22:25 +03:00
Ivan
aafcf44581 Header optimizations (#1684)
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +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
Ivan
75fe95eeb1 GSL moved from stdafx.h (#1676)
Added GSL.h helper for correct including
2016-04-20 02:32:27 +03:00
Danila Malyutin
85d0fff233 rXml: fix broken things (#1669)
Not sure if it works completely now but at least it doesn't crash in
Metal Slug 3 now.
2016-04-17 00:21:22 +03:00
Nekotekina
250ce63527 Partial commit: Utilities 2016-04-15 19:22:20 +03:00
Danila Malyutin
6b5ee57718 rXml: use pugixml in header-only mode (#1665)
Fixes compilation in VS
2016-04-08 21:17:24 +03:00
mpm11011
b57daef75a Pugixml to replace wx/xml in rXML
Pugixml to replace wx/xml in rXML

Change reinterpret cast to static cast.

Pass name in pred by reference
2016-04-06 17:35:06 -04:00
Nekotekina
8cd0aab129 Added yaml-cpp and pugixml submodules 2016-03-29 12:23:15 +03:00
Nekotekina
702193a6c7 Build fixed 2016-03-13 19:39:54 +02:00
Danila Malyutin
9b505984f2 Fix for #1546 2016-03-07 04:09:42 +03:00
Vincent Lejeune
c3fb1419fd build: Update wxWidget to 3.1 2016-03-06 21:15:51 +01:00
Raul Tambre
a6a4081894 Fix directory opening on Linux systems 2016-03-05 20:21:43 +02:00
Raul Tambre
5cbcd07ff1 Improve generalized exception messages
Added some basic information along with certain exceptions. This should
prevent some types of useless reports and assist users in determining
certain issues with their setup.
2016-02-25 07:58:22 +02:00
Nekotekina
128ee67bba PSF Loader simplified 2016-01-27 19:17:01 +03:00
DHrpcs3
685d5d3ea3 Access violation handled by rsx::thread
gfxHandler -> rsx::g_access_violation_handler
2016-01-20 15:46:58 +03:00
Nekotekina
960668ecf1 For #1355
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina
38531459df Logging system rewritten
GUI doesn't freeze anymore
Some things simplified
2016-01-13 18:54:57 +03:00
Nekotekina
b3e3c68f15 File utility improved
+ minor fixes
2016-01-13 14:12:04 +03:00
Chaoren Lin
7186b72a56 Fix configuration path creation.
* Simplify create_path
* More sane permissions
* Create entire path of configuration directory
2016-01-05 22:01:46 -05:00
Nekotekina
3ed603074c Changes done by [DH] rewritten
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Nekotekina
4b7f9c38a6 rMsgBox eliminated 2015-12-20 15:41:10 +03:00
Nekotekina
a666318b95 Error messages improved 2015-12-20 15:41:09 +03:00
Nekotekina
321e6d3a86 fs::get_config_dir, fs::get_executable_dir 2015-12-20 15:41:06 +03:00
Nekotekina
56ba5a765b Exception handling fix 2015-12-20 15:41:05 +03:00
Nekotekina
717d99795c Memory leak fixed 2015-12-08 20:02:32 +03:00
Nekotekina
8e4ad3dfcb Property sheets, configuration simplified
MemLeak build fixed
2015-12-08 20:02:30 +03:00
Nekotekina
24128ba450 Optimization 2015-12-04 23:37:42 +03:00
Nekotekina
82cb8fe5bd SharedMutex improved 2015-12-04 23:37:39 +03:00
Nekotekina
8a1ce6ba64 MINGW64 fix 2015-12-04 23:37:35 +03:00
Nekotekina
ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +03:00
Nekotekina
5f6caf33f0 MINGW64: Compilation fix 2015-11-16 19:12:51 +03:00
O1L
f34bd724e3 SimpleIni removed 2015-11-15 13:05:25 +04:00
O1L
fd13a495de Replace remained old ini-manager calls 2015-11-14 23:59:46 +04:00
Nekotekina
a4db58f5f2 Added fs::file_ptr, fom::rewrite, cleanup 2015-11-14 20:26:40 +03:00
Raul Tambre
5d5a4f804b Replace most returns with CHECK_ASSERTION
Also fix some Seek methods return types being unsigned, while returning
negative errors.

Added the CHECK_ASSERTION macro checks in a couple more places.

Simplified CHECK_ASSERTION macro usage.
2015-11-09 07:42:04 +02:00
Raul Tambre
9c2f48cd1d More defect fixes, added some error codes 2015-11-09 07:39:50 +02:00
Raul Tambre
fac9d74344 Lots of defect fixes 2015-11-09 07:39:50 +02:00
Vincent Lejeune
9f51bce2aa StrFmt: Fix unknow pragma on MSVC 2015-10-29 18:48:49 +01:00
Vincent Lejeune
8afa6e59b2 RSX: Returns texture bias as a float, considering the stored value is a half float. 2015-10-27 01:24:04 +01:00
O1L
c0255208cc Old ini-manager only partially used in VFS. Global configuration used as defualt. 2015-10-27 01:09:31 +04:00
O1L
89f14ec5ac Ported more options in new ini-manager. Use later. 2015-10-25 18:44:49 +04:00
O1L
bc8b71cbc1 Compilation fix 2015-10-24 15:46:31 +04:00
O1L
9d6df238d5 Use custom configurations 2015-10-24 14:38:24 +04:00
Nekotekina
77bf86eaa5 Bugfix 2015-10-16 03:25:39 +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
DH
a443682aaf OpenGL renderer fixes
Fixed attributes loading
Fixed scale-offset matrix
Fixed attribute debug option
2015-10-14 14:34:55 +03:00
Danila Malyutin
74daf9145a Add missing override 2015-10-13 23:42:43 +03:00
DH
9136cbfcf2 Fixed compilation errors 2015-10-13 22:47:17 +03:00
DH
e4f6eb04e8 Added new config system
Added emulator state class
Added emulator events
Minor improvements
2015-10-13 20:32:08 +03:00
DH
6cb036d35f Fix for gcc/clang build 2015-10-08 00:05:04 +03:00
DH
1e7ded2163 rsx::thread moved from rsx2 branch
TODO: cellResc module & RsxDebugger disabled, DX12 renderer not compilable
2015-10-05 12:56:05 +03:00
Nekotekina
cd71125277 Git version fixed 2015-10-04 23:05:46 +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
12f36cf31f Experimental class template Module<T>
Allocates ps3 memory for specific instance T
2015-09-22 13:28:31 +03:00
Nekotekina
cbe83ad8dd Various fixes 2015-09-08 13:47:00 +03:00
Nekotekina
d1f31d6fda fmt::format fixed 2015-08-27 02:57:00 +03:00
Vincent Lejeune
942f26509b Memory: Factorize virtual memory reservation/allocation code in function 2015-08-26 21:54:40 +02:00
Nekotekina
e551e2bc5d Bugfix 2015-08-24 21:22:49 +03:00
Nekotekina
5e14310071 noexcept usage fixed
thread_t renamed to named_thread_t
2015-08-24 21:22:48 +03:00
Nekotekina
9c8773252a Minor style changes (sys_net) 2015-08-24 21:22:43 +03:00
Nekotekina
ce494f8847 fmt::by_value, fmt::Format removed 2015-08-24 21:22:42 +03:00
Nekotekina
73b108765e fs:: const renaming, fs::g_tls_error stub 2015-08-24 21:22:39 +03:00
Nekotekina
d9403c2ed2 thread_t cleanup 2015-08-24 21:22:37 +03:00
Nekotekina
c6bdedf3b0 sleep_queue_t moved to SleepQueue.cpp, cleanup
Used ARMv7Thread instead of ARMv7Context in PSV HLE functions and
callbacks. However, interpreter still uses ARMv7Context.
Various PSV functions partially implemented:
sceKernelCreateEventFlag
sceKernelDeleteEventFlag
sceKernelOpenEventFlag
sceKernelCloseEventFlag
sceKernelWaitEventFlag
sceKernelWaitEventFlagCB
sceKernelPollEventFlag
sceKernelSetEventFlag
sceKernelClearEventFlag
sceKernelCancelEventFlag
sceKernelGetEventFlagInfo
sceKernelCreateSema
sceKernelDeleteSema
sceKernelCreateMutex
sceKernelDeleteMutex
sceKernelCreateCond
sceKernelDeleteCond
2015-08-24 21:22:30 +03:00
Nekotekina
07b9379a7c New u128 type stub 2015-08-24 21:22:27 +03:00
Nekotekina
8d758b9088 alignas() used instead of set_alignment macro 2015-08-24 21:22:25 +03:00
Nekotekina
6f3c50eba2 u128 renamed to v128
Since it's vector union type
2015-08-24 21:22:23 +03:00
Danila Malyutin
d0283265cc Improve clock_gettime on osx
and some clean up
2015-08-24 00:20:02 +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
badeb29901 Minor fixes 2015-08-01 14:39:10 +03:00
Nekotekina
16b7d204d2 decode_x64_reg_op: MOVUPS support 2015-08-01 14:38:59 +03:00
Nekotekina
8e1991c1e1 semaphore_t, RSX fixes
1) GS_LOCK_WAIT_FLUSH semaphore eliminated
2) GS_LOCK_WAIT_FLIP semaphore left unused
3) cellRescSetWaitFlip/cellGcmSetWaitFlip purged: they don't wait for
flip, it's a nonsense, they only generate some RSX command
4) Semaphores rewritten
2015-08-01 14:38:57 +03:00
Nekotekina
ffc11bfda3 b8 type 2015-08-01 14:38:45 +03:00
Danila Malyutin
caa6db8617 Replace clang diagnostics with gcc
Clang understands both types of pragmas. Unfortunately it seems that due to bug in gcc (id=53431) this doesn't help
2015-07-27 03:33:59 +03:00
Danila Malyutin
5ae6586803 Add missing override specifiers 2015-07-26 18:37:14 +03:00
Raul Tambre
14897b23b7 Minor formatting 2015-07-26 16:44:55 +03:00
Peter Tissen
4624377942 use official wxWidgets repo 2015-07-23 12:17:58 +02:00
Nekotekina
2f7fe35f5c Minor style change 2015-07-21 23:14:31 +03:00
Nekotekina
8175630619 sys_cond/sys_mutex improved 2015-07-21 23:14:29 +03:00
Nekotekina
a7668ff57f SPU_EVENT_LR improved 2015-07-21 23:14:22 +03:00
Nekotekina
1e021cdbba waiter_map reintroduced, combined with vm 2015-07-21 23:14:20 +03:00
Nekotekina
4bacfcf847 sys_lv2dbg added, bugfix 2015-07-10 04:31:41 +03:00
Nekotekina
82781e620a Small fixes 2015-07-10 04:31:36 +03:00
Nekotekina
c0f13f7084 sleep_queue_t rewritten, used in sys_cond/sys_mutex
Some synchronization fixes
2015-07-10 04:31:34 +03:00
Nekotekina
eafddd9e33 CPUThread fixes, thread_t cleanup 2015-07-10 04:31:32 +03:00
Nekotekina
83321c5be7 sys_time_get_current_time fixed, CALL_FUNC draft 2015-07-10 04:31:30 +03:00
Nekotekina
22e1da5e76 Minor cleanup 2015-07-10 04:31:29 +03:00
Nekotekina
3064cf8101 CHECK_EMU_STATUS, autojoin_thread_t 2015-07-10 04:31:27 +03:00
Nekotekina
8f9e1100c8 SPU fixes, various fixes 2015-07-10 04:31:25 +03:00
Nekotekina
8c00dcd02d Bugfix 2015-07-10 04:31:21 +03:00
Nekotekina
32d3d1fbe5 EXCEPTION() macro usage, sceNpTrophy improved 2015-07-10 04:31:20 +03:00
Nekotekina
6f1e76198a Some fixes 2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1 ThreadBase rewritten (wip) 2015-07-10 04:31:16 +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
6c4148a949 Bugfix 2015-07-10 04:30:47 +03:00
Nekotekina
bc9481db1b PSV modules refactoring 2015-07-10 04:30:45 +03:00
Nekotekina
edb9595721 Using vm::ps3 namespace moved in proper places
Various fixes
2015-07-10 04:30:41 +03:00
Nekotekina
63c5b2ab32 sys_fs_open() O_APPEND support
Added vm::static_ptr_cast, vm::const_ptr_cast, vm::reinterpret_ptr_cast
Added pointer comparison with vm::null
2015-07-10 04:30:37 +03:00
vlj
4a7f6af8d9 Memory: Add a callback allowing customisation of handle_access_violation. 2015-07-02 19:05:27 +02: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
0724a9efa2 printf_alike removed 2015-05-28 18:28:34 +03:00
Nekotekina
74e13a4ef6 Compilation fix 2015-05-28 18:23:11 +03:00
Nekotekina
18fa6ca961 Forgotten one 2015-05-28 18:16:03 +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
Nekotekina
fba8e84370 Compilation fix 2015-05-27 14:05:04 +03:00