Commit Graph

741 Commits

Author SHA1 Message Date
bunnei ac7c4f67b4 externals: Point dynarmic at a real commit. 2018-01-03 21:51:41 -05:00
bunnei 6be0783b9b externals: Update dynarmic and xbyak. 2017-10-25 11:26:35 -04:00
bunnei 775cf60729 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei f4b1216c81 externals: Add lz4. 2017-09-30 14:30:04 -04:00
James Rowe 62a7372026 Build: Enable SSL in mingw by linking against WinSSL
The mingw builds aren't submitting telemetry because the curl library
they are linked against is configured to use openSSL and openSSL looks
for the certificates in the users home folder. This keeps it from
contacting web services because it can't communicate over SSL.

This commit adds a download in mingw builds that will download a
precompiled curl for mingw linked against winssl and sspi.
2017-09-11 09:10:17 -06:00
MerryMage 48aecbfbd3 externals: Update soundtouch 2017-08-20 17:30:05 -07:00
James b09fccfe6d Update cryptopp 2017-08-08 17:50:09 +10:00
James 7bbd6e7f38 Add description of upstream repo 2017-07-18 19:59:08 +10:00
James 5684dc8228 Don't pull in entire JSON repo for single header file 2017-07-18 13:37:27 +10:00
Weiyi Wang b6727d9527 Merge pull request #2824 from jroweboy/mingw_compile_test
Update enet submodule
2017-07-13 09:57:35 +03:00
James Rowe 4127661f33 Update enet submodule
This includes a fix merged upstream to support mingw compilation
2017-07-12 20:39:47 -06:00
bunnei 7927c9b28f web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei a13865c10f externals: Add JSON as a submodule. 2017-07-09 18:38:02 -04:00
bunnei 7f37ccd0d8 externals: Add CPR as a submodule. 2017-07-09 13:24:20 -04:00
B3n30 64b6caf5f5 Implement basic virtual Room support based on enet (#2803)
* Added support for network with ENet lib,

connecting is possible, but data can't be sent, yet.

* fixup! Added support for network with ENet lib,

* fixup! CLang

* fixup! Added support for network with ENet lib,

* fixup! Added support for network with ENet lib,

* fixup! Clang format

* More fixups!

* Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Clang again

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
2017-07-07 15:34:15 -04:00
Klöen Lansfiel f76b0ede7a externals: silence warning C4390 on MSVC for cryptopp (#2805) 2017-06-24 17:38:52 -07:00
Yuri Kunde Schlesner ccdeacf149 Stop using reserved operator names (and/or/xor) with Xbyak
Also has the Dynarmic upgrade with the same change
2017-06-17 12:20:22 -07:00
Yuri Kunde Schlesner 8a676d13d4 Externals: Upgrade bundled Boost to 1.64 2017-06-11 13:10:22 -07:00
Yuri Kunde Schlesner c79e2ddf39 CMake: Move definitions of externals to the CMakeLists in that directory 2017-05-27 23:33:14 -07:00
Yuri Kunde Schlesner e04bfa22e7 CMake: Create an INTERFACE target for Catch 2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner dfd2db3e37 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner 8ed1d57e63 CMake: Use target properties to add inih include paths 2017-05-27 21:59:02 -07:00
Yuri Kunde Schlesner 08a93f99d2 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner c3114ab539 Add the fmt string formatting library
More info at http://fmtlib.net/

This commit was based on @jroweboy's work on his spdlog branch, but with
modifications.
2017-05-27 14:26:02 -07:00
Yuri Kunde Schlesner 00a9188dd5 Update dynarmic
Updated to incorporate fix from MerryMage/dynarmic#106 which is required
for using fmt in Citra.
2017-05-27 14:26:02 -07:00
Lioncash d30a7765d7 externals: Update catch to 1.9.4 2017-05-21 19:29:21 -04:00
Yuri Kunde Schlesner 93bdb0a12e externals: Update to boost v1.63.0 2017-03-12 22:16:27 -07:00
wwylele c624e5f597 externals: remove -march=native for crypto++ 2017-02-21 23:57:31 +02:00
wwylele ec94c633b7 HW: add AES engine & implement AES-CCM 2017-02-21 23:57:31 +02:00
Weiyi Wang 2b5dc25f1c Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00
Kloen 1a29849b43 externals: nihstro, update to latest master 2017-02-06 12:00:45 +01:00
Fernando Sahmkow b0fd75916a Fix Microprofile in MinGW (#2530) 2017-02-04 15:36:38 -08:00
noah the goodra af1102df7a changed the WIN32 macro in microprofileui (#2528)
I changed the macro in microprofileui.h from WIN32 to _WIN32 so that it
would correctly dectect that its being compiled on a windows platform
2017-02-04 12:17:52 -08:00
MerryMage 5ba90abf00 arm_dynarmic: Update memory interface 2017-02-03 17:32:51 +00:00
MerryMage c2717d3302 arm_dynarmic: CP15 support 2017-02-03 17:32:47 +00:00
Kloen 17ad1e1020 externals: Updated nihstro to latest master. Fix warning on MSVC 2017-01-28 14:30:50 +01:00
Kloen 9578e123ec Removed unused and outdated external qhexedit 2017-01-22 18:46:48 +01:00
MerryMage 608278503c arm_dynarmic: Provide MemoryReadCode callback
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
Yuri Kunde Schlesner fec927591e Externals: Add Xbyak 2016-12-14 20:06:08 -08:00
Yuri Kunde Schlesner 54d46cad7c externals: Update Dynarmic
Required to be able to use Xbyak in Citra without header conflicts.
2016-12-14 20:06:08 -08:00
Subv 6e103da61e Dynarmic: Update dynarmic to version
54d051977f7a6af9c7596ba6a4e6eb467bd1e0bc

dynarmic log:

54d0519 emit_x64: Use movdqa instead of movaps in EmitPackedSubU8
52e1445 Implement USUB8:33 2016 +0000
5c1aab1 Implement CLZ
1a1646d Implement UADD8
7cad694 IR: Implement new pseudo-operation GetGEFromOp
370f654 fuzz_arm: Add tests for parallel add/subtract (modulo)
25f21b5 emit_x64: Inline nzcv computation into EmitFPCompare32 and EmitFPCompare64
52fdec5 CMakeLists: Add support for LLVM on Windows
cede5e4 emit_x64: Use xorps/xorpd when argument to TransferToFP32/TransferToFP64 is an immediate zero
e166965 Implement VCMP2:33 2016 +0000
f2fe376 Support 64-bit immediates
ff00b8c Document register allocator and return stack buffer optimization
95f34c6 reg_alloc: Remove unnecessary breaks after returns (#54)
dc9707e externals: Update xbyak to 5.32
de1f831 microinstruction: Make use_count private (#53)
3621a92 reg_alloc: Register allocator related constraints belong with the rest of the register allocator
2016-12-04 21:40:12 -05:00
MerryMage 9089f83b0c dynarmic: Fix ABI violation
Caused by not saving/restoring the x64 r15 register on entry/exit from
JITted code.

Closes #2224.
2016-11-30 19:12:46 +00:00
James Rowe be6a3efb01 Update dynarmic to the latest version (#2234) 2016-11-29 23:22:19 -05:00
James Rowe f0dcbd3f73 Add mingw compile support 2016-11-13 23:50:46 -07:00
Jan Beich 01a928d6db microprofile: unbreak on POSIX systems
In file included from src/common/microprofile.cpp:7:
In file included from src/./common/microprofile.h:23:
externals/microprofile/microprofile.h:830:5: error: use of undeclared identifier 'MP_BREAK'
    MP_ASSERT(t == nBegin);
    ^
externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT'
                                 ^
externals/microprofile/microprofile.h:831:5: error: use of undeclared identifier 'MP_BREAK'
    MP_ASSERT(nTimerIndex == (nToken&0x3fff));
    ^
externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT'
                                 ^
[...]
2016-10-27 23:28:30 +00:00
bunnei 63451ee190 dynarmic: Add new submodule. 2016-09-15 17:49:25 -04:00
bunnei 2051c3856a externals/boost: Use latest upstream with variant. 2016-09-15 17:49:20 -04:00
Lectem 0b36e5bf1d Fixes SDL2.dll copy to bindir on windows 2016-07-21 10:28:52 +02:00
MerryMage 9d9970fba9 tests: Infrastructure for unit tests 2016-05-19 08:38:03 +01:00
MerryMage 2d50954f85 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00
Sam Spilsbury cb97947449 microprofileui: Use correct printf specifier 2016-04-23 11:53:55 +08:00
Sam Spilsbury a6a496a8e4 microprofile: Use std::abs
Using the global-namespace C function will cause the wrong
overload to get picked
2016-04-23 11:48:58 +08:00
tfarley 5c2d03516e Update to ext-boost with interval_map 2016-04-21 17:27:46 -04:00
bunnei ea165a543f Merge pull request #1517 from Lectem/fixSDLcmake
fix SDL2 detection for Visual
2016-03-23 13:35:16 -04:00
Jannik Vogel 586a2942ba Update nihstro to latest master 2016-03-15 20:01:25 +01:00
Lectem 9f4b7a7e20 fix SDL2 detection for Visual 2016-03-14 17:02:08 -04:00
bunnei e8202d88a5 externals: Remove unused GLFW library from the repo. 2016-03-03 23:30:52 -05:00
MerryMage f2c32b7336 Dependencies: Remove GLFW, Add SDL2
citra: Remove GLFW, Add SDL2

FindSDL2: Do not CACHE SDL2_* variables if library is not found

EmuWindow_SDL2: Set minimal client area at initialisation time

EmuWindow_SDL2: Corrections

EmuWindow_SDL2: Fix no decorations on startup on OS X

cmake: windows_copy_files
2016-03-02 14:09:02 +00:00
Emmanuel Gil Peyrot 01d1b039ee Externals: Regenerate GLAD with GL_KHR_debug support. 2015-10-17 17:09:07 +01:00
Yuri Kunde Schlesner 25512d9e60 CMake: Add missing library required by Linux for compiling glad 2015-09-06 19:45:46 -03:00
Yuri Kunde Schlesner e5cc2e2ef0 Replace the previous OpenGL loader with a glad-generated 3.3 one
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
Yuri Kunde Schlesner 424b0fa646 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner 83296bcbb9 Update boost external to v1.59.0 2015-08-16 21:20:48 -03:00
bunnei c03924e60e Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
Yuri Kunde Schlesner a25d1814d5 Update nihstro to latest master 2015-07-26 07:12:28 -03:00
Yuri Kunde Schlesner 5161699452 getopt: Fix macro redefinition warning
We already define _CRT_SECURE_NO_WARNINGS
2015-07-13 19:47:08 -03:00
Yuri Kunde Schlesner 1bf030f4af getopt: Fix compilation settings
INTERFACE doesn't define the symbol when compiling the library itself.
PUBLIC should be used when the definition is needed both by the library
and by the users.
2015-07-13 19:47:04 -03:00
Greg Wicks 9930ef72dd Implement new argument parsing using getopt and add the corresponding library to externals 2015-07-12 15:49:23 -04:00
Yuri Kunde Schlesner 33c57361a9 Update bundled GLFW to 3.1.1
It may be necessary to fix the CMake paths manually for an exsting CMake
cache after this change.
2015-05-25 00:42:21 -03:00
bunnei f935130a0f vertex_shader: Implement MADI instruction.
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
2015-05-09 22:12:34 -04:00
archshift 7d43aef4d0 Update nihstro submodule to the initial release version.
Includes more opcodes to implement in the future.
2015-03-08 13:52:38 -07:00
Yuri Kunde Schlesner bf30dba6c2 Update ext-boost commit again which got reverted by #500 2015-02-12 12:14:14 -02:00
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
Yuri Kunde Schlesner 12232e0b08 Update boost external 2015-02-02 15:37:06 -02:00
Tony Wasserka 2b9a9a45b7 Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU. 2015-01-12 15:47:21 -08:00
Yuri Kunde Schlesner 8ad41775cc Kernel: Start using boost::intrusive_ptr for lifetime management 2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner a320d1a5b4 Clipper: Avoid dynamic allocations
The triangle clipper was allocating its temporary input, output and work
buffers using a std::vector. Since this is a hot path, it's desirable to
use stack allocation instead.
2014-12-29 02:08:09 -02:00
Tony Wasserka 056a8f9dfa Add nihstro (a 3DS shader tools suite) as a submodule. 2014-12-20 18:06:55 +01:00
Tony Wasserka 2db294306f externals: Add boost submodule. 2014-12-07 23:52:04 +01:00
archshift e6594f9f53 Added configuration file system.
Uses QSettings on citra-qt, and inih on citra-cli.
2014-10-07 15:09:37 -07:00
Yuri Kunde Schlesner 45976da975 CMake cleanup
Several cleanups to the buildsystem:
 - Do better factoring of common libs between platforms.
 - Add support to building on Windows.
 - Remove Qt4 support.
 - Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner 523385955c Update GLFW to 3.0.4 and include x64 lib for MSVC 2014-09-01 17:41:56 -03:00
Yuri Kunde Schlesner 478289140d Replace GLEW with a glLoadGen loader.
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
2014-09-01 17:41:56 -03:00
Yuri Kunde Schlesner 04d53629db Remove documentation for external modules.
We don't need these and they clutter up the repository.
2014-08-23 11:48:58 -03:00
Sacha 90f23020f5 Add Qt5 option. Use Qt5 by default. 2014-08-19 21:34:00 +10:00
Sacha b7ecc9543a CMake Cleanup 2014-08-18 14:35:44 +10:00
archshift 71b8789803 Indent fixes 2014-05-19 13:51:59 -07:00
archshift 1e729e7cae Added FindGLEW to cmake-modules 2014-05-16 23:03:10 -07:00
bunnei 80a040ac77 fixes to scm_rev generation to make it conistent with windows build 2014-04-23 19:13:00 -07:00
bunnei 4405a53cf3 added scm rev generation on Linux/cmake 2014-04-23 18:43:57 -07:00
ShizZy 27474060e1 adding initial project layout 2013-08-29 23:35:09 -04:00