Lioncash
a69755d9ee
x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
...
This also silences quite a few ubsan asserts from firing when the emitter is being used.
2015-08-21 18:09:48 -04:00
Lioncash
caec42135d
MathUtil: Remove IsNAN and IsINF
...
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
Lioncash
a59f00a5e4
x64Emitter: Remove unused code
2015-08-20 23:05:20 -04:00
Lioncash
b903921b14
x64Emitter: Make WriteModRM and WriteSIB private
...
These shouldn't be public.
2015-08-20 19:29:40 -04:00
Lioncash
822cf2bcbf
IniFile: Mark getter functions as const
2015-08-19 22:27:18 -04:00
flacs
b0c9d73465
Merge pull request #2842 from Tilka/bmi2_flags
...
x64Emitter: don't check flags for most BMI2 ops
2015-08-19 21:38:09 +02:00
degasus
9bfff0d461
JitArm64: Fix jit clearing
...
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02:00
Tillmann Karras
022286fb90
x64Emitter: don't check flags for most BMI2 ops
...
With the exception of BZHI, BMI2 instructions don't affect flags, so
don't check if they're locked.
2015-08-14 23:39:17 +02:00
Tillmann Karras
5e9fe4cd13
x64Emitter: check for immediates in BMI ops
2015-08-14 21:25:41 +02:00
degasus
878f919f63
JitArm64: Fastmem: fixup map & lookup
2015-08-14 11:24:03 -05:00
Ryan Houdek
d5c99a5b48
Add support for a CodeBlock holding a child.
...
This is required to make sure two code spaces are relatively close to one another.
In this case I need the AArch64 JIT codespace and its farcode space to be within 128MB of one another for branches.
2015-08-12 12:57:06 -05:00
Lioncash
144ea9f4aa
Arm64Emitter: Fix encoding of '2-reg misc' variant of FCMEQ
2015-08-10 19:48:36 -04:00
Ryan Houdek
922d476dab
[AArch64] Fix FCMGE instruction encoding.
...
Fixes a crash when ps_sel is used (PSO 1&2 intro movies).
2015-08-09 14:54:55 -05:00
Tillmann Karras
439fb26b9b
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-06 10:39:43 +02:00
flacs
0aad44c980
Merge pull request #2753 from Tilka/fix_warnings
...
Fix some warnings
2015-08-04 18:54:31 +02:00
Tillmann Karras
5a05187b3b
Fix some warnings
...
reorder, sign-compare, pessimizing-move
2015-08-04 10:58:24 +02:00
Lioncash
3a450f72f8
CPUDetect: Remove a memset call on the this pointer
2015-07-28 23:44:18 -04:00
skidau
ad68de59bc
Merge pull request #2665 from AdmiralCurtiss/relative-memory-card-paths
...
GameCube Config: Store paths relatively when selected file is within Dolphin's directory. (Windows)
2015-07-20 14:09:36 +10:00
degasus
6f38d1baa1
CodeBlock: Add a shared IsAlmostFull function
...
This function shall keep care about the low watermark of code space.
If we ran out of space, the JITs shall clear their block cache.
2015-07-15 08:53:05 +02:00
degasus
b8dd68beef
JitArm64: Far Code Cache
2015-07-12 09:41:32 +02:00
Rohit Nirmal
c38ae5236e
Fix building with PCH disabled.
2015-07-08 13:52:43 -05:00
Jeffrey Pfau
c9a25f9484
Common: CallLambdaTrampoline can return a value
...
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.
2015-07-04 00:57:41 -07:00
Lioncash
d09d59007a
Arm64Emitter: Add a missing const specifier for an array table
2015-07-02 11:09:44 -04:00
Ryan Houdek
b174f99b17
Merge pull request #2662 from Tilka/interpreter
...
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
Ryan Houdek
afc3d30f5c
[AArch64] Implement BFI & UBFIZ in the emitter.
...
Also fixes a bug in the UBFX instruction emitter. Naughty Naughty PPSSPP, not testing emitter functions you add.
2015-06-29 19:00:22 -05:00
Lioncash
daa205990f
Use emplace() instead of insert() where applicable for maps.
2015-06-28 19:52:40 -04:00
Admiral H. Curtiss
df70f50fdf
GetExeDirectory() shouldn't return paths with /../ in the middle.
2015-06-26 23:51:40 +02:00
Tillmann Karras
b78310bbe5
Interpreter: simplify fres
2015-06-26 09:29:18 +02:00
Jules Blok
da7ec75350
Merge pull request #2643 from comex/fix-do-file-search
...
Fix DoFileSearch returning the passed-in directories themselves.
2015-06-25 15:20:16 +02:00
Tillmann Karras
a725c06425
Logging: trigger _assert_() in release builds
2015-06-24 15:16:55 +02:00
Tillmann Karras
5b23182793
Common: drop GEKKO define
...
Afaict, it was used to build parts of Dolphin with DSPSpy, but that's
been broken forever, so lets clean up a little bit.
2015-06-24 12:13:41 +02:00
Tillmann Karras
de3c01dc2a
x64FPURoundMode: fix comments
2015-06-23 02:17:36 +02:00
comex
acd6cb79a4
Fix DoFileSearch returning the passed-in directories themselves.
...
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-21 16:07:56 -04:00
Lioncash
fa7d93690e
Hash: Remove the HashFNV prototype
...
It has no function definition.
2015-06-20 21:23:25 -04:00
Ryan Houdek
87b45de634
Merge pull request #2606 from Sonicadvance1/aarch64_optimize_psq_st
...
[AArch64] Optimize paired quantized stores.
2015-06-14 19:03:50 -05:00
Matthew Parlane
6d9711c02c
Merge pull request #2599 from Sonicadvance1/aarch64_clean_cpudetect
...
[AArch64] Clean up our CPUDetect.
2015-06-14 15:19:03 +10:00
Jeffrey Pfau
b6d1512587
Common: Use more portable invocation of shm_open
2015-06-13 21:52:47 -07:00
Jeffrey Pfau
7085fcc8d6
Fix FreeBSD build
2015-06-13 21:52:47 -07:00
Ryan Houdek
5dc148159f
[AArch64] Implement {U, S}QXTN{,2}
...
Also split out XTN to XTN and XTN2.
2015-06-13 23:16:17 -05:00
Matthew Parlane
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
Lioncash
74b359e390
Arm64Emitter: Remove unused variable from EncodeLoadStoreRegisterOffset
2015-06-13 14:27:15 -04:00
Ryan Houdek
0af5bdcf1d
[AArch64] Clean up our CPUDetect.
...
Drops ARMv7 feature detection.
2015-06-13 08:04:23 -05:00
Ryan Houdek
3d2b116323
[AArch64] Implement a couple instructions in the emitter.
...
Implements LD2R.
Implements LD1R/LD2R with post-indexing support.
Implements vector min/max instructions.
2015-06-09 18:10:56 -05:00
Tony Wasserka
6833c203a6
Make make_scmrev.h.js recognize "stable" as a stable branch.
2015-06-09 20:03:25 +02:00
Jules Blok
d5788f75a3
Merge pull request #2533 from degasus/syncgpu
...
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
Fog
519d2549dd
Fix File Extension Search Being Case Sensitive
2015-06-08 21:39:00 -04:00
Ryan Houdek
ffe085f5ea
[AArch64] Implement CRC32 texture hashing.
...
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.
2015-06-08 19:16:50 -05:00
degasus
d31bed8b79
Fifo: Rewrite SyncGpu
...
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
2015-06-08 23:16:24 +02:00
Ryan Houdek
3a3b782f3c
[AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect.
2015-06-08 01:20:24 -05:00
Ryan Houdek
59e2225f7d
Remove ARMv7 support.
2015-06-07 22:44:13 -05:00