Commit Graph

1345 Commits

Author SHA1 Message Date
d1de336879 [ARM] More NEON emitters. 2013-11-11 01:47:05 +00:00
3a28afd8d5 Changed thread barrier and event to use a lamba wait predicate instead of a functor. 2013-11-10 04:57:11 -05:00
e013a74cdb [ARM] More NEON emitters. 2013-11-10 05:02:32 +00:00
56685c396a [ARM] Fix an issue with the data offset in LoadStore operations. Thanks to PPSSPP. 2013-11-05 13:05:38 +00:00
e15f628935 Fix {Read,Write}FileToString.
We should be using binary always.
2013-11-05 00:33:41 +13:00
c579637eaf Run code through the advanced tool 'sed' to remove trailing whitespace. 2013-11-03 20:54:05 -05:00
965b32be9c Run code through clang-modernize -loop-convert to create range-based for loops, and manually fix some stuff up. 2013-11-03 20:54:01 -05:00
82729fcc8f Merge remote-tracking branch 'shuffle2/vc12'
Conflicts:
	Source/Core/Common/Common.vcxproj
	Source/Core/Common/Common.vcxproj.filters
2013-10-31 16:51:56 -04:00
4c7bbd96e4 Improve ChunkFile.h:
- Add support for std::set and std:pair.

- Switch from std::is_pod to std::is_trivially_copyable, to allow for
  types that have constructors but trivial copy constructors.  Easy,
  except there are three different nonstandard versions of it required
  on different platforms, in addition to the standard one.
2013-10-31 15:40:53 -04:00
8e73e8ae5f Wipe all traces of OpenSSL's AES implementation. Use polarssl instead. 2013-10-27 18:27:07 +00:00
ccd30024b3 Update to VS2013 and a slew of build-related updates. Notes:
* Currently there is no DEBUGFAST configuration. Defining DEBUGFAST as a preprocessor definition in Base.props (or a global header) enables it for now, pending a better method. This was done to make managing the build harder to screw up. However it may not even be an issue anymore with the new .props usage.
* D3DX11SaveTextureToFile usage is dropped and not replaced.
* If you have $(DXSDK_DIR) in your global property sheets (Microsoft.Cpp.$(PlatformName).user), you need to remove it. The build will error out with a message if it's configured incorrectly.
* If you are on Windows 8 or above, you no longer need the June 2010 DirectX SDK installed to build dolphin. If you are in this situation, it is still required if you want your built binaries to be able to use XAudio2 and XInput on previous Windows versions.
* GLew updated to 1.10.0
* compiler switches added: /volatile:iso, /d2Zi+
* LTCG available via msbuild property: DolphinRelease
* SDL updated to 2.0.0
* All Externals (excl. OpenAL and SDL) are built from source.
* Now uses STL version of std::{mutex,condition_variable,thread}
* Now uses Build as root directory for *all* intermediate files
* Binary directory is populated as post-build msbuild action
* .gitignore is simplified
* UnitTests project is no longer compiled
2013-10-26 17:55:38 -07:00
1eba4da21a Revert "Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic."
This reverts commit b2c4901b3f.

Breaks Windows build. GCC 4.9 isn't out yet anyway.
2013-10-26 19:21:00 -05:00
b2c4901b3f Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic. 2013-10-26 19:05:31 -05:00
e3febb1603 [Android] Fix MIPS compiling. 2013-10-21 09:52:43 -05:00
4b774ef99a Fix my fix. 2013-10-20 16:42:30 -04:00
448c19bce1 Fix an issue where my recent changes would cause compilation to fail on some distros of Linux.
Note that before pushing those changes, they were initially tested in a branch, and passed the compilation testing. Sorry that I didn't catch this before.
2013-10-20 16:32:40 -04:00
b3da5c5d58 Really fix the Linux build this time.
Dammit size_t :(
2013-10-19 19:59:05 -04:00
a5a21e7f44 Fix Linux build.
Turns out Hash.h needs Common.h
2013-10-19 19:59:04 -04:00
8b10d5b481 Add header cstdint to CommonTypes.h 2013-10-19 19:59:03 -04:00
1f0710caf7 Remove some more includes. 2013-10-19 19:59:03 -04:00
97cd42f5c3 Remove some unnecessary includes as well as simplifying exisiting ones if possible. 2013-10-19 19:58:56 -04:00
b11cf1fa10 Fix config file saving on Windows. 2013-10-15 17:20:00 -04:00
72c1e143f3 Try to atomically save config files. 2013-10-15 02:59:25 -04:00
f3af8ee0f0 Revert "Remove some unnecessary includes."
Turns out this explodes on Linux.

This reverts commit c4696568cc.
2013-10-14 04:05:38 -04:00
c4696568cc Remove some unnecessary includes. 2013-10-14 04:01:57 -04:00
715d5ae8a7 Merge branch 'JitArmIL'
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
f5e1b4659a [ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers. 2013-10-09 22:57:31 +00:00
99c89ae109 Fix unicode support for File::Rename() on windows.
Partial fix of issue 6721.
2013-10-09 15:33:21 -04:00
7dd8deecec [ARM] Update the ArmEmitter with a bunch of NEON emitters. This adds around 47 instruction emitters if I counted correctly. None well tested at this point. On going to add all the NEON emitters. 2013-10-08 10:17:01 +00:00
a9908fdf09 Fix build issues on OS X i386. 2013-10-07 02:16:51 -04:00
21a114ec28 ...Forgot the XMM regs for x86. 2013-10-05 01:17:34 -04:00
144d7e5500 Fix build-breaking typo. 2013-10-05 01:08:08 -04:00
3679f9ba60 Don't push registers before pairedStoreQuantized, that's dumb.
And fix some stuff up.  It would probably be good to unify the stack
handling some more rather than having ABI_PushRegistersAndAdjustStack do
part of it and ABI_AlignStack the rest, causing unnecessary subtract
instructions on Linux x86 (only).
2013-10-04 15:48:06 -04:00
5e4665301b Finish replacing ThunkManager with ABI_PushRegistersAndAdjustStack.
As part of that, change SafeLoadToEAX to SafeLoadToReg, and have JitIL
use that, which should fix fastmem on JitIL.

This should also fix a potential stack corruption issue with x86.
2013-10-03 18:22:35 -04:00
1ec4894bc5 [Common] Abstract out the decode5A3Image and decodeCI8Image functions in BannerLoaderGC, BannerLoaderWii, and GCMemcard into ColorUtil.cpp. Makes for less copied code and remains functionally the same. 2013-10-02 18:18:54 -04:00
3c53f2e5e0 [Android] Fix Fastmem on Android 4.2 2013-09-29 20:53:32 -05:00
1a008b9e62 Fix use of ABI_GetAlignedFrameSize. 2013-09-29 16:36:26 -04:00
ccbf2ac21a Match ABI_AlignStack with ABI_RestoreStack properly.
The relevant function is entirely unused, so it shouldn't have any
effect.
2013-09-29 14:59:13 -04:00
ecca0045a9 Fix Imm8 check.
(I blame whoever made it take a u8 despite logically being a s8.)
2013-09-25 14:29:17 -04:00
ebe4448749 Save only the registers that need to be saved rather than going through ProtectFunction. 2013-09-25 03:15:53 -04:00
2a339c926e Fastmem writes for x86-64. 2013-09-25 03:15:53 -04:00
eb6ed3e42a [ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker. 2013-09-24 05:41:58 +00:00
4cdce55615 Don't define _M_IX86 on ARM(!).
Also define _M_* in a common location, and clean up code that these
changes break (including DSPJit files that assume X86 yet are compiled
on ARM for some reason...)
2013-09-24 01:30:41 -04:00
2f384c75d2 Only include scmrev.h from Version.cpp.
This way less code has to be rebuilt whenever that file gets
regenerated.
2013-09-24 01:14:56 -04:00
f81df136c2 Add an explicit error message for outdated GCC, and remove some commented out code. 2013-09-23 15:01:38 -04:00
c8c83f7b8a Remove FifoQueue iterator and RemoveThreadsafeEvents.
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
e82c9e616d operator= is a function too! std::forward is still appropriate.
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
17e753faf3 Fix FifoQueue's atomicity on ARM.
Theoretically.
2013-09-22 16:08:09 -04:00
c3b9f3556f Make CoreTiming's threadsafe events lock-free.
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
7fe440340f Improve Atomic.h:
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00