Basically it creates a /tmp/perf-`pid`.map file which will contains
a mapping of the x86 code with the EE/IOP/VU code
* You need to enable the profiler with a define
* You can split the profiling by block (inside a recomp buffer)
v2: add new file to VS xml files
v3: remove useless include
Give both EE and x86 code.
Don't rely on global variable. The dump still dump the content of the register.
Of course value will be wrong if you don't dump it at the start of the block.
It help to detect register/memory access
the cpu struct address is also printed to easily postprocess the x86 memory pointer
(see next commit)
It misses jump & FPU. Jump need to be handled manually.
Syntax isn't perfect yet because of various casts. But it will allow to have a
single emitter syntax and rely on type safety on the future.
Conflicts:
pcsx2/x86/iR3000Atables.cpp
pcsx2/x86/ix86-32/iR5900-32.cpp
Added the wiki link and better description.
Fix broken link of 'todo'.
Formatted 'Coding Style' to 'Code Formatting Guidelines' for consistency.
Added the Commenting Etiquette link as well.
Summary:
Worse:
- Degrading compat from 5 to 4 for SLUS-20573: Sims, The
Better:
- Improving compat from 3 to 5 for SLUS-21632: NHL 2K8
- Improving compat from 2 to 5 for SLUS-21425: NHL 2K7
- Improving compat from 4 to 5 for SLUS-20919: ESPN - NFL 2K5
- Improving compat from 2 to 5 for SLUS-21232: College Hoops 2K6
- Improving compat from 2 to 5 for SLUS-20225: Gadget Racers
- Improving compat from 2 to 5 for SLUS-21914: NHL 2K10
- Improving compat from 3 to 5 for SLUS-20235: Superman - Shadow of Apokolips
- Improving compat from 2 to 5 for SLUS-20842: Sims, The - Bustin' Out
- Improving compat from 4 to 5 for SLUS-21563: Horsez
- Improving compat from 4 to 5 for SLUS-20637: Chessmaster (Online)
- Improving compat from 3 to 5 for SLES-50874: F1 2002
- Improving compat from 2 to 5 for SLES-52298: IndyCar Series 2005
- Improving compat from 0 to 5 for SLUS-21680: Harvey Birdman - Attorney at Law
- Improving compat from 0 to 5 for SCES-51684: World Rally Championship 3
- Improving compat from 0 to 5 for SLUS-21235: MLB 2k6
- Improving compat from 0 to 5 for SLES-50252: Penny Racers
- Improving compat from 0 to 5 for SLES-54151: Let's Make a Soccer Team!
Mostly relevant if the GS window is set to not hide while paused, but also shows
when the emulation is paused due to plugin config etc.
The string <PAUSED> is configurable via the template at PCSX2_ui.ini (including
making it empty) but currently it always appear at the begining of the title.
It's now possible to press ESC once to pause, and ESC again to resume (or assign
any other key via PCSX2_keys.ini, e.g. to SPACE).
Note that resume only works if the GS window is NOT set to hide on pause (Emu
options -> GS Window), and if the key is pressed while the GS window is focused.
This includes two related changes:
- The command name at PCSX2_keys.ini is now changed to Sys_SuspendResume.
- If the GS window is NOT set to hide on pause, then it stays focused on pause.
--nogui also gains this behavior, so it's now possible to launch without a GUI
and still suspend/resume if the GS window is not set to hide on pause. If it is
set to hide on pause, then the behavior remains as it was: exit PCSX2 on pause,
or prompt to exit/resume if --noguiprompt is provided.
Only relevant if the GS window is set to NOT hide when paused. At this case
there were two issues on Windows:
- Commands were invoked twice.
- Non-special-keys (e.g. plain 'q') were not handled at all.
Not terribly important now, but it prepares for the next commit.
Also rename a function to have a more meaningful name.
Initially it was free to do the SW blending because safe fbmask
will already do a sw blending.
Unsafe version uses a fast path with a limited blending. Therefore
SW blending isn't free anymore.
Improve the speed of the previous speed hack (xenosaga 1)