| Age | Commit message (Collapse) | Author |
|
VertexLoaderX64: fix 2GB warnings
|
|
Fix VolumeDirectory
|
|
|
|
|
|
This reverts commit 0f7f8f87747ae825c3b5adeae35cbb66114d2ba1, reversing
changes made to 9f1505435877cf8f5abe7b66fb2717c7e39c1988.
|
|
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
|
|
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
|
|
|
|
Fifo: Rewrite SyncGPU
|
|
|
|
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.
This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
|
|
The new implementation has 3 options:
SyncGpuMaxDistance
SyncGpuMinDistance
SyncGpuOverclock
The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.
The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
|
|
|
|
|
|
[AArch64] Optimize gatherpipe stores
|
|
[AArch64] Upstream PPSSPP's emitter changes.
|
|
Skip reading UTF-8 BOM at the beginning of INI files
|
|
|
|
|
|
Requires a minor change to in the JIT to make sure everything still works.
|
|
zfreeze: cache vertex positions
|
|
Common: Add null checks when adding and removing breakpoints
|
|
Suggested by degasus.
|
|
|
|
Jit64: add FMA4 support to fmaddXX
|
|
Common: Fix a typo in the VS project file.
|
|
|
|
Using SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS which installs a signal
handler for SIGINT and SIGTERM. There will be a way to prevent this in
2.0.4 but for now we'll need to handle SDL_QUIT.
|
|
|
|
|
|
|
|
|
|
and clean up a bit.
|
|
|
|
Common: Blocking Loop (extracted from Fifo.cpp)
|
|
Actually caused by IniFiles::GetLines leaving the output vector in its
old state if the section wasn't found, and Gecko::LoadCodes not checking
the return value. Fix by moving lines->clear() up.
|
|
Rudimentary version of Wii IPC determinism. Ported from my old udpnet branch.
|
|
|
|
Honor logging settings at startup
|
|
Jit64: drop more x86_32 left-overs
|
|
Keep the more explicit version of the two SSECompare enums.
And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
|
|
|
|
This merges two atomic<bool> into one atomic<int>.
We did move the bit from one bool to another, now we can use operator--.
|
|
It's now a new helper function within common.
|
|
Considering OpArg is a struct, passing by value creates unnecessary copies.
|
|
The emitter is already within the Gen namespace, so this isn't necessary.
|
|
Matches the coding style.
|
|
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.
Kind of a hack. Like I said, this can be cleaned up when configuration
is synced...
|
|
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.
In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site. Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
|
|
|