Commit graph

250 commits

Author SHA1 Message Date
Steve Bennett
7d922753c3 Xbyak 5.71
---

Updated to Xbyak 5.71
1de435ed04
2018-09-15 16:02:11 -05:00
EverOddish
04dd91be82 Initial support for scripting (#4016)
* Add ZeroMQ external submodule

* ZeroMQ libzmq building on macOS

* Added RPC namespace, settings and logging

* Added request queue handling and new classes

* Add C++ interface to ZeroMQ

* Added start of ZeroMQ RPC Server implementation.

* Request construction and callback request handling

* Read and write memory implementation

* Add ID to request format and send reply

* Add RPC setting to macOS UI

* Fixed initialization order bug and added exception handling

* Working read-write through Python

* Update CMakeLists for libzmq to resolve target name conflict on Windows

* Platform-specific CMake definitions for Windows/non-Windows

* Add comments

* Revert "Add RPC setting to macOS UI"

* Always run RPC server instead of configurable

* Add Python scripting example. Updated .gitignore

* Rename member variables to remove trailing underscore

* Finally got libzmq external project building on macOS

* Add missing dependency during libzmq build

* Adding more missing dependencies [skip ci]

* Only build what is required from libzmq

* Extra length checks on client input

* Call InvalidateCacheRange after memory write

* Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python.

* Re-organized RPC static global state into a proper class. [skip ci]

* Make sure libzmq always builds in Release mode

* Renamed Request to Packet since Request and Reply are the same thing

* Moved request fulfillment out of Packet and into RPCServer

* Change request thread from sleep to condition variable

* Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed.

* Move scripting files to dist/ instead of src/

* C++ code review changes for jroweboy [skip ci]

* Python code review changes for jroweboy [skip ci]

* Add docstrings and tests to citra.py [skip ci]

* Add host OS check for libzmq build

* Revert "Add host OS check for libzmq build"

* Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci]

* Add scripting directory to archive packaging [skip ci]

* Specify C/CXX compiler variables on MinGW build

* Only specify compiler on Linux mingw

* Use gcc and g++ on Windows mingw

* Specify generator for mingw

* Don't specify toolchain on windows mingw

* Changed citra.py to support Python 3 instead of Python 2

* Fix bug where RPC wouldn't restart after Stop/Start emulation

* Added copyright to headers and reorganized includes and forward declarations
2018-09-11 22:00:12 +02:00
NarcolepticK
648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
MerryMage
75f3d2ba31 externals: Update dynarmic to 7a2a4c8 2018-08-26 00:50:38 +01:00
zhaowenlan1779
3b37818e5e Port "externals: Update catch to 2.3.0" from yuzu (#4060)
* externals: Update catch to 2.3.0

Updates the library from 2.2.3 to 2.3.0

* fix catch2/catch.hpp includes
2018-08-24 19:45:57 +02:00
Vamsi Krishna
6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
James Rowe
9c53ccf4cb
Merge pull request #4062 from zhaowenlan1779/port-yuzu-951
Port "externals: Update glad to 0.1.26" from yuzu
2018-08-09 09:37:12 -06:00
Lioncash
ae64175522 externals: Update glad to 0.1.26
Updates the library from 0.1.25. Mainly fixes issues related to macOS,
but we may as well update the library.
2018-08-08 15:53:05 +08:00
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
2018-08-07 21:05:09 -06:00
BreadFish64
74cd98ecad core: clean up warnings 2018-08-01 14:10:23 -05:00
B3n30
8a2c44be56 Add const modifier to bad_word_list.app.romfs.h 2018-07-24 23:33:32 +02:00
B3n30
7605e26b94 Add virtual bad word list; Load if dump is missing 2018-07-22 22:55:44 +02:00
Ben
7f1303a834 Use open source Shared Font if no dumped file is available (#3881)
* Add virtual SharedFont; Load if dumped is missing

* Move open_source_archives to externals; add readme and git hash to open_source_archives

* Updated shared font to newest version: m fixed, symbols fixed
2018-07-18 10:20:31 -06:00
liushuyu
7db0588d6b
travis: MinGW build on Travis CI
... 1. updated submodule libressl
    2. suggestion from @jroweboy
2018-07-12 09:33:36 +08:00
James
cdebde8fb1 Update cpp-httplib's README 2018-06-14 16:01:48 +10:00
James
d184a3a1ee Update cpp-httplib for gzip + chunked encoding fixes 2018-06-14 16:00:07 +10:00
James Rowe
f31c836285
Merge pull request #3805 from jbeich/cubeb
Unbreak install
2018-06-09 18:14:22 -06:00
James Rowe
cf3ea85397
Merge pull request #3824 from jbeich/cryptopp
Update cryptopp to 7.1 snapshot
2018-06-09 14:10:31 -06:00
Jan Beich
23ef36a1cf externals: update cryptopp to CRYPTOPP_7_0_0-23-gf320e7d9 2018-06-08 11:15:44 +00:00
Jan Beich
9f18ec6247 externals: update soundtouch to pick up x86 fix 2018-06-08 08:34:57 +00:00
Merry
98438258c3
Merge pull request #3810 from MerryMage/eret-exclusive
arm: Clear exclusive state after service call
2018-06-07 22:09:58 +01:00
MerryMage
a4bed294fb dynarmic: Update to 4b350a354a21339052c7fff88832c3f81f5624be 2018-06-03 20:57:31 +01:00
Steve Bennett
62d7a53b1c externals: Update Catch to v2.2.2 2018-06-02 21:51:25 -07:00
Jan Beich
a9b7720d98 externals: don't try install cubeb files
Install the project...
/usr/local/bin/cmake -P cmake_install.cmake
-- Install configuration: "Release"
-- Installing: /prefix/share/man/man6/citra.6
CMake Error at externals/cubeb/cmake_install.cmake:44 (file):
  file INSTALL cannot find "/path/to/citra/include".
Call Stack (most recent call first):
  externals/cmake_install.cmake:46 (include)
  cmake_install.cmake:49 (include)

gmake: *** [Makefile:74: install] Error 1
2018-06-02 08:36:10 +00:00
James Rowe
131cf363da
Merge pull request #3790 from jbeich/master
cryptopp: unbreak on aarch64
2018-05-31 22:14:03 -06:00
James Rowe
04a9145dfc
Merge pull request #3776 from darkf/cubeb-sink2
Implement a Cubeb audio sink
2018-05-31 22:13:12 -06:00
darkf
ce6d9e2e28 externals: Don't build cubeb with tests 2018-05-31 21:01:48 -05:00
darkf
af73dd45f0 audio_core: Implement a cubeb audio sink 2018-05-31 21:01:48 -05:00
Jan Beich
2772362f05 cryptopp: add missing bits used by SIMD on aarch64
externals/cryptopp/cryptopp/crc-simd.cpp:97:13: error: use of undeclared identifier '__crc32w'
        w = __crc32w(w,x);
            ^
externals/cryptopp/cryptopp/rijndael-simd.cpp:126:25: error: use of undeclared identifier 'vaeseq_u8'
        uint8x16_t r1 = vaeseq_u8(data, key);
                        ^
externals/cryptopp/cryptopp/sha-simd.cpp:109:25: error: use of undeclared identifier 'vsha1cq_u32'
        uint32x4_t r1 = vsha1cq_u32 (data1, 0, data2);
                        ^

/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeNEON()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeCRC32()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbePMULL()'
2018-05-28 23:03:55 +00:00
Weiyi Wang
09982c3386
Merge pull request #3732 from ccawley2011/fix-arm
Fix compilation on ARM
2018-05-26 20:14:55 +03:00
Weiyi Wang
03209efe99
Merge pull request #3753 from spbennett/json_3.12
Upgrade JSON for Modern C++
2018-05-25 20:39:12 +03:00
darkf
83ee80666f Import cubeb as an external 2018-05-25 02:06:28 -05:00
Steve Bennett
a7f73b9a14 Xbyak 5.64
---

Updated to Xbyak 5.64
811f4959ee
2018-05-19 13:03:55 -07:00
Steve Bennett
b9eeca218d Upgrade JSON for Modern C++
---

Upgrade JSON for Modern C++ to 3.1.2
https://raw.githubusercontent.com/nlohmann/json/v3.1.2/single_include/nlohmann/json.hpp
2018-05-19 12:59:38 -07:00
Cameron Cawley
46f43bc4f7 cryptopp: Fix compilation on non-x86/x86_64 systems 2018-05-13 11:34:32 +01:00
James Rowe
501717e9db Update fmtlib to fix msvc warnings
Additionally, when updating fmtlib, there was a change in fmtlib broke
how the old logging macro was overloaded, so this works around that by
just naming the fmtlib macro impl something different
2018-04-05 22:33:12 -06:00
wwylele
fe58b5912a externals: update libressl (gitignore artefacts) 2018-03-30 14:23:52 +03:00
James
9283053701 Move WebServices to use LibreSSL + cpp-httplib (#3501)
Move WebServices to use LibreSSL + cpp-httplib

Remove curl + openssl build dependencies
2018-03-24 13:19:35 -06:00
MerryMage
a8dd3aa940 glad: Update glad 2018-03-13 23:00:26 -06:00
Jan Beich
0b27fcfde2 externals: Update cryptopp to 6.1.0 to fix #3435 2018-03-05 10:49:59 +00:00
hubslave
fd79b70a87 externals: Update fmt to 4d35f94
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.

The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.

The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-03-02 18:12:51 +02:00
MerryMage
1f04e2e4a1 externals: Update cryptopp to 6.0.0
MSVC C++17 support
2018-02-07 22:19:27 +00:00
MerryMage
ce31cf531d CI: Update to C++17 and use Ubuntu 18.04 as baseline 2018-02-06 17:02:21 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
Lioncash
e4b38fdb80
externals: Update catch to v2.1.1 2018-01-27 15:45:29 -05:00
Weiyi Wang
e2a8f155d3
Merge pull request #3168 from CDAGaming/pr_Improvements
[External] Travis CI Quick Fix + Minor Submodule Updates
2018-01-18 18:27:23 +02:00
Lioncash
f2fb830859 externals: Update catch to 2.1.0
Keeps the unit testing library up to date.
2018-01-17 20:52:47 -05:00
CDAGaming
51169de364
Update nihstro 2018-01-15 21:20:49 -06:00
e3f90ff6b6
Travis Quick Fix + Minor Submodule Updates
## Info (Edited)
This commit fixes several Travis-Related Warnings/Errors/Deprecations in MacOS(Now running on Sierra instead of El Capitan). These Issues included Path Not Set Warnings, shell_session warnings, and a few others.

This Commit also Updates the following Submodules:
- enet (Includes Minor CMakeList Changes for cleaner Solutions)
- Nihstro (Includes a bugfix on compiling with Boost v1.66.0)
2018-01-15 21:19:34 -06:00
Emmanuel Gil Peyrot
2cd2a7491c CMakeLists: Disable dynarmic on ¬x86_64 2018-01-08 17:58:00 +01:00
MerryMage
7d5c3b00a8 dynarmic: Update to d1d4705 2017-12-12 19:08:53 +00:00
Lioncash
ab021d163e CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
Yuri Kunde Schlesner
e472858bc8 cryptopp: Move some source files to beginning of list
This is recommended by the Crypto++ readme:
2d4614084a/Readme.txt (L188-L193)
2017-12-09 21:35:02 -08:00
Yuri Kunde Schlesner
87ff37fa95 cryptopp: Add two extra files to source list
For some reason these are required too in MSVC Debug.
2017-12-09 21:34:52 -08:00
Yuri Kunde Schlesner
7b2d7c5d9b cryptopp: Build only required files
Instead of globbing all .cpp files that ship with CryptoPP, use an
explicit list of files to compile. This cuts out compilation of a lot of
stuff we don't use (reducing build times) and also works around
https://github.com/weidai11/cryptopp/issues/527
2017-12-09 17:42:53 -08:00
MerryMage
cdde8ddb04 externals: Update dynarmic to 4110494 2017-12-06 20:57:18 +00:00
bunnei
e165b5bb94
Merge pull request #3184 from MerryMage/timing
core/arm: Improve timing accuracy before service calls in JIT
2017-12-05 23:12:24 -05:00
7c5b2fe63f Switch inih to It's Official Repository @ benhoyt/inih
## Info
This Commit switches the Inih Submodule from it's mirror repository svn2github/inih to it's official repo at benhoyt/inih

## Reasoning
As explained in Info, svn2github is a Mirror Host, which was used mainly as there was no official repo for inih at the Time it was originally added. However, now that there is a Official repo, svn2github is considered unnecessary as well as inconsistent. This commit will make it easier to manage this submodule in the future, as well as able to fix issues related to inih, should any appear in the foreseeable future.
2017-12-03 19:35:54 -06:00
MerryMage
7cd8b437aa core/arm: Improve timing accuracy before service calls in JIT
We also correct the CPU JIT's implementation of Step.
2017-12-03 16:06:46 +00:00
Lioncash
f51fa38a1b externals: Update catch to v2.0.1 2017-11-29 19:19:33 -05:00
MerryMage
d11e8b3524 dynarmic: Update to dfbd3912a4b8e0d28e1a4045893a750f0107fbaa
Do not emit instructions that require SSE 4.1 on CPUs that do not support it.
2017-11-19 23:23:03 +00:00
MerryMage
61b88aeaee dynarmic: Update to 8f15e3f70cb96e56705e5de6ba97b5d09423a56b 2017-11-04 10:49:37 +00:00
MerryMage
590b1e8453 xbyak: Update to v5.53 2017-11-04 10:49:17 +00:00
James Rowe
9e847b7549 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
056a08cdbf externals: Update soundtouch 2017-08-20 17:30:05 -07:00
James
1a44949ef7 Update cryptopp 2017-08-08 17:50:09 +10:00
James
32745ead7e Add description of upstream repo 2017-07-18 19:59:08 +10:00
James
87dea94e14 Don't pull in entire JSON repo for single header file 2017-07-18 13:37:27 +10:00
Weiyi Wang
5137a198f9 Merge pull request #2824 from jroweboy/mingw_compile_test
Update enet submodule
2017-07-13 09:57:35 +03:00
James Rowe
5990cae193 Update enet submodule
This includes a fix merged upstream to support mingw compilation
2017-07-12 20:39:47 -06:00
bunnei
33b012e86b web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei
0f1ae781d0 externals: Add JSON as a submodule. 2017-07-09 18:38:02 -04:00
bunnei
cc7583e036 externals: Add CPR as a submodule. 2017-07-09 13:24:20 -04:00
B3n30
2e37ce01c9 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
d1e414d813 externals: silence warning C4390 on MSVC for cryptopp (#2805) 2017-06-24 17:38:52 -07:00
Yuri Kunde Schlesner
f6715f98f5 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
60d70c4f43 Externals: Upgrade bundled Boost to 1.64 2017-06-11 13:10:22 -07:00
Yuri Kunde Schlesner
c211368734 CMake: Move definitions of externals to the CMakeLists in that directory 2017-05-27 23:33:14 -07:00
Yuri Kunde Schlesner
cebdae6c92 CMake: Create an INTERFACE target for Catch 2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner
4f84372bc2 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner
cb49df156d CMake: Use target properties to add inih include paths 2017-05-27 21:59:02 -07:00
Yuri Kunde Schlesner
089baa04e8 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner
a06220682c 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
4e88458814 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
e74ada0a73 externals: Update catch to 1.9.4 2017-05-21 19:29:21 -04:00
Yuri Kunde Schlesner
24e0b1ed8d externals: Update to boost v1.63.0 2017-03-12 22:16:27 -07:00
wwylele
261250e3d9 externals: remove -march=native for crypto++ 2017-02-21 23:57:31 +02:00
wwylele
ea1ea0224c HW: add AES engine & implement AES-CCM 2017-02-21 23:57:31 +02:00
Weiyi Wang
dbc94efdb5 Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00
Kloen
e14dcd0789 externals: nihstro, update to latest master 2017-02-06 12:00:45 +01:00
Fernando Sahmkow
d8af401b2c Fix Microprofile in MinGW (#2530) 2017-02-04 15:36:38 -08:00
noah the goodra
2509c44078 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
e2815408fd arm_dynarmic: Update memory interface 2017-02-03 17:32:51 +00:00
MerryMage
2b36d4c9d7 arm_dynarmic: CP15 support 2017-02-03 17:32:47 +00:00
Kloen
3597687453 externals: Updated nihstro to latest master. Fix warning on MSVC 2017-01-28 14:30:50 +01:00
Kloen
abc5c134a3 Removed unused and outdated external qhexedit 2017-01-22 18:46:48 +01:00
MerryMage
f8cf87ce34 arm_dynarmic: Provide MemoryReadCode callback
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
Yuri Kunde Schlesner
17fccb8c5d Externals: Add Xbyak 2016-12-14 20:06:08 -08:00
Yuri Kunde Schlesner
16df1f8078 externals: Update Dynarmic
Required to be able to use Xbyak in Citra without header conflicts.
2016-12-14 20:06:08 -08:00
Subv
a088ebe903 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
c46b3dec63 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
f32309400c Update dynarmic to the latest version (#2234) 2016-11-29 23:22:19 -05:00
James Rowe
c3ea6f4ddb Add mingw compile support 2016-11-13 23:50:46 -07:00
Jan Beich
50ce19b3ff 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
1ea1affe0a dynarmic: Add new submodule. 2016-09-15 17:49:25 -04:00
bunnei
dba91b2ecf externals/boost: Use latest upstream with variant. 2016-09-15 17:49:20 -04:00
Lectem
c7125f37aa Fixes SDL2.dll copy to bindir on windows 2016-07-21 10:28:52 +02:00
MerryMage
a03f9b6fb6 tests: Infrastructure for unit tests 2016-05-19 08:38:03 +01:00
MerryMage
27ce3b3f51 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00
Sam Spilsbury
fdd7e9e86a microprofileui: Use correct printf specifier 2016-04-23 11:53:55 +08:00
Sam Spilsbury
aacc3a4a59 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
15b44fb380 Update to ext-boost with interval_map 2016-04-21 17:27:46 -04:00
bunnei
0a1c73e396 Merge pull request #1517 from Lectem/fixSDLcmake
fix SDL2 detection for Visual
2016-03-23 13:35:16 -04:00
Jannik Vogel
0cdf8ff102 Update nihstro to latest master 2016-03-15 20:01:25 +01:00
Lectem
c8f8e70d31 fix SDL2 detection for Visual 2016-03-14 17:02:08 -04:00
bunnei
cf414db710 externals: Remove unused GLFW library from the repo. 2016-03-03 23:30:52 -05:00
MerryMage
ba2a54a9dd 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
2e8a7a7a08 Externals: Regenerate GLAD with GL_KHR_debug support. 2015-10-17 17:09:07 +01:00
Yuri Kunde Schlesner
d8311e8365 CMake: Add missing library required by Linux for compiling glad 2015-09-06 19:45:46 -03:00
Yuri Kunde Schlesner
a1a5570e97 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
0fcabd2b11 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
3007d0c651 Update boost external to v1.59.0 2015-08-16 21:20:48 -03:00
bunnei
094ae6fadb 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