Commit graph

368 commits

Author SHA1 Message Date
Nekotekina
df2fc13b7a Add PPU instruction stat dumper
Needs PPU Debug option to activate and PPU Interpreter
Dumps after Resume (after Pause)
Fix utils::memory_decommit, clean vm.cpp
2017-10-11 20:06:33 +03:00
Nekotekina
22d8b57027 Improve lv2_memory object 2017-09-14 00:23:23 +03:00
Nekotekina
aa5dc5455e _sys_spu_image_import implemented
vm:var<T[]> improved (begin/end)
sys_spu_image_import rewritten
2017-08-27 03:00:10 +03:00
kd-11
1da732bbf5 rsx/gl/vk: Invalidate texture regions when memory is unmapped
- Free GPU resources immediately if mappings change to avoid leaking VRAM
2017-08-16 23:58:30 +03:00
Nekotekina
af11ad6253 Fix deadlock in vm::unmap 2017-08-13 21:39:08 +03:00
Nekotekina
7b4c044480 Relax allocations in ppu_load_exec 2017-08-04 14:33:53 +03:00
Jake
d9a693019b rsx/gcm: Implement rsx dma. Refactor gcm/rsx to not be as codependent 2017-08-02 01:33:12 +03:00
LambdaMan
1bef748dc4 Allow overlapping ranges in cellGcmMapEaIoAdress with coherency check (#3070)
According to Jarves, lle-gcm branch already does the same thing so we know the behaviour should be correct
2017-07-25 02:27:23 +03:00
Nekotekina
b24eb621ae Use RTM instructions (skylake+) 2017-07-20 17:22:09 +03:00
Nekotekina
0ee454f44b vm: decommit by exec_addr 2017-07-12 14:00:38 +03:00
Nekotekina
aea094730b PPU LLVM: paradigm shift
For now, compile only one block at time
Use tail calls to move between blocks
Fully write PPU context (except CIA)

This fixes many compatibility problems
2017-06-23 20:09:33 +03:00
Nekotekina
9b43203111 offset32(): pointer-to-member arithmetic 2017-04-20 00:17:16 +03:00
Inviuz
22e679e23e cellSave fix plus bugfixes (#2631)
* cellSave fix plus bugfixes

allows allocation of last byte in memory block
prevents rpcs3 from crashing when closing non existent socket

* Fix overflow

* add more socket options
fix typo

prevent sys_net from operating on nullptr sockets
2017-04-05 16:08:58 +03:00
Nekotekina
37a97a71e3 vm::g_exec_addr added
s_ppu_compiled renamed
Exception handling enabled
2017-03-27 01:15:41 +03:00
Nekotekina
1ede0f4706 Minor optimization 2017-03-13 15:02:18 +03:00
Nekotekina
78703cfe47 Use utils::memory_protect 2017-03-13 13:16:22 +03:00
Nekotekina
d09dd29054 utils::memory_protect 2017-03-13 13:16:22 +03:00
Inviuz
b70a1edbc7 Mmapper with Neko's review fixes (#2503) 2017-03-12 03:15:22 +03:00
Nekotekina
4739eb3601 Reservation fix 2017-03-11 15:48:43 +03:00
Nekotekina
5e3bacbd9b New reservations
Memory system cleanup
sys_memory_get_page_attribute
2017-03-10 15:51:40 +03:00
Nekotekina
a5a2d43d7c Thread.cpp refinement
Hide thread mutex
Safe notify() method
Other refactoring
2017-01-29 19:52:19 +03:00
Nekotekina
1c14d872a8 New shared_mutex
Experimental sync utils
New semaphore<>
New cond_variable
New owned_mutex
2017-01-25 00:38:07 +03:00
Nekotekina
dbcb5df172 WRAP_EXPR macro removed 2016-08-15 17:11:45 +03:00
Nekotekina
84d0d396ed EXPECTS usage removed 2016-08-15 16:29:38 +03:00
Nekotekina
0f87c4485d Silly macro removed-2 2016-08-14 18:19:42 +03:00
Nekotekina
7a2802a5e0 Silly macro removed 2016-08-12 19:31:28 +03:00
Nekotekina
fc56e70172 vm::ptr<char> formatting 2016-08-11 16:47:20 +03:00
Nekotekina
bdeccd889f cpu_type removed, system_type added
cpu_state -> cpu_flag
vm::stack_allocator template improved
ppu_cmd type changed to enum, cmd64 type added
2016-08-09 17:14:41 +03:00
Nekotekina
a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19: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
Vincent Lejeune
b9f4c15ec0 vm: Add missing headers.
vm.h relies on memory (std::shared_ptr) and functionnal (std::function).
2016-07-30 18:39:26 +02: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
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
DH
67a341fded Fixed _var_base move ctor 2016-06-27 03:22:22 +03:00
Nekotekina
a8bebcba55 LLVM AOT 2016-06-19 21:29:48 +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
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
0c7f763889 Partial commit: Memory 2016-04-15 19:22:43 +03:00
Nekotekina
2f5be3559e Hotfix 2016-01-14 20:13:41 +03:00
Nekotekina
960668ecf1 For #1355
offsetof() eliminated
OFFSET_32, SIZE_32, ALIGN_32 used
2016-01-14 19:07:27 +03:00
Nekotekina
b3e3c68f15 File utility improved
+ minor fixes
2016-01-13 14:12:04 +03: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
a666318b95 Error messages improved 2015-12-20 15:41:09 +03:00
Nekotekina
8e4ad3dfcb Property sheets, configuration simplified
MemLeak build fixed
2015-12-08 20:02:30 +03:00
Nekotekina
ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +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
fac9d74344 Lots of defect fixes 2015-11-09 07:39:50 +02:00