Tillmann Karras
4a86e4c671
Add a .mailmap file
2014-12-23 09:34:56 +01:00
Tillmann Karras
6e928d08a0
Jit64: clean up casts in memory operands
2014-12-07 20:23:27 +01:00
Tillmann Karras
791d5458e5
UnitTests: add tests for bitwise AVX instructions
2014-12-06 22:28:03 +01:00
Tillmann Karras
ddebdb61c4
UnitTests: fix register symbol name in AVX tests
2014-12-06 22:28:03 +01:00
Tillmann Karras
986d19b9d5
x64Emitter: fix bitwise AVX opcodes
...
The reason this didn't break is that bitwise instructions like VPAND,
VANDPS, and VANDPD do the exact same thing. The only difference is the
data type they are intended for.
2014-12-06 22:28:03 +01:00
Tillmann Karras
8d9a30b370
WiimoteReal: use inheritance instead of #ifdef
2014-12-05 00:16:41 +01:00
Tillmann Karras
94197b604e
WiimoteReal: inline unnecessary function
2014-12-04 17:09:12 +01:00
Tillmann Karras
d087cb95cd
WiimoteReal: shuffle code around
2014-12-04 17:09:12 +01:00
Tillmann Karras
a1e974fedf
WiimoteReal: add m_ prefix to member variables
2014-12-04 17:09:12 +01:00
Tillmann Karras
c34d99e40e
Work around LLVM header peculiarity
...
Bug report: http://llvm.org/bugs/show_bug.cgi?id=21472
2014-11-04 02:29:33 +01:00
Tillmann Karras
ff41dd479b
Fix warnings about non-static variables
2014-11-02 04:51:44 +01:00
Tillmann Karras
a248db0b65
Reorder MainNoGUI shutdown
...
Before this change I always got this when closing dolphin-emu-nogui:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 10 (X_UnmapWindow)
Resource id in failed request: 0x3400003
Serial number of failed request: 215
Current serial number in output stream: 219
terminate called without an active exception
Aborted
2014-11-02 03:31:47 +01:00
Tillmann Karras
f4fed0dea0
JitAsm: remove unused code pointers
2014-11-02 02:00:47 +01:00
Tillmann Karras
033f2a7e93
x64ABI: get rid of some duplicate code
2014-11-02 02:00:47 +01:00
Tillmann Karras
e35db54454
Fix and simplify GCPad::SetMotor()
...
abs() takes an int argument. Casting -0.5..0.5 to int always resulted in
zero.
2014-09-18 21:34:07 +02:00
Tillmann Karras
07c7e6f35e
CommandProcessor: mark some functions as static
2014-08-25 21:09:42 +02:00
Tillmann Karras
80be585fef
x64Emitter: remove redundant "Gen::"
2014-08-20 02:56:07 +02:00
Tillmann Karras
a363f4fa3e
x64Emitter: make 'packed' parameter a bool
2014-08-20 02:54:30 +02:00
Tillmann Karras
8058baa3da
Jit64: re-enable ps_sum0
...
The issue seems to have been fixed in the mean time.
https://code.google.com/p/dolphin-emu/issues/detail?id=3471
2014-08-07 04:50:42 +02:00
Tillmann Karras
f927af20f2
Fix more warnings from #579
2014-08-07 03:24:42 +02:00
Tillmann Karras
771a30da36
Jit64: implement frsp
2014-07-17 23:22:41 +02:00
Tillmann Karras
6521929f99
Jit64: implement fctiw/fctiwz
2014-07-15 23:58:09 +02:00
Tillmann Karras
6df48ed432
x64Emitter: add CVTTPD2DQ
2014-07-15 23:53:56 +02:00
Tillmann Karras
4063694d20
VideoCommon: fix ifdef expression
2014-07-15 04:15:49 +02:00
Tillmann Karras
dbc30c6c76
VideoCommon: make version check easier to read
2014-07-14 03:05:56 +02:00
Tillmann Karras
0be03252cc
VideoCommon: fix clang version check
...
That was... er... a typo!
2014-07-14 02:59:31 +02:00
Tillmann Karras
b6f3ae23bc
VideoCommon: version-check clang for workaround
...
The bug was fixed in clang 3.4.
2014-07-14 02:12:48 +02:00
Tillmann Karras
d398e9ef61
Common: add macros for assisting branch prediction
2014-07-14 01:52:14 +02:00
Tillmann Karras
0ccee6c87b
Fix warnings unearthed by #579
2014-07-13 02:16:51 +02:00
Tillmann Karras
ad2aaedd8b
Don't install segfault handler in interpreter mode
2014-07-05 11:02:41 +02:00
Tillmann Karras
311e9e655a
CoreParameter: add enum CPUBackend
2014-07-05 11:02:41 +02:00
Tillmann Karras
20a16beabd
enum CPUState: rename CPU_* to STATE_*
2014-07-05 11:01:49 +02:00
Tillmann Karras
20dc0e7819
Remove unused variables
2014-07-04 03:56:58 +02:00
Tillmann Karras
d3fa8a6167
Reorder class initializer lists
2014-07-04 03:53:22 +02:00
Tillmann Karras
6b3e6e6ffb
AVIDump: rename frame variables
2014-06-27 19:48:36 +02:00
Tillmann Karras
02f470c7eb
CMake: update min. libav/ffmpeg library versions
2014-06-27 19:48:36 +02:00
Tillmann Karras
7e01002372
CMake: mention ffmpeg in libav messages
...
We support both.
2014-06-27 19:48:36 +02:00
Tillmann Karras
95eade2a47
CMake: remove unused/duplicate definitions
2014-06-27 19:48:36 +02:00
Tillmann Karras
c2c46d7573
AVIDump: update ffmpeg/libav API usage
...
libav 10 was released on May 10th, 2014 and it drops support for some
long-deprecated stuff like avcodec_encode_video().
2014-06-27 19:48:36 +02:00
Tillmann Karras
e3fef8c990
AVIDump: cleanup
2014-06-27 19:48:35 +02:00
Tillmann Karras
feef0bbd2b
JITs: add a macro for easy interpreter fallback
2014-06-19 14:39:01 +02:00
Tillmann Karras
f351ec64db
Jit64[IL]: remove code leftover from x86-32
2014-06-19 14:32:53 +02:00
Tillmann Karras
e684e902ef
Jit64IL: remove unused macro
2014-06-19 14:32:53 +02:00
Tillmann Karras
32e427cd73
Jit64: remove dead code
2014-06-13 20:15:31 +02:00
Tillmann Karras
0eb341e542
Fix some warnings.
...
The 'offset' variable needs to stay because the disabled code below uses it.
2014-06-04 01:04:52 +02:00
Tillmann Karras
f8280401f6
x64Emitter: J_CC: use 32 bit offset automatically
2014-06-03 23:08:58 +02:00
Tillmann Karras
2cf27e4de8
Jit64: revert fmrx revert
...
The AVX revert was not supposed to touch fmrx.
Partially reverts 2fad2a3e88 .
2014-06-02 08:53:02 +02:00
Tillmann Karras
fd94ce5210
fixmeup use
2014-05-11 10:40:18 +02:00
Tillmann Karras
4400e511c0
fixmeup rename
2014-05-11 10:40:18 +02:00
Tillmann Karras
452cdefaa3
Use std::make_unique where it makes sense to
...
(and improve some other unique_ptr initializations).
Adapted from delroth's pull request.
2014-05-06 12:35:50 +02:00
Tillmann Karras
81d4d7368a
Add a std::make_unique implementation
...
Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.
Adapted from delroth's pull request.
2014-05-06 12:32:03 +02:00
Tillmann Karras
4cce79e744
Jit64: implement tw/twi more accurately
...
Fixes issue 7253.
2014-05-03 12:30:07 +02:00
Tillmann Karras
e22be59f82
Fix LTO with GCC 4.9
...
For LTO to work, GCC 4.9 requires using the wrappers gcc-ar and gcc-ranlibs:
http://gcc.gnu.org/gcc-4.9/changes.html
CMake doesn't account for this yet:
http://public.kitware.com/pipermail/cmake-developers/2014-January/009344.html
2014-05-03 11:54:31 +02:00
Tillmann Karras
9de77b7c23
x64FPURoundMode: always set x87 precision
...
Set the x87 precision, even on x64. Since we are using x87 instructions
in the JIT now, we can't guarantee that x87 precision will never
influence Dolphin on x64.
2014-05-01 01:10:00 +02:00
Tillmann Karras
ed762a3eda
x64FPURoundMode: use fesetround() instead of asm
2014-05-01 01:09:55 +02:00
Tillmann Karras
36dbde0f3c
Jit_Util: reduce NOP padding of 8 bit loads
...
and use MOVSX directly if needed.
2014-04-30 15:26:11 +02:00
Tillmann Karras
e659f5ac58
JitBackpatch: fix NOP padding
...
The new NOP emitter breaks when called with a negative count. As it
turns out, it did happen when deoptimizing 8 bit MOVs because they are
only 4 bytes long and need no BSWAP.
2014-04-30 15:26:11 +02:00
Tillmann Karras
886c887e80
Fix Fastmem on CPUs without MOVBE
...
The problem was that when BSWAP was used, UnsafeWriteRegToReg() returned
the address of that instead of the MOV.
2014-04-25 01:11:52 +02:00
Tillmann Karras
688644dd18
Jit64: use integer instructions for boolean logic
...
They are semantically equivalent and according to Agner Fog they can run
on more execution ports than their floating point counterparts (at least
on Intel CPUs).
2014-04-24 22:50:27 +02:00
Tillmann Karras
12054e9f16
Jit64IL: remove dummy implementations
2014-04-24 18:52:56 +02:00
Tillmann Karras
1f2e551c8c
BackPatch: make sure MOVBE is long enough
2014-04-24 16:36:03 +02:00
Tillmann Karras
acfd9ee76c
Add remaining possible uses of MOVBE
...
Also fixes a missing 'break' statement in DisassembleMov().
2014-04-24 16:36:03 +02:00
Tillmann Karras
957649b7af
Optimize NOPs
2014-04-23 21:15:09 +02:00
Tillmann Karras
c9405b2030
BitFieldTest: fix warnings
2014-04-19 18:31:35 +02:00
Tillmann Karras
d523d2002b
Fix "warning: unused variable 'skipFrames'"
2014-04-19 04:59:37 +02:00
Tillmann Karras
b3c7395a23
Atomic: support clang 3.4+
2014-04-17 10:39:02 +02:00
Tillmann Karras
296637d6f2
Fix crash when pressing Tab
...
When pressing Tab for a long time, Dolphin will sooner or later crash
because the result of FindFocus() has become NULL (toctou).
2014-04-14 10:27:41 +02:00
Tillmann Karras
e0baed850f
MathUtilTest: add test for FlushToZero
2014-03-24 16:14:22 +01:00
Tillmann Karras
af525266d4
MathUtil: add constructors to IntFloat/IntDouble
2014-03-24 16:14:22 +01:00
Tillmann Karras
46becfc06b
Tests: fix signed/unsigned comparison warning
2014-03-17 02:55:58 +01:00
Tillmann Karras
fa3cc05753
Turn some non-const refs into pointers
2014-03-17 02:55:57 +01:00
Tillmann Karras
7e39cf3b0d
.gitignore: fix the build directory pattern
2014-03-17 02:55:56 +01:00
Tillmann Karras
2fcaca0603
More range-based loops and overrides
2014-03-17 02:55:55 +01:00
Tillmann Karras
3fc9ca0789
UCodes: nits
2014-03-17 02:55:54 +01:00
Tillmann Karras
3c46c0ede9
Interpreter: make some class members private
2014-03-17 02:55:54 +01:00
Tillmann Karras
a9a15690a2
UCode_AX: don't always call NotifyAXThread()
...
StartWorking() already does this if needed
2014-03-16 22:05:59 +01:00
Tillmann Karras
d802d39281
clang-modernize -use-nullptr
...
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Tillmann Karras
f28116b7da
clang-modernize -add-override
2014-03-09 21:12:01 +01:00
Tillmann Karras
c89f04a7c5
clang-modernize -loop-convert
...
and some manual adjustments
2014-03-09 21:11:59 +01:00
Tillmann Karras
16885d0f74
Interpreter: less duplicate code in float compares
2014-03-09 19:35:13 +01:00
Tillmann Karras
9ef64245fa
MathUtil: fix IsQNAN()
...
The constants were one nibble too short and the lower 51 bits don't
actually have to be zero.
2014-03-09 19:34:58 +01:00
Tillmann Karras
d05e205a24
FPURoundMode: revert use of enums in bit-fields
...
The workaround of using fixed underlying types produces lots of warnings
in GCC because now the bit-fields are too small for the value range used
for conversion semantics.
2014-03-09 15:24:35 +01:00
Tillmann Karras
154ad838f4
.gitignore: multiple build dirs and kdevelop stuff
2014-03-09 15:24:34 +01:00
Tillmann Karras
161b67076a
Update android.toolchain.cmake
...
from https://raw.github.com/taka-no-me/android-cmake/master/android.toolchain.cmake
2014-03-09 15:24:33 +01:00
Tillmann Karras
aa7a2fc4bf
Jit64::twx(): add assert message
...
The implemented and the real control flow differ a bit.
2014-03-09 15:24:33 +01:00
Tillmann Karras
17adcbb14e
MMIOTest: fix sign warning
2014-03-09 15:24:32 +01:00
Tillmann Karras
d461b3f33c
SW renderer: add missing ClearCurrent()
...
courtesy of degasus
2014-03-06 01:53:29 +01:00
Tillmann Karras
891b334f52
Fix 32 bit non-Windows build
2014-03-03 10:46:08 +01:00
Tillmann Karras
7c93f2dc23
Fix the Windows build (broken in 315a8ba)
2014-03-01 01:33:19 +01:00
Tillmann Karras
892012dc02
Remove own round() implementation
...
1. It's not correct, it rounds x.5 down to x.
2. It is visible across the whole project (!).
3. VS2013 finally supports this:
http://msdn.microsoft.com/en-us/library/dn353646.aspx
http://msdn.microsoft.com/en-us/library/dn329049.aspx
2014-02-28 12:43:23 +01:00
Tillmann Karras
7a66a3ded1
ArmEmitter: make it more readable
2014-02-28 12:43:22 +01:00
Tillmann Karras
46e7c0657f
Crypto: small cleanup
2014-02-28 12:43:22 +01:00
Tillmann Karras
315a8ba1c0
Various changes suggested by cppcheck
...
- remove unused variables
- reduce the scope where it makes sense
- correct limits (did you know that strcat()'s last parameter does not
include the \0 that is always added?)
- set some free()'d pointers to NULL
2014-02-28 12:43:20 +01:00
Tillmann Karras
5f0a8008f4
Convert MemoryUtil.cpp to Unix-style line endings
2014-02-28 12:28:21 +01:00
Tillmann Karras
1a428de189
x64FPURoundMode: move things around a bit
2014-02-28 12:28:21 +01:00
Tillmann Karras
269e2aefa7
CMake: fix escaping in miniupnpc test
2014-02-28 12:28:20 +01:00
Tillmann Karras
6914eca167
Fix various warnings reported by clang
...
- mostly remove unused variables
- rename some generic JIT identifiers
2014-02-28 12:28:19 +01:00
Tillmann Karras
15576287f8
CMake: remove USE_SHARED_POLARSSL_LIBRARY
...
This could easily be mistaken for a Dolphin option.
2014-02-24 21:10:33 +01:00
Tillmann Karras
48dcd29f62
CMake: check PolarSSL version
2014-02-24 20:02:45 +01:00
Tillmann Karras
76b5a6b95e
PolarSSL/CMake: validate cached values
2014-02-24 19:07:24 +01:00