Commit graph

253 commits

Author SHA1 Message Date
Ryan Houdek
4dc2d71e34 OS X likes to be different. It reports the host processor type as i386 instead of x86 or x86_64 like a typical sane system. 2014-03-04 14:45:50 -06:00
Ryan Houdek
4f02132f93 Make our architecture defines less stupid.
Our defines were never clear between what meant 64bit or x86_64
This makes a clear cut between bitness and architecture.
This commit also has the side effect of bringing up aarch64 compiling support.
2014-03-04 09:36:59 -06:00
Pierre Bourdon
9ea845310d Unittests: Always use GTest from Externals (recommended way from GTest FAQ). 2014-03-03 03:38:46 +01:00
Pierre Bourdon
2d71571be5 Do not hard fail when running 'make unittests' without GTest. 2014-03-03 03:12:58 +01:00
Pierre Bourdon
d4ed4adace Add the infrastructure required to easily add unit tests and test it with a very simple test file. 2014-03-03 00:25:41 +01:00
Pierre Bourdon
747021e0c8 CMake: detect GTest if it is installed 2014-03-02 04:15:33 +01:00
Pierre Bourdon
0f89060cf3 Remove Source/{Unittests,TestSuite}.
These directories have been unused for several years and without any automated
way of running the tests, they are pretty much useless.

While they might be useful as a reference, in their present state they should
not be kept in the repository.
2014-02-23 22:36:32 +01:00
Pierre Bourdon
362dec9c7c Dolphin now builds on Linux with only Source/Core as include dir 2014-02-18 12:18:47 +01:00
Pierre Bourdon
dc1db82f70 Fix Linux build 2014-02-18 12:09:38 +01:00
Pierre Bourdon
9da6900595 Merge pull request #12 from Armada651/osx_rumble
OS X Rumble Support
2014-02-09 16:10:07 +01:00
Jules Blok
c6d650c058 ForceFeedback: Add OSX rumble support 2014-02-09 17:01:45 +09:00
degasus
5c646d334a Pulseaudio: rewrite the pa backend with the async api
The default async api allow us to set some latency options. The old one (simple API) was the lazy way to go for usual audio where latency doesn't matter.

This also streams audio, so it should be a bit faster then the old one.
2014-02-07 00:20:10 +01:00
Ryan Houdek
839df31347 Merge of GL-AutoChoose.
This branch is the final step of fully supporting both OpenGL and OpenGL ES in the same binary.
This of course only applies to EGL and won't work for GLX/AGL/WGL since they don't really support GL ES.
The changes here actually aren't too terrible, basically change every #ifdef USE_GLES to a runtime check.

This adds a DetectMode() function to the EGL context backend.
EGL will iterate through each of the configs and check for GL, GLES3_KHR, and GLES2 bits
After that it'll change the mode from _DETECT to whichever one is the best supported.
After that point we'll just create a context with the mode that was detected
2014-01-18 04:11:59 +00:00
Ryan Houdek
cd145cb63e [GLExtensions] Refix GLES3 build. Until we clean up the platform detection this'll need to be here. 2014-01-17 16:06:40 +01:00
Ryan Houdek
c744aca323 [GLExtensions] Move the include directory location for Externals/GL so no other library includes global GL folder first. 2014-01-17 16:06:35 +01:00
Ryan Houdek
3d4d3f6b11 [GLExtensions] Remove a bunch of unneeded headers. Fix Linux+EGL compiling. Move include to glx.h around to work around it including global GL/gl.h 2014-01-17 16:06:29 +01:00
Ryan Houdek
71681de81a [GLExtensions] Initial code drop for GLExtensions. This drops GLEW entirely from the codebase. This has been tested on Android and Linux+ATI. Of course untested on Windows and Apple. Also untested with Linux + EGL but should be fine there. There are most likely a couple of extensions I'm missing which would result in null pointer runs but not bad for the initial commit.
Conflicts:
	CMakeLists.txt
	Externals/GLew/glew.vcxproj
	Externals/GLew/glew.vcxproj.filters
	Source/Core/VideoBackends/OGL/CMakeLists.txt
	Source/Core/VideoBackends/OGL/GLFunctions.cpp
	Source/Core/VideoBackends/OGL/GLFunctions.h
	Source/Core/VideoBackends/OGL/GLUtil.h
	Source/Core/VideoBackends/OGL/Render.cpp
	Source/VSProps/Base.props
2014-01-17 15:50:51 +01:00
Ryan Houdek
1118226f27 Merge branch 'master' into buffer_storage 2013-12-31 19:18:30 -06:00
Jasper St. Pierre
34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Ryan Houdek
d8ceb97a60 [buffer_storage] Require GLEW 1.10 which has the new OpenGL 4.4 methods. Fixes linux build. 2013-12-27 15:37:31 -06:00
Ryan Houdek
a87e0e7489 Remove our GLU dependency. Fix static zlib 2013-12-23 16:01:34 -07:00
Ryan Houdek
63ab203923 Fix ARM unix build. 2013-12-12 21:17:42 +00:00
Ryan Houdek
c21003feab If we are using OpenGL ES 3, then don't check for OpenGL/GLU 2013-12-12 13:42:15 -06:00
Ryan Houdek
7ff429152d Fix Cmake failure. 2013-12-12 13:35:22 -06:00
Ryan Houdek
eb3b933dd0 Remove all instances of OpenCL in the Dolphin Project. A brief history of OpenCL in Dolphin. OpenCL was originally added to the Dolphin codebase 1 month after it was released with OS X Snow Leopard in 2009. OpenCL was one of the largest group projects that Dolphin ever has had. The OpenCL texture decoder was originally aded with version 1.0 of the OpenCL spec; This version didn't have the capability of a OpenCL-OpenGL interop which would allow for uploading textures once and have it decoded directly to a OpenGL texure. This was to be worked out when the OpenCL 1.1 spec was released and allowed the interop. This work has never been done, and no one in the team is willing to work on it for various reasons. OpenCL has had the unreasonable expectation that it increases the performance of video games that require a large amount of EFB copies like NSMBW. In reality, enabling OpenCL just put the graphics card in a higher power mode which increased the game speed. This is due to the unfortunate effect of Dolphin tending to not push GPUs out of their lower frequency power savings modes. Thanks to everyone that had contributed to the OpenCL texture decoder. 2013-12-11 15:15:55 -06:00
Ryan Houdek
1dfe303119 [ANDROID] Fix ARMv5 build. 2013-11-30 12:25:01 -06:00
Ryan Houdek
49eef423a8 [Android-overlay] Add the new overlay icons. Support configuring them. Disable hardfloat since it has issues since Dalvik doesn't understand passing floats due to ABI differences. 2013-11-29 18:37:33 -06:00
Ryan Houdek
2c09e8fc5a [Android] Enable hard-float support. Requires Android NDK r9b. 2013-11-24 16:43:53 -06:00
Ryan Houdek
13578dc0b3 [Android] Enable the ability to find OpenMP on Android...which isn't used in the generic texture decoder so no win. 2013-11-24 16:28:20 -06:00
Ryan Houdek
117bf435b0 Fix GUI-less build. Also potentially OS X. We now require libpng due to our screenshot code relying on it now. WXWidgets links in libpng by itself so it isn't noticed in a wxwidgets build. OS X seems to not have libpng linked in from wxWidgets so just link in libpng at all times. 2013-11-15 01:09:38 +00:00
comex
bfdc913714 Actually enable PCH. 2013-10-20 16:55:01 -04:00
comex
de1773affb Basic precompiled header support for Linux/OS X. Shaves 20-30% off full rebuild time on my system. 2013-10-17 00:07:35 -04:00
comex
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
comex
146cf56295 Darwin: Don't overwrite the C compiler if the user set one manually. 2013-09-24 01:14:56 -04:00
Pierre Bourdon
2395725200 We're not stable anymore :( 2013-09-22 16:28:09 +02:00
Pierre Bourdon
c25be031fc Dolphin 4.0 release 2013-09-22 16:00:57 +02:00
Pierre Bourdon
aa202c2e21 Move global gameinis from User to Sys. Get rid of SHARED_USER. 2013-09-14 06:08:30 +02:00
Glenn Rice
d9dd0a7874 Fix building with polarssl from the externals. 2013-09-11 23:35:52 -05:00
Ryan Houdek
53fb0622f0 Fix the glew check. GLES3 can be used on non-Android platforms. 2013-09-08 07:21:33 +00:00
Glenn Rice
d617efc5ef When checking for glew, don't fail if a working system version is not
found so we can fall back to the Externals version.
2013-09-07 12:40:40 -05:00
Glenn Rice
a3d86ceead When checking for glew via cmake check to see that the system version of glew
is at least 1.8 and has the methods of glew 1.9.  This is an annoying
hack to deal with Ubuntu's glew setup, which is glew 1.8 with 1.9
methods patched in.
2013-09-07 12:24:32 -05:00
Glenn Rice
eb8e03fab5 Add a check for a shared polarssl library. This checks to see that the
system version is new enough, and is compiled with havege support.
2013-09-02 20:07:47 -05:00
comex
b6728c1405 Avoid unnecessary bundle copies on OS X:
- Make "copy data into bundle" depend on the files actually being
  changed, rather than being run on every build.

- postprocess_bundle depends on system files and checking the Dolphin
  binary and all that, and would be iffy to try to avoid rerunning;
  but it's only needed to produce a redistributable bundle, so add
  SKIP_POSTPROCESS_BUNDLE to skip it for development.
2013-08-30 17:54:52 -04:00
Ryan Houdek
18fd690533 Only use static iconv on Android. 2013-08-29 05:53:15 -05:00
Ryan Houdek
cb8e7a1be5 Work around check_lib not finding iconv. 2013-08-29 05:40:16 -05:00
Ryan Houdek
160d72a9ae [Android] Add in a static libiconv library so non English games don't crash Dolphin Mobile. 2013-08-29 04:43:31 -05:00
Pierre Bourdon
73be79f4e0 Fix trailing whitespaces in all files where some were added 2013-08-25 02:49:58 +02:00
Matthew Parlane
b6e054a2be Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Core.vcxproj
	Source/Core/Core/Core.vcxproj.filters
	Source/Core/Core/Src/CoreParameter.cpp
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
2013-08-23 00:51:12 +12:00
Matthew Parlane
17918472ae Fix random d... 2013-08-16 19:26:34 +12:00
Matthew Parlane
9de7611ff9 Merge branch 'master' into wii-network
Conflicts:
	CMakeLists.txt
	Source/Core/Core/Core.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
	Source/Dolphin_2010.sln
	Source/VSProps/Dolphin.Win32.props
	Source/VSProps/Dolphin.x64.props
2013-08-16 19:17:07 +12:00