Commit graph

371 commits

Author SHA1 Message Date
Weiyi Wang a7a24367d4 update teakra 2018-12-21 21:34:36 -05:00
Weiyi Wang 443f4b964d DSP/LLE: add multithread mode 2018-12-21 20:49:24 -05:00
Weiyi Wang 969dc3b46f Update teakra and address more comments 2018-12-21 20:49:23 -05:00
Weiyi Wang 05c372bf6c Update teakra to fix macos issue; address comment feedbacks 2018-12-21 20:49:23 -05:00
Weiyi Wang e3ac248487 update teakra: implement idle skipping 2018-12-21 20:49:23 -05:00
Weiyi Wang 6d51d95d44 audio_core: add teakra and lle interface 2018-12-21 20:49:18 -05:00
zhupengfei 1a8841f96e
network, web_service: Add Verification backend and use new lobby API
Added verify_backend to load user_data for members. and removed method to generate UID as this is now done server-side.

Added GetUsername function and a "token" param to room_member.
Also added a username to ChatEntry, so that the username can be shown (along with nicknames) in the chat dialog.
2018-12-15 11:02:51 +08:00
zhupengfei c396e3c6e5 network: check Console ID conflicts
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
Michał Janiszewski ace46a93d4 Handle missing git info when building 2018-11-23 15:45:32 +01:00
SachinVin cee7c0baa5 Externals: Find and build cpu-features for cryptopp on android 2018-11-20 14:24:19 -05:00
fearlessTobi 57d68bb541 Address review comments 2018-10-20 10:35:55 -04:00
fearlessTobi 08793a6dae Review comments - part 3 2018-10-20 10:35:55 -04:00
fearlessTobi 8a87a6a72f Address more review comments 2018-10-20 10:35:55 -04:00
zhupengfei b459164c2a
citra: fix cemuhook module crash
fixes #4144. Updated inih to use the newly added GetString function which returns the default value on empty string.
2018-10-12 22:58:30 +08:00
Weiyi Wang 61155a25c3 Update fmt to 5.2.1
It seems to fix msvc warnings
2018-10-06 01:58:09 -04:00
MerryMage b4d9d9661a arm_dynarmic: Pass breakpoints to gdbstub
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
Weiyi Wang 7c97e8df62
Merge pull request #4256 from wwylele/country-list
archive_ncch: add open source country list archive
2018-09-27 10:09:37 -04:00
Weiyi Wang 08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
service/cecd: Implement some functions
2018-09-27 10:08:14 -04:00
EverOddish fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang a1517612d3 update git hash for eshop lock bit fix 2018-09-23 13:26:13 -04:00
Weiyi Wang 1123580738 archive_ncch: add open source country list archive 2018-09-22 16:11:57 -04:00
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
CDAGaming 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
CDAGaming 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