Commit graph

335 commits

Author SHA1 Message Date
Steveice10
3a6a17c708
externals: Bundle cryptopp as submodule. (#6272)
fix https://github.com/citra-emu/citra/issues/6271
2023-02-02 16:26:21 +01:00
Steveice10
a298e4969b
externals: Switch to newer cryptopp-cmake. (#6242) 2023-01-15 21:45:42 +05:30
Steveice10
a8848cce43 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
SachinVin
0e325255f3 externals: point to upstream dynarmic 2023-01-06 06:41:51 -08:00
SachinVin
21fe65c29c externals: bump xbyak to v6.68 2023-01-06 06:41:51 -08:00
Merry
2238e6c3ef externals: Update dynarmic to 7a926d689bcc1cc39dd26d5bba379dffcc6815a3 2022-11-22 22:52:37 +00:00
Vitor K
3b6ffd9c27
Add MSVC binaries for Windows on releases (#6190)
* Improve directory creation in WindowsCopyFiles.cmake

* Release msvc compiled binaries as an alternative to mingw releases

* msvc: do not ship .pdb files

* msvc: Copy necessary files to the release

* windows-msvc: enable compatibility reporting

translation was disabled because the bundled qt doesn't have
the necessary component

Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>
2022-11-19 22:22:10 +02:00
Tobias
bb05d8c12a
src/CMakeLists: Enforce multiple warnings on MSVC (#5692) 2022-11-09 23:14:28 +01:00
Steven Smith
7801907288
externals: Update dynarmic (#6175) 2022-11-05 11:19:50 +05:30
Tobias
1ddea27ac8
code: Cleanup and warning fixes from the Vulkan PR (#6163)
Co-authored-by: emufan4568 <geoster3d@gmail.com>
Co-authored-by: Kyle Kienapfel <Docteh@users.noreply.github.com>
2022-11-04 23:32:57 +01:00
SachinVin
0fb792d216 bump dynarmic: fix moving imm to fpr 2022-10-27 18:47:52 +05:30
SachinVin
fbe06234b1 Core: Port Exclusive memory impl from yuzu
core\arm\dynarmic\arm_dynarmic.cpp: fix build

core\arm\dynarmic\arm_dynarmic.cpp: Fixes

CPP 20
2022-10-23 13:19:33 +05:30
SachinVin
98d3b9c776 externals\CMakeLists.txt: add fmt before dynarmic 2022-10-23 13:19:32 +05:30
SachinVin
4a590d1fcb xbyak: Correct xbyak include directory
xbyak is intended to be installed in /usr/local/include/xbyak.
Since we desire not to install xbyak before using it, we copy the headers
to the appropriate directory structure and use that instead
Co-authored-by: merry <git@mary.rs>
2022-10-23 13:19:32 +05:30
SachinVin
726964ff20 bump xbyak 2022-10-23 13:19:32 +05:30
SachinVin
e5f30fdbf8 bump dynarmic
bump dynarmic

bump dynarmic

bump dynarmic
2022-10-23 13:19:32 +05:30
Vitor K
76f8d08d66
externals: track a stable version of sdl, 2.24.1 (#6150) 2022-10-06 03:06:12 +02:00
liushuyu
3e692eb383
externals: Upgrade httplib (#6147) 2022-10-06 03:01:37 +02:00
GPUCode
cbd5d1c15c
Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
SachinVin
9268b7d48e
Merge branch 'master' into tex-cache 2022-09-01 19:50:32 +05:30
emufan4568
12f84e18dc externals: Upgrade glad to latest version
* Also change some mentions to OpenGL 3.3 to 4.3
2022-08-22 23:44:03 +03:00
Ian Chamberlain
a90b0daebe
Look at version_major.h when for newer ffmpeg libs
In ffmpeg 5.1, it seems most (or all) of these libraries use a separate
version_major.h, so the logic to check minimum version didn't work
without looking at the major version file.
2022-08-20 20:40:26 -04:00
SachinVin
243548afc4 bump dynarmic
workaround MSCV compile error
2022-07-03 13:56:33 +05:30
Morph
f71e853054
externals: Update cpp-jwt to e12ef062 (#6051)
Resolves compilation errors when compiling with C++20
2022-06-25 14:41:57 +05:30
Morph
46c6e5c4c0
externals: Update libressl to 3.5.2 (#6021)
Resolves compiler errors in VS 2022
2022-05-15 11:01:54 +05:30
SachinVin
d65f50e512 Bump libressl to latest commit 2022-03-26 10:00:34 +05:30
Trung Lê
25ad002e6e
Update teakra (#5961)
Co-authored-by: Trung Le <trung.le@ruby-joural.com>
2022-02-24 21:02:40 +05:30
pkubaj
cdbd72e79c
Fix build on powerpc64le (#5947)
After cryptopp update, build again fails.
2022-02-08 22:07:21 +05:30
bunnei
bae1c31406
Merge pull request #5718 from liushuyu/httpc
externals: update httplib and libressl
2022-02-05 02:59:18 -07:00
SachinVin
d35a7a8e23
Merge pull request #5804 from weihuoya/minorfx
Minor fx
2022-01-30 21:51:11 +05:30
weihuoya
7fa64af3d6 externals: update enet 2022-01-14 10:36:49 +08:00
liushuyu
af24f75c18
externals: update httplib and libressl ...
* In older `httplib`, SSL connections were not handled correctly and
  will have issues with proxy servers. Also, keep alive directives were
  not available back then, which is probably necessary to implement
  HTTP_C service correctly.
* Another reason being `httplib` now requires OpenSSL 1.1+ API while
  LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
  OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
  path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
  use their own SSL implementations when compiling Yuzu/Citra to
  (hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
  `scheme:host:port` string itself now.
2022-01-13 19:32:50 -07:00
Jan Beich
4b04175c5d cryptopp: enable SIMD flags on i386
externals/cryptopp/cryptopp/rijndael_simd.cpp:460:20: error: always_inline function '_mm_loadu_si128' requires target feature 'sse2', but would be inlined into function 'Rijndael_UncheckedSetKey_SSE4_AESNI' that is compiled without support for 'sse2'
    __m128i temp = _mm_loadu_si128(M128_CAST(userKey+keyLen-16));
                   ^
externals/cryptopp/cryptopp/rijndael_simd.cpp:469:50: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
        rk[keyLen/4] = rk[0] ^ _mm_extract_epi32(_mm_aeskeygenassist_si128(temp, 0), 3) ^ *(rc++);
                                                 ^
externals/cryptopp/cryptopp/rijndael_simd.cpp:481:20: error: '__builtin_ia32_vec_set_v4si' needs target feature sse4.1
            temp = _mm_insert_epi32(temp, rk[11], 3);
                   ^
[...]
2022-01-06 23:57:05 +00:00
Vitor K
60d1def6f8
Update cryptopp to 8.5.0 (#5669)
* Update cryptopp to 8.3.0

Modified the CMakeLists.txt based on the noloader/cryptopp-cmake
8.3.0 CMakeLists.txt.

* Update cryptopp to version 8.5.0
2022-01-05 20:05:07 +05:30
xperia64
1911c9791e
Add libyuv (#5623)
* Add libyuv

* Only use libyuv on Android

Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2021-12-12 20:22:30 +05:30
SachinVin
64b502aad3
Merge pull request #5810 from vitor-k/discord
Port yuzu-emu/yuzu#6484: "update submodule discord-rpc to latest [now deprecated]"
2021-11-20 21:01:27 +05:30
pkubaj
219eaabbcf
Fix build on powerpc64le (#5884)
Without compiling ppc-simd.cpp, linking fails with:
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -Wl,--as-needed -fstack-protector-strong -L/usr/local/lib src/tests/CMakeFiles/tests.dir/common/bit_field.cpp.o src/tests/CMakeFiles/tests.dir/common/param_package.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/arm_test_common.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/dyncom/arm_dyncom_vfp_tests.cpp.o src/tests/CMakeFiles/tests.dir/core/core_timing.cpp.o src/tests/CMakeFiles/tests.dir/core/file_sys/path_parser.cpp.o src/tests/CMakeFiles/tests.dir/core/hle/kernel/hle_ipc.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/memory.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/vm_manager.cpp.o src/tests/CMakeFiles/tests.dir/audio_core/decoder_tests.cpp.o src/tests/CMakeFiles/tests.dir/tests.cpp.o -o bin/Release/tests  src/common/libcommon.a  src/core/libcore.a  src/video_core/libvideo_core.a  src/audio_core/libaudio_core.a  src/core/libcore.a  src/video_core/libvideo_core.a  src/audio_core/libaudio_core.a  externals/soundtouch/libSoundTouch.a  externals/teakra/src/libteakra.a  /usr/local/lib/libSDL2main.a  /usr/local/lib/libSDL2.so  externals/cubeb/libcubeb.a  -lpthread  externals/cryptopp/libcryptopp.a  src/web_service/libweb_service.a  src/network/libnetwork.a  externals/enet/libenet.a  externals/libressl/tls/libtls.a  externals/libressl/ssl/libssl.a  externals/libressl/crypto/libcrypto.a  externals/lurlparser/liblurlparser.a  /usr/local/lib/libavformat.so  /usr/local/lib/libavcodec.so  /usr/local/lib/libswscale.so  /usr/local/lib/libswresample.so  /usr/local/lib/libavutil.so  src/common/libcommon.a  externals/fmt/libfmt.a  externals/zstd/build/cmake/lib/libzstd.a
 -pthread  /usr/local/lib/libboost_serialization.a  externals/glad/libglad.a && :
ld: error: undefined symbol: CryptoPP::CPU_ProbeAltivec()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a

ld: error: undefined symbol: CryptoPP::CPU_ProbePower7()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a

ld: error: undefined symbol: CryptoPP::CPU_ProbePower8()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a

ld: error: undefined symbol: CryptoPP::CPU_ProbeAES()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a

ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA256()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a

ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA512()
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>>               cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
2021-10-31 14:47:20 -05:00
Idesmi
a5d01c0c15
fix build on glibc 2.34 (#5872)
* fix build on glibc 2.34

* bump Catch to latest tag and update dynarmic
2021-10-23 18:54:36 +05:30
SachinVin
62236b7257
Update dynarmic (#5814) 2021-07-11 20:16:10 +05:30
Vortex
de9d640de4 update submodule discord-rpc to latest [now deprecated] 2021-07-06 23:56:27 -03:00
Vitor Kiguchi
18ad3bafb6 Update dynarmic
this should allow the cpu jit to run on builds compiled for the M1
2021-05-12 17:30:19 -03:00
Vitor Kiguchi
63589f4a1b Re-update catch and dynarmic 2021-04-29 01:34:07 -03:00
Morph
48fad3a903 libusb: Add /utf-8 compile option for MSVC. 2021-04-24 02:22:13 -04:00
ameerj
a80e566464 gcadapter: Implement auto map feature
Implements the auto map functionality for the GC adapter.
The controls map nicely to the original 3ds controls, with the select button being mapped to the Z button on GC.
The ZL/ZR buttons are not mapped by this feature.
2021-04-24 02:03:40 -04:00
Jan Beich
161e6a541b cmake: unbreak system libusb support
Reference libusb doesn't support DragonFly and FreeBSD because those
ship a different libusb implementation (supports 0.1, 1.0, 2.0 API).
2021-04-24 02:02:45 -04:00
Lioncash
c5094ed614 externals: Track upstream libusb
We can place the external in an inner folder and manage the custom files
necessary to integrate it with CMake directly. This allows us to
directly change how we use it with our build system, as opposed to
needing to change a fork.
2021-04-24 02:02:45 -04:00
bunnei
33e5d16c89
Merge pull request #5748 from vitor-k/update-dynarmic
Update dynarmic
2021-04-23 22:32:48 -07:00
Vitor Kiguchi
b660adea0f update catch 2021-04-06 19:56:28 -03:00
Vitor Kiguchi
a2f9fef97e Update dynarmic
fixes dynarmic compilation when targeting MacOS on ARM
2021-04-06 19:54:39 -03:00
Lioncash
9c08409e0e externals: Update Xbyak to 5.96
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.

This request was implemented, so this updates Xbyak so that we can make
use of it.
2021-01-04 05:11:18 +01:00
FearlessTobi
0e534f7e61 CMakeFiles: Update json to 3.9.0
Keeps the tracked version of the library up to date.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-01-04 03:35:56 +01:00
Vitor Kiguchi
a6fbc1c9e3 zstd: define include_directories for build interface only 2021-01-01 06:31:20 -03:00
Vitor Kiguchi
6876f1aaa4 zstd: set include directory directly 2021-01-01 02:57:15 -03:00
Vitor Kiguchi
8a67605450 Update zstd to v1.4.8 2020-12-31 14:52:07 -03:00
xperia64
94013c8e00
Merge ARM64 Dynarmic (#5620)
* Point dynarmic to citra fork, update dynarmic to AArch64 merge branch

* Enable dynarmic ARM64 support
2020-12-28 18:39:00 -05:00
Tobias
c557b290af
microprofile: Don't memset through std::atomic types (#5528)
Two of the members of the MicroProfileThreadLog contains two std::atomic
instances. Given these aren't trivially-copyable types, we shouldn't be
memsetting the structure, given implementation details can contain other
members within it.

To avoid potential undefined behavior on platforms, we can use aggregate
initialization to zero out the members while still having well-defined
behavior.

While we're at it we can also silence some sign conversion warnings.

Co-authored-by: Lioncash <mathew1800@gmail.com>
2020-12-07 16:04:31 +01:00
xperia64
36780040a6
Update dynarmic to last compatible version (#5618) 2020-12-05 22:18:07 +01:00
xperia64
a13a230511
Update inih (#5615) 2020-11-24 18:25:10 -05:00
Marshall Mohror
3115529be7
Merge pull request #5603 from FearlessTobi/port-4887
Port yuzu-emu/yuzu#4887: "microprofile: Silence warning in headers"
2020-11-17 09:29:06 -06:00
Marshall Mohror
6772e46153
Merge pull request #5593 from FearlessTobi/port-4831
Port yuzu-emu/yuzu#4831: "externals: Update fmt to 7.1.0"
2020-11-17 09:27:45 -06:00
Lioncash
8f7ac4d8cc microprofile: Silence warning in headers
Silences a truncation warning by making the truncation explicit and
documenting the reason for it.
2020-11-11 01:02:10 +01:00
Lioncash
f2ccc8482f externals: Update fmt to 7.1.2
Updates to the latest bugfix release of fmt.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-11-11 00:58:39 +01:00
Vitor Kiguchi
1efe80bd10 Update cubeb and request a persistent stream session 2020-10-20 11:19:58 -03:00
Tobias
017631e51b
Port yuzu-emu/yuzu#4587 and yuzu-emu/yuzu#4588: Fix data races (#5545)
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2020-09-19 18:42:21 +02:00
Marshall Mohror
550cc859b5
Merge pull request #5524 from FearlessTobi/port-4582
Port yuzu-emu/yuzu#4582: "externals: Update Xbyak to 5.95"
2020-08-28 13:30:44 -05:00
FearlessTobi
0ca0aad946 CMakeLists: Update fmt to 7.0.3
Keeps the library up to date and fixes a few bugs

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-08-28 16:00:00 +02:00
FearlessTobi
8164e58eab externals: Update Xbyak to 5.95
5.95 contains a potentially backward-compatibility breaking change, so
we should be updating to this to ensure that our code remains
forward-compatible.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-08-28 03:19:15 +02:00
FearlessTobi
97d1430ee5 CMakeLists: Update fmt to 7.0.1
Keeps the package up to date with the latest major release of fmt.

This version brings in quite a bit of improvements, such as code size
reduction, etc.

Co-Authored-By: Mat M. <lioncash@users.noreply.github.com>
2020-07-11 18:52:36 +02:00
xperia64
daf0e750d2 Update teakra, adjust TeakraSlice for new audio frame period 2020-06-07 20:06:22 -04:00
Ben
213c956b7c
Merge pull request #5313 from FearlessTobi/port-3827
Port yuzu-emu/yuzu#3827: "Update cubeb to 616d773"
2020-05-13 18:29:29 +02:00
David Marcec
5832857bc0 externals: Update cubeb to 616d773
Support for 6 audio channels

Co-Authored-By: David <ognik5377@users.noreply.github.com>
2020-05-01 22:15:50 +02:00
Lioncash
7d5cad4093 CMakeLists: Specify EXCLUDE_FROM_ALL for teakra
Ensures that unused targets introduced in the add_subdirectory call
don't show up in IDE builds if they aren't used (which is the case for
teakra_c).
2020-05-01 08:31:58 -04:00
Valentin Vanelslande
ce58151c21 Update teakra 2020-04-29 21:53:01 -05:00
Merry
c8a503b10f
CMakeLists: Only compile A32 frontend for dynarmic (#5229) 2020-04-18 20:45:07 +02:00
Hamish Milne
79a0cbbba8
Update dynarmic (#5214)
* Update dynarmic

* Really update the submodule
2020-04-18 08:52:15 +02:00
Hamish Milne
7af4b1a18e Merge branch 'master' into feature/savestates-2 2020-04-17 00:01:43 +01:00
Hamish Milne
ebbbf5bdba
Merge pull request #5132 from FearlessTobi/port-3497
Port yuzu-emu/yuzu#3497: "Small corrections and features to microprofile"
2020-04-16 23:49:31 +01:00
Hamish Milne
f2e9f7be9e
Merge pull request #5124 from rykdesjardins/patch-1
Added a search path in FindSDL2 for Ubuntu (Budgie) 20.04
2020-04-16 23:41:35 +01:00
Hamish Milne
915c426dc9 Merge remote-tracking branch 'upstream/master' into feature/savestates-2 2020-04-12 22:26:24 +01:00
MerryMage
e04590a06d externals: Update dynarmic to b58048a 2020-04-06 17:31:30 +01:00
Hamish Milne
570fc45d03 Change boost submodule 2020-03-28 17:11:35 +00:00
Hamish Milne
8f164a16ce Review changes 2020-03-28 17:08:27 +00:00
Hamish Milne
025960bcdd Attempt to fix flatpak CI 2020-03-28 15:10:35 +00:00
Fernando Sahmkow
d5261797f0 Microprofile: Allow accessing token. 2020-03-17 11:12:35 +01:00
Hamish Milne
da3ab3d56e Merge branch 'master' into feature/savestates-2 2020-03-07 21:23:08 +00:00
Erik Desjardins
7b057fe110
Added a search path in FindSDL2 for Ubuntu Budgie
Necessary to build on Ubuntu 20.04, Budgie.
2020-03-06 23:55:41 -05:00
Ben
e3dbdcbdff
HTTP_C::Implement Context::MakeRequest (#4754)
* HTTP_C::Implement Context::MakeRequest

* httplib: Add add_client_cert_ASN1 and set_verify

* HTTP_C: Fix request methode strings case in MakeRequest

* HTTP_C: clang-format and cleanups

* HTTP_C: Add comment about async in BeginRequest and BeginRequestAsync

* Update httplib to contain all the changes we need; adapt http_c and web_services to the changes in httplib; addressed minor review comments

* Add android-ifaddrs
2020-02-21 19:04:04 +01:00
zhupengfei
5aa5cd6064 Fix externals/boost spec 2020-02-13 17:42:12 +08:00
Hamish Milne
c983528862 Reworked DSP serialization 2020-02-13 17:42:12 +08:00
Hamish Milne
f5e2f873b0 Serialize NWM service 2020-02-13 17:41:24 +08:00
Hamish Milne
8bd3e8cd27 Serialize HTTP service 2020-02-13 17:41:22 +08:00
Hamish Milne
9877bf7d48 Change how the boost target works; disable external warnings in MSVC 2020-02-13 17:41:20 +08:00
Hamish Milne
c7106e232f Fix a bug on mingw 2020-02-13 17:41:16 +08:00
Hamish Milne
c284192a87 Serialize geometry_pipeline 2020-02-13 17:38:17 +08:00
Hamish Milne
f557d26b40 Added CPU, mutex, process, thread, timer 2020-02-13 17:38:16 +08:00
Hamish Milne
5035e68dad Added derived kernel objects 2020-02-13 17:38:15 +08:00
Hamish Milne
f79c9668a3 Added shader state; WIP kernel objects 2020-02-13 17:38:10 +08:00
Hamish Milne
dc04774ece Added POD serialization 2020-02-13 17:27:51 +08:00
Hamish Milne
6940c99ed6 Added boost serialization 2020-02-13 17:27:50 +08:00
James Rowe
6945b6539f Address review and update zstd 2020-01-15 19:58:34 -07:00