Tillmann Karras
1dcf49237b
VertexLoaderX64: support VAT.ByteDequant=0
2015-01-20 09:23:15 +01:00
Tillmann Karras
46ab5d63d6
VertexLoader: never reset alpha in 8888 colors
...
Fixes the opening menu of Xenoblade Chronicles.
2015-01-20 09:22:55 +01:00
Tillmann Karras
80617ec6bd
VertexLoader: remove weird line
2015-01-20 01:53:52 +01:00
Tillmann Karras
873902b4a3
VertexLoader: remove non-JIT SSE code
2015-01-20 01:51:07 +01:00
Tillmann Karras
804341d4fe
VertexLoader: fix position offset bug
2015-01-19 17:38:40 +01:00
Tillmann Karras
4b323096ec
VertexLoader_Position: remove old JIT ideas
2015-01-19 17:36:24 +01:00
Tillmann Karras
d3f49097c5
VertexLoaderX64: register symbol for code page
2015-01-18 23:20:44 +01:00
Tillmann Karras
bc5cf10ad5
VertexLoaderX64: optimize color conversions
2015-01-18 17:47:18 +01:00
Tillmann Karras
7d0cff05e9
VertexLoaderX64: make table lookup deterministic
2015-01-18 16:22:21 +01:00
Tillmann Karras
1855d56f1a
VertexLoaderX64: fix a bunch of stuff
...
Suggestions by @degasus and @FioraAeterna.
2015-01-18 13:31:28 +01:00
Tillmann Karras
dc01e261d1
VertexLoaderX64: fix duplicate register allocation
...
Thanks to @shuffle2 for noticing this.
2015-01-18 13:30:21 +01:00
Tillmann Karras
f5545477e3
VertexLoaderX64: suggestions by @magumagu
...
- avoid register merges
- avoid redundant MOV
2015-01-18 13:30:19 +01:00
Tillmann Karras
b27ba3802e
VertexLoaderX64: implement pre-Haswell fallbacks
2015-01-18 13:29:34 +01:00
Tillmann Karras
e80b657cf4
Move MOVBE wrappers directly into XEmitter class
2015-01-18 13:29:34 +01:00
Tillmann Karras
e82e9f97f5
VertexLoader: add new JIT
2015-01-18 13:29:34 +01:00
Tillmann Karras
eb13aa43fe
XEmitter: overload MOVBE()
2015-01-18 12:59:33 +01:00
Tillmann Karras
20ded4c1e5
VertexLoader: remove old JIT
2015-01-18 12:59:33 +01:00
Tillmann Karras
bec30068a6
VertexLoader_TextCoord: reorder function list
2015-01-18 12:59:33 +01:00
Tillmann Karras
d86957944a
VertexLoader_Color: clean up
2015-01-18 12:59:33 +01:00
Tillmann Karras
6a26771cd5
VertexLoader_Normal: use shorter notation
2015-01-18 12:59:33 +01:00
Tillmann Karras
20bc18cd5d
VertexLoaderManager: make it nicer to read
2015-01-18 12:59:33 +01:00
Tillmann Karras
b0df4b08ec
VertexLoaderTester: fix a few problems
2015-01-18 12:59:33 +01:00
Tillmann Karras
2cedc0034d
DataReader: turn WritePointer into GetPointer
2015-01-18 12:59:33 +01:00
Tillmann Karras
68d204e877
D3D: remove unused variable
2015-01-18 12:59:33 +01:00
Tillmann Karras
904a1c5558
Jit64: fix psq_l/st regression
2015-01-14 23:36:24 +01:00
Tillmann Karras
52b1a54597
MemoryUtil: mention Valgrind in mmap error message
2015-01-12 02:22:05 +01:00
Tillmann Karras
f98359ef5c
MemoryUtil: add comment for Valgrind
...
Valgrind doesn't support the mmap() flag MAP_32BIT. Adding a simple
CMake option would force a recompile, so just add this comment.
2015-01-12 02:22:05 +01:00
Tillmann Karras
4d1face540
Fix indentation
2015-01-07 21:51:47 +01:00
Tillmann Karras
1efa9b8b72
x64Emitter: add MOVLPS/MOVHPS
2015-01-07 11:23:52 +01:00
Tillmann Karras
3daa6ab259
x64Emitter: fix MOVLPD/MOVHPD
...
These instructions were using the wrong prefix which turned
MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them
invalid.
2015-01-07 11:23:52 +01:00
Tillmann Karras
fffd890be3
SI_GCAdapter: properly clean up libusb
2015-01-05 01:31:54 +01:00
Tillmann Karras
8229746695
buildbot-try: allow remotes other than "origin"
2015-01-03 17:07:02 +01:00
Tillmann Karras
6bcdb10eee
CMake: simplify some expressions
2015-01-03 13:17:57 +01:00
Tillmann Karras
a00ae4ad79
DSPHLE: fix an unimportant memory leak
2014-12-29 18:39:24 +01:00
Tillmann Karras
30d03be508
Tools: buildbot try with binary diffs
2014-12-27 12:19:09 +01:00
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