Commit Graph

763 Commits

Author SHA1 Message Date
Alexandre Bouvier
fc27fd3f02 cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
german77
9c769477a7 externals: stb: Add image write 2023-10-23 10:18:14 -06:00
liushuyu
b5db6fc74e externals/opus: use CMakeLists shipped with Opus itself 2023-10-22 14:21:33 -06:00
liushuyu
cb20f2a28c externals/libusb: remove the GUID override workaround ...
... on Windows MSVC, it seems to have been fixed
2023-10-21 22:29:32 -06:00
liushuyu
40d59dff43 externals: update libusb to c060e9ce30ac2e3ffb49d94209c4dae77b6642f7 ...
... this fixes an issue when compiling with newer MSVC
2023-10-21 22:29:19 -06:00
liushuyu
3b5b824463 externals: update VulkanMemoryAllocator to 2f382df218d7e8516dee3b3caccb819a62b571a2 2023-10-21 22:29:19 -06:00
liushuyu
901abd91fa externals: update Vulkan-Headers to 1.3.265 2023-10-21 22:29:19 -06:00
liushuyu
45645e2a58 externals: update ffmpeg to 9c1294eaddb88cb0e044c675ccae059a85fc9c6c
... to fix build with binutils 2.41+
2023-10-21 22:29:19 -06:00
liushuyu
f99a870389 externals: update vcpkg to ef2eef17340f3fbd679327d286fad06dd6e838ed 2023-10-21 22:29:19 -06:00
liushuyu
3956439b64 externals: update SDL to 2.28.4 2023-10-21 22:29:19 -06:00
liushuyu
a22880be30 externals: update cpp-jwt to 10ef5735d842b31025f1257ae78899f50a40fb14 2023-10-21 22:29:19 -06:00
liushuyu
bdaac5d4b9 externals: update cpp-httplib to 0.14.1 2023-10-21 22:29:19 -06:00
liushuyu
7cdbe88f63 externals: update libusb to 1.0.26 2023-10-21 22:29:19 -06:00
liushuyu
4f0479ecaf externals: update inih to r57 2023-10-21 22:29:19 -06:00
liushuyu
81da8a5408 externals: update opus to 1.4 2023-10-21 22:29:19 -06:00
lat9nq
25708d51c9 externals/nx_tzdb: Update download version to 2022g
Mainly for MSVC, changes the time zone database version to latest.
2023-10-11 20:20:31 -04:00
lat9nq
59cc4e43e6 externals/tzdb_to_nx: Update to 221202
This updates us to an eggert/tz commit downstream of 2022g that compiles. This
seems to be the revision Nintendo is using for 17.0.0, if the data checksums
are anything to go off of.
2023-10-11 16:42:31 -04:00
Liam
5f51662bdb qt: implement automatic crash dump support 2023-10-08 11:35:53 -04:00
Narr the Reg
acddebe3e1 externals: stb: Split library into cpp file 2023-10-07 20:57:19 -06:00
Narr the Reg
7a2fbeae30 externals: Add stb_image and stb_image_resize 2023-10-02 11:29:12 -06:00
Alexandre Bouvier
6c2231980f cmake: prefer system renderdoc header 2023-09-18 18:35:20 +02:00
GPUCode
cc2c6d8805 debug: Add renderdoc capture hotkey 2023-09-14 16:37:41 +03:00
liamwhite
a4dbe9fd4b Merge pull request #11406 from german77/sdl2-28-2
externals: Update SDL to 2.28.2
2023-08-29 09:27:54 -04:00
german77
c0e3a879f1 externals: Update SDL to 2.28.2 2023-08-27 21:08:28 -06:00
Danila Malyutin
beec962363 Use initial_frame to check interlaced flag
If final frame was transferred from GPU, it won't carry the props.

Fixes #11089
2023-08-28 00:48:53 +04:00
Liam
f80e7b3136 Skip additional mbedcrypto warnings options on MSVC 2023-08-25 19:23:34 -04:00
comex
774b7d07ae Avoid $<CXX_COMPILER_ID:Clang> because it doesn't include AppleClang. 2023-08-25 19:22:31 -04:00
comex
4285e35375 Warnings cleanup for GCC 13 and Clang 16
Note: For GCC there are still a huge number of `-Warray-bounds` warnings
coming from `externals/dynarmic`.  I could have added a workaround in
`externals/CMakeLists.txt` similar to what this PR does for other
externals, but given Dynarmic's close affiliation with Yuzu, it would be
better to fix it upstream.

Besides that, on my machine, this makes the build warning-free except
for some warnings from glslangValidator and AutoMoc.

Details:

- Disable some warnings in externals.

- Disable `-Wnullability-completeness`, which is a Clang warning triggered
  by the Vulkan SDK where if any pointers in the header are marked
  _Nullable, it wants all pointers to be marked _Nullable or _Nonnull.
  Most of them are, but some aren't.  Who knows why.

- `src/web_service/verify_user_jwt.cpp`: Disable another warning when
  including `jwt.hpp`.

- `src/input_common/input_poller.cpp`: Add missing `override` specifiers.

- src/common/swap.h: Remove redundant `operator&`.  In general, this
  file declares three overloads of each operator.  Using `+` as an
  example, the overloads are:

  - a member function for `swapped_t + integer`
  - a member function for `swapped_t + swapped_t`
  - a free function for `integer + swapped_t`

  But for `operator&`, there was an additional free function for
  `swapped_t + integer`, which was redundant with the member function.
  This caused a GCC warning saying "ISO C++ says that these are
  ambiguous".
2023-08-25 19:22:31 -04:00
lat9nq
cc6431d884 demangle: Update to llvm/llvm-project@ecbc812e0c 2023-07-18 22:39:26 -04:00
Alexandre Bouvier
dad3ef76a2 cmake: allow using system VMA library 2023-07-12 04:51:45 +02:00
Morph
3609c037f6 general: Update VulkanSDK and Vulkan-Headers
Latest as of this commit
2023-07-07 02:04:13 -04:00
ChaseKnowlden
0fdcec89f3 externals: Update sdl2 to 2.28.1 2023-07-04 16:10:49 -04:00
GPUCode
5196f05cec video_core: Add BCn decoding support 2023-06-27 18:00:09 -07:00
liamwhite
4f21c05522 Merge pull request #10473 from GPUCode/vma
Use vulkan memory allocator
2023-06-27 11:21:36 -04:00
liamwhite
2793f6cf7e Merge pull request #10901 from german77/sdl_fix
input_common: Make use of new SDL features
2023-06-26 14:31:14 -04:00
GPUCode
7a8631cd45 externals: Use cmake subdirectory 2023-06-26 18:59:24 +03:00
lat9nq
e28e87e49b nx_tzdb: Update tzdb_to_nx to 212afa2
Moves build data to a separate directory so the build happens out of the source
tree.
2023-06-25 17:20:18 -04:00
german77
ba896c8957 externals: Include player led fix on SDL 2023-06-24 17:43:08 -06:00
lat9nq
fcdeca6556 nx_tzdb: Update tzdb_to_nx
Includes fixes for other BSD's, and axes shell scripts for pure CMake.
2023-06-23 19:07:26 -04:00
Narr the Reg
b633178791 externals: Include post release SDL fixes 2023-06-23 12:25:47 -06:00
Narr the Reg
84738daecf externals: Update sdl to 2.28.0 2023-06-21 17:11:14 -06:00
lat9nq
92ad37bb0e nx_tzdb: Rename GNU_DATE variable
The repository can handle either GNU date or Apple date now.
2023-06-19 15:30:11 -04:00
lat9nq
3f8742d38e externals: Update tzdb_to_nx
Includes a fix for the Apple date utility.
2023-06-19 15:27:54 -04:00
liamwhite
7ad439f780 Merge pull request #10825 from 8bitDream/vcpkg-zlib
externals: Update vcpkg to 2023.06.17
2023-06-18 09:43:12 -04:00
GPUCode
7b3718dc9c renderer_vulkan: Add missing initializers 2023-06-18 14:14:03 +03:00
lat9nq
0a4650cd2b externals: Add vma and initialize it
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
bunnei
6d055a21e3 Merge pull request #10797 from lat9nq/tzdb-patch
time: Various time zone fixes
2023-06-17 23:47:16 -07:00
Abandoned Cart
79ec3be81e externals: Update vcpkg to 2023.06.17
Fixes for zlib and qt5
2023-06-17 21:46:09 -04:00
lat9nq
a429a048c6 nx_tzdb: Directly reference variables in if statements
Addresses review feedback.
2023-06-17 01:48:46 -04:00
lat9nq
7157c3c506 cmake: Add warn about cross compiling, disable android 2023-06-16 05:38:33 -04:00
lat9nq
d8ff2cb4e6 cmake: Check for target is Windows
MinGW has issues building tzdb2nx due to the headers being Windows
specific. Download for this toolchain as well.
2023-06-16 05:32:11 -04:00
lat9nq
5562ef07f8 cmake: Use non-conflicting variable names 2023-06-16 05:17:06 -04:00
lat9nq
d4f4422710 cmake: Extra time zone data download checks
Extra sanitization for Windows hosts, and fail loudly when the
download fails.

cmake: Fix status code reading
2023-06-16 05:17:03 -04:00
lat9nq
9fa3bf9f06 cmake: Add option to always download time zone data 2023-06-16 04:32:31 -04:00
lat9nq
7d44a0890c externals: submodule tzdb_to_nx
Fix for Flatpak being unable to download during CMake configure.
2023-06-16 04:15:19 -04:00
lat9nq
6312395d15 nx_tzdb: Support submoduling tzdb_to_nx
Fix for flatpak having no internet access during CMake configure.
2023-06-16 04:00:19 -04:00
liamwhite
fd6ac3a69a Merge pull request #10739 from zeltermann/sdl-cpuinfo
Re-enable SDL's `CPUinfo` subsystem
2023-06-16 00:08:53 -04:00
lat9nq
2ed870c2a8 nx_tzdb: Correct Antarctica spelling 2023-06-15 23:03:54 -04:00
Abandoned Cart
bf600c99fc externals: update vcpkg to 2023.06.14
Since vcpkg doesn't set version numbers between releases, one was assigned in the proper format
2023-06-14 08:34:33 -04:00
bunnei
4abd6e552c Merge pull request #10603 from lat9nq/tz-more-complete
core,common: Implement missing time zone data/computations
2023-06-13 13:28:45 -07:00
zeltermann
f556cce8b1 Re-enable SDL's CPUinfo subsystem
See https://github.com/libsdl-org/SDL/issues/7809.
Disabling CPUinfo triggers a bug in SDL's audio subsystem, which breaks
SDL's JACK output on Linux. We're lucky it hasn't broken anything else.
2023-06-12 21:36:07 +07:00
lat9nq
23f2b1ebad nx_tzdb: Create headers from downloaded system archive data
Use lat9nq/tzdb_to_nx release data to generate header files.

nx_tzdb: Use an interface library

nx_tzdb: Gate download if achive not exists

nx_tzdb: Fix header generator brace closing

nx_tzdb: Add base directory files

nx_tzdb: Add SPDX info
2023-06-05 15:15:22 -04:00
bunnei
cb9ba1b004 android: externals: Update libadrenotools, use useLegacyPackaging. 2023-06-03 00:06:05 -07:00
Liam
ee0bf11a67 cmake: download architecture-specific ffmpeg for android 2023-06-03 00:05:43 -07:00
Liam
d54605d1a5 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
Liam
46927d217c externals: add adrenotools for bcenabler 2023-06-03 00:05:28 -07:00
bunnei
6549cf8bd0 cmake: Integrate bundled FFmpeg for Android. 2023-06-03 00:05:26 -07:00
Morph
ef9b1765fa externals: Update to fmt 10 and add format_as formatter for BitField
Implicit conversions are now disallowed in fmt 10. Use format_as to convert to the underlying type.
2023-05-28 15:05:55 -04:00
liamwhite
9886f549ed Merge pull request #10475 from ameerj/microprofile-workaround
microprofile: Avoid crashing due to OOB stackPos
2023-05-28 13:18:54 -04:00
liamwhite
01008297aa Merge pull request #10283 from danilaml/support-interlaced-videos
Add support for deinterlaced video playback
2023-05-28 13:17:58 -04:00
ameerj
ae7634d80f microprofile: Avoid crashing due to OOB stack pos 2023-05-27 22:24:22 -04:00
Alexandre Bouvier
1509c64d57 cmake: apply defaults to all externals 2023-05-24 04:57:04 +02:00
Liam
011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Danila Malyutin
6ab723eace Add support for deinterlaced videos playback
This is a follow up to #10254 to improve the playback of cut scenes in Layton's Mystery Journey.
It uses ffmpeg's yadif filter for deinterlacing.
2023-05-22 01:43:44 +04:00
Danila Malyutin
ec1733d9d0 externals: update cubeb 2023-05-21 03:02:26 +04:00
Danila Malyutin
dc89e40b36 externals: update cubeb (#10362) 2023-05-19 00:24:45 +02:00
bunnei
3d4690b40d externals: Update dynarmic to include latest patch. 2023-05-07 15:06:58 -07:00
bunnei
5993638dd7 externals: Update dynarmic to include latest patch. 2023-05-07 12:04:42 -07:00
Merry
32a30f9b91 externals: Update dynarmic to 6.4.7 2023-05-05 16:30:18 +01:00
bunnei
3eb8207e08 Merge pull request #10020 from merryhime/update-dynarmic
externals: Update dynarmic to 6.4.6
2023-04-01 21:57:45 -07:00
Merry
53de91b9bd externals: Update dynarmic to 6.4.6 2023-04-01 12:40:20 +01:00
Jan Beich
604f887377 externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
Morph
53c13c75b6 vcpkg: Update vcpkg to 2023.02.24 2023-03-23 20:53:39 -04:00
Alexandre Bouvier
00c30d5f69 externals: use openssl from vcpkg 2023-02-28 06:39:54 +01:00
Alexandre Bouvier
14dc3d3c23 cmake: fix cpp-jwt build 2023-02-22 01:13:35 +01:00
Alexandre Bouvier
a6a501bfe8 externals: Update cpp-httplib to latest 2023-02-21 20:55:37 +01:00
Merry
66ab01f5d0 dynarmic: Update to 6.4.5 2023-02-05 21:49:32 +00:00
Alexandre Bouvier
8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
liamwhite
ef4b11726f Merge pull request #9555 from abouvier/catch2-update
tests: update catch2 to 3.0.1
2023-01-22 18:22:47 -05:00
liamwhite
87eef91dab Merge pull request #9613 from Kelebek1/demangle
Add stacktrace symbol demangling
2023-01-22 13:13:58 -05:00
Kelebek1
7aad0b009b Change licenses 2023-01-21 06:19:43 +00:00
Merry
3c173fafd8 externals: Update dynarmic to 6.4.4 2023-01-15 02:31:00 +00:00
Kelebek1
90f546cba4 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Fernando S
6adfb0ab14 Merge pull request #9535 from bylaws/master
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00
Liam
7429e31f30 externals: update dynarmic, xbyak 2023-01-05 18:06:06 -05:00
Billy Laws
5b7dec680e externals: Update sirit 2023-01-05 22:13:07 +00:00
Alexandre Bouvier
8789c9321a cmake: support the standard cmake testing option 2023-01-05 05:03:34 +01:00
Alexandre Bouvier
eac2672a41 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
liamwhite
69fd6d4117 Merge pull request #9541 from abouvier/cmake-option
cmake: allow options shadowing with normal variables
2023-01-02 11:29:32 -05:00
Alexandre Bouvier
37d8c9a305 cmake: allow options shadowing with normal variables 2023-01-02 02:43:38 +01:00
Alexandre Bouvier
d1b330c582 cmake: improve find_package failure messages 2023-01-02 02:27:25 +01:00
Liam
1bde70141a cmake: make Vulkan-Headers external the default 2022-12-28 20:55:32 -05:00
Liam
41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Jan Beich
f3412998f0 externals: update Vulkan-Headers to v1.3.238 2022-12-19 17:14:29 +00:00
Andrea Pappacoda
c8dae1deb2 build: tweak the find modules even more
As described in
https://github.com/yuzu-emu/yuzu/pull/9395#discussion_r1047456172
checking for PKG_CONFIG_FOUND before calling pkg_search_module() is
unneeded, and some find modules (like FindFFmpeg.cmake) don't do this
already. Consequently, this patch removes these checks.
2022-12-15 11:52:50 +01:00
liamwhite
4287fc218e Merge pull request #9395 from abouvier/cmake-find
cmake: correct find modules
2022-12-06 09:58:55 -05:00
Alexandre Bouvier
eccc2ae939 cmake: correct find modules 2022-12-06 05:32:09 +01:00
Alexandre Bouvier
87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
Morph
ff784903a1 externals: Bump dynarmic to 6.4.0
Uses the tagged, versioned release instead.
2022-12-05 13:08:00 -05:00
liamwhite
b4ef55753e Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
liamwhite
1ba3ae3f91 Merge pull request #9372 from liamwhite/vk12
vulkan_common: promote extension usages to core when possible
2022-12-04 12:14:06 -05:00
Alexandre Bouvier
325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam
e5ecad8824 yuzu-cmd: link SDL2 correctly 2022-12-04 10:59:58 -05:00
Liam
88ee9ef9ba vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
liamwhite
33d9604ed2 Merge pull request #9375 from jbeich/xbyak-no-install
externals: don't install xbyak as part of yuzu install
2022-12-04 10:46:50 -05:00
Liam
8fbec5d298 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
Jan Beich
6f5910de45 externals: disable xbyak install targets after 9509fb30a4
Prevent yuzu from trying to install bundled xbyak as it'd likely
conflict with system xbyak package.

Error: Orphaned: include/xbyak/xbyak.h
Error: Orphaned: include/xbyak/xbyak_bin2hex.h
Error: Orphaned: include/xbyak/xbyak_mnemonic.h
Error: Orphaned: include/xbyak/xbyak_util.h
Error: Orphaned: lib/cmake/xbyak/xbyak-config-version.cmake
Error: Orphaned: lib/cmake/xbyak/xbyak-config.cmake
Error: Orphaned: lib/cmake/xbyak/xbyak-targets.cmake
2022-12-03 23:51:18 +00:00
liamwhite
c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite
e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Matías Locatti
39df80ff00 Merge pull request #9303 from liamwhite/new-vulkan-init
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
lat9nq
a54654a308 CMake: Fix FFmpeg find module
Uses find_package_handle_standard_args to handle the find_package call
from the root CMakeLists. Removes all the unnecessary logic after the
find_package and just sets it to REQUIRED.
2022-12-01 00:49:58 -05:00
ameerj
28db650fd6 externals: Update dynarmic
Includes precompiled headers commit
2022-11-29 18:50:49 -05:00
lat9nq
868c5ca1cb CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
Liam
0a077cb467 Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
Liam
8b5172f166 externals: always use LibreSSL on Windows 2022-11-23 10:24:25 -05:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
Merry
7d80fe0490 dynarmic: Fix stack misalignment in GenMemory128Accessors 2022-11-19 20:10:26 +00:00
Valeri
9355884fee externals: microprofileui: Remove unused variables
Allows yuzu to be built with Clang 15
2022-11-16 20:36:43 +03:00
Liam
9509fb30a4 Initial ARM64 support 2022-11-09 16:58:49 -05:00
Alexandre Bouvier
94f6f6ba20 cmake: Fix FindPkgConfig 2022-09-20 22:21:52 +02:00
Vamsi Krishna
6fcb7b20de Fix Cmake warning for CMP0077 2022-09-04 13:45:33 +05:30
liamwhite
a903de9ec8 Merge pull request #8660 from Tachi107/findmodules-pkg-config
build: simplify find modules
2022-08-21 13:42:42 -04:00
liamwhite
b0b72f86ba Merge pull request #8730 from lat9nq/fmt-9.0.0
vcpkg,yuzu: Update to fmt 9.0.0
2022-08-07 19:04:24 -04:00
lat9nq
bbbd0e7d6f vcpkg: Update and update fmt to 9.0.0 2022-08-07 17:02:06 -04:00
Andrea Pappacoda
89750a0ebf build(externals): rename Findopus to FindOpus
This better matches upstream's FindOpus.cmake file, and it will make
using upstream's FindOpus.cmake file easier.
2022-08-01 12:31:31 +02:00
Merry
58ea0b7e1b externals: Update dynarmic to 6.2.3 2022-07-29 23:07:00 +01:00
Andrea Pappacoda
00617a8cc5 build: simplify find modules
With this patch I've deleted a few find modules that are now unused
since the vcpkg transition, as the CMake code now forces CONFIG mode for
Catch2, fmt and nlohmann_json.

I've then simplified the lz4, opus, and zstd modules by exclusively
using pkg-config. They were using it already, but were ignoring the
result. Also, I believe that manually looking for libraries was required
for Conan to work, and it is thus not needed anymore.

Lastly, I believe that there is no platform that ships these system libs
without pkg-config/pkgconf, so requiring it should be fine.
2022-07-29 22:52:23 +02:00
lat9nq
454e5d67c2 externals: Use yuzu-emu/discord-rpc to provide Discord integration
Our fork includes a commit to disable clang-format, preventing the dirty
flag from being set when building yuzu on CI.
2022-07-28 12:57:05 -04:00
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
lat9nq
f88ed711c7 externals: Use GitHub for FFmpeg
FFmpeg's own git repo seems to be down, so switch to GitHub like we use
for most externals.
2022-07-26 18:01:19 -04:00
FearlessTobi
846c50dd42 Address first part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi
60008b680e yuzu: Add ui files for multiplayer rooms 2022-07-25 21:59:28 +02:00
FearlessTobi
00526e94d1 network: Add initial files and enet dependency 2022-07-25 21:57:14 +02:00
lat9nq
20d760ea99 ci,CMake: Integrate vcpkg into CMakeLists
Uses manifest mode if the bundled vcpkg is used.
2022-07-22 20:54:00 -04:00
Narr the Reg
b3f3211405 Merge pull request #8607 from lat9nq/sdl-2.0.20
externals: Revert SDL2 to release-2.0.20
2022-07-21 09:47:52 -05:00
lat9nq
3494446fad externals: Revert SDL2 to release-2.0.20
prerelease-2.23.1 appears to have issues on the SteamDeck with external
controllers. Revert to 2.0.20 for now (and as opposed to using
prerelease-2.0.19 like before.)
2022-07-18 21:43:29 -04:00
Merry
b0d9972091 externals: Update dynarmic to 6.2.1
Fix issue with A64CallbackConfigPass
2022-07-17 22:44:34 +01:00
merry
bdf6e32aed Merge pull request #8569 from merryhime/watchpoints
dynarmic: Abort watchpoints ASAP
2022-07-17 22:41:28 +01:00
bunnei
fcd2f0c02f Merge pull request #8525 from lat9nq/update-sdl
externals/SDL: Update to prerelease-2.23.1
2022-07-17 00:07:20 -07:00
Merry
f719a0a078 dynarmic: Abort watchpoints ASAP 2022-07-15 10:03:30 +01:00
Merry
8cc9ff0ebc externals: Update dynarmic to 6.1.1
Fixes for fast dispatcher
2022-07-12 11:31:08 +01:00
lat9nq
aedb2281e9 externals/SDL: Update to prerelease-2.23.1
This includes a fix needed for building with MSYS2/MinGW.
2022-06-30 18:56:38 -04:00
Liam
0d04631c1f dynarmic: Stop ReadCode callbacks to unmapped addresses 2022-06-21 20:01:43 -04:00
Liam
8d2abc710c core/debugger: memory breakpoint support 2022-06-16 13:18:07 -04:00
Mai
bb0a6faa0a Merge pull request #8383 from Morph1984/shadow-of-the-past
yuzu: Make variable shadowing a compile-time error
2022-06-14 21:08:58 -04:00
Morph
b1e2c97172 externals: Update cpp-httplib to latest 2022-06-14 14:09:51 -04:00
Morph
049eb899e9 externals: microprofileui: Eliminate variable shadowing 2022-06-14 05:52:15 -04:00
Liam
79bf4bc3ff general: fix compilation on MinGW GCC 12 2022-06-13 20:09:32 -04:00
Morph
ebf9030aa0 externals: microprofile: Eliminate variable shadowing 2022-06-13 18:19:23 -04:00
Alexandre Bouvier
a766e7d663 video_core: Support new VkResult 2022-05-17 17:37:10 +02:00
Alexandre Bouvier
9e7973240a sirit: Allow using system spirv-headers 2022-05-14 22:03:23 +02:00
Mai M
bffece2295 Merge pull request #8282 from liamwhite/gcc-12
GCC 12 fixes
2022-04-28 23:28:07 -04:00
Liam
ee4d63cee5 GCC 12 fixes 2022-04-28 16:50:34 -04:00
Morph
a8698cc276 externals: Update libressl to 3.5.2
This resolves compiler errors in Visual Studio 2022.
2022-04-24 14:53:09 -04:00
Liam
4092bde734 Update dynarmic 2022-04-19 15:47:08 -04:00
Fernando S
0bb26a7794 Merge pull request #8148 from merryhime/interrupts
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
merry
f54345590b dynarmic: Better interrupts 2022-04-03 16:39:48 +01:00
merry
6b8047f18b externals: Update dynarmic to 8bcd46b7
* Ensure 128-bit ordered load/stores are atomic
* Always order exclusive load/stores
2022-04-02 19:34:36 +01:00
merry
795b9fc99f externals: Update dynarmic to 9cadab8fa91a63564774ae7dbe74e7c18715f586
Enforce memory ordering for acquire/release instructions.
2022-04-02 18:52:57 +01:00
Andrea Pappacoda
04380c99e8 audio_core: remove time stretcher
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
merry
17c1aeda42 externals: Update dynarmic
IC instructions now check for a need to halt execution
2022-03-27 15:37:06 +01:00
Merry
b55c891399 dynarmic: Accelerate SHA256 and implement for A32 frontend
* Implements hardware acceleration for SHA256 instructions.
 * Adds SHA256 instructions introduced in ARMv8 to A32 frontend.
 * Implements polyfill for processors that do not support hardware
   accelerated SHA instructions.
2022-03-20 14:06:17 +00:00
Fernando S
a4a6aa4b33 Merge pull request #7959 from merryhime/cmpxchg
dynarmic: Inline exclusive memory accesses
2022-03-01 22:50:52 +01:00
Merry
da236f22b3 ffmpeg: Fix mis-maching argument warning for endif 2022-02-28 21:08:12 +00:00
merry
4b709cce07 dynarmic: Update to latest master 2022-02-28 20:10:13 +00:00
merry
3fe2c2d40d dynarmic: Inline exclusive memory accesses
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.

We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.

An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.

See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
de0c647109 externals: Dynarmic: Update to latest rev.
- Fixes inaccurate size reporting in SpaceRemaining, which caused crashes in yuzu with SSBU.
2022-02-26 09:51:41 -08:00
Fernando Sahmkow
b752b3325d Update dynarmic. 2022-02-01 15:31:02 +01:00
Moonlacer
71ae167f3a Update FSR to 1.0.2
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
Valeri
42efbdc492 Improve FFmpeg cmake file
* Fix compilation if CUDA_INCLUDE_DIRS is empty/contains multiple paths
* Pass CMAKE_{C,CXX}_COMPILER_LAUNCHER to ffmpeg compiler
2022-01-22 12:56:25 +03:00
Alexandre Bouvier
4b791bcad7 cmake: make tests optional 2022-01-12 00:36:20 +01:00
liushuyu
5bce65d4ab externals/dynarmic: update to latest revision ...
... to resolve compilation errors with fmt 8.1
2022-01-06 04:06:43 -07:00
bunnei
13f63ec38a Merge pull request #7610 from Tatsh/more-system-libs
Add support for linking against system Opus
2022-01-04 17:32:35 -08:00
Morph
810ca88634 externals: Update dynarmic to 28714ee7
Reduces compilation times on MSVC.
2021-12-30 22:28:27 -05:00
bunnei
d3c26baaf1 Merge pull request #7599 from FernandoS27/primrestart-vulkan
Vulkan: Fix Primitive Restart and implement Logical Operations
2021-12-22 00:19:23 -08:00
Andrew Udvare
60b80eb63d Add support for linking against system opus 2021-12-21 05:05:23 -05:00
bunnei
165de9393f Merge pull request #7587 from liushuyu/fix-linux-decoding
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
2021-12-18 02:33:07 -08:00
Fernando Sahmkow
790bbcb016 Vulkan: Implement VK_EXT_primitive_topology_list_restart 2021-12-18 05:47:48 +01:00
Andrew Udvare
f08afbb11e externals/SDL: update SDL to version with Wayland build fix 2021-12-17 09:38:46 -05:00
Andrew Udvare
df677c8e92 externals/CMakeLists: fix detection/init of Switch controllers in SDL 2.0.18
Enable SDL_THREADS and SDL_ATOMIC
Also set SDL_WAYLAND=OFF due to build issue

Closes #7572
2021-12-16 21:49:39 -05:00
liushuyu
e962e791eb externals/ffmpeg: set the cmake variable twice ...
... to avoid leaving variable undefined in the current scope
2021-12-15 21:17:33 -07:00
liushuyu
9885209b9f externals: fix a regression when using MSVC 2021-12-15 20:57:01 -07:00
liushuyu
f722e83537 video_core/codecs: (re-spin) refactor ffmpeg searching and handling 2021-12-15 20:57:01 -07:00
bunnei
15a4248f46 Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake" 2021-12-15 00:02:53 -08:00
liushuyu
538db2d872 CI: fix CI on Linux 2021-12-13 22:31:19 -07:00
liushuyu
3f9ff5ca17 ffmpeg: move the whole tree into externals/ffmpeg/ffmpeg ...
* this resolves the todo items in the CMakeLists.txt
* a version requirement check for ffmpeg is added to catch issues early
* for future-proof reasons, nasm/yasm is now only required when build on
  x86/AMD64 systems
2021-12-13 17:48:05 -07:00
Mai M
f786bbfde2 Merge pull request #7554 from Tachi107/build-remove-unicorn
build: remove remaining bits of Unicorn
2021-12-13 08:24:47 -05:00
bunnei
42852a6793 Merge pull request #7527 from Tachi107/cubeb-result_of
build: update cubeb and remove the result_of comment
2021-12-12 22:44:05 -08:00
Andrea Pappacoda
d87bd3fd57 build: remove remaining bits of Unicorn
Unicorn has been removed in 5c55f3b585
2021-12-10 12:25:04 +01:00
Narr the Reg
2568d5368f input_common: Update SDL to 2.0.18 2021-12-06 14:48:36 -06:00
Andrea Pappacoda
7daf85271b build: update cubeb and remove the result_of comment
Cubeb doesn't use result_of anymore, it has been dropped in commit
mozilla/cubeb@75d9d125ee
2021-12-06 18:56:43 +01:00
Marshall Mohror
71e8b72b01 Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings 2021-11-16 22:11:33 +01:00
Marshall Mohror
c2f855fb98 Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan 2021-11-16 22:11:32 +01:00
ameerj
c81ced43ae externals: Add only included ffx-fsr headers
The submodule adds a lot of unneeded bloat due its addition of samples that contain large media files that are difficult to compress.
2021-11-16 22:11:31 +01:00
Morph
79620e22e1 externals: Update dynarmic to cce7e4ee 2021-10-12 14:39:16 -04:00
Morph
ca8400ec1d externals: Remove libzip 2021-09-28 23:18:39 -04:00
Merry
1aa44659ce dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS 2021-08-15 19:33:02 +01:00
Merry
891e19ef4c xbyak: Update include path 2021-08-15 19:26:38 +01:00
german77
51d94e7bea externals: Update sdl2 to 2.0.16 2021-08-10 19:16:30 -05:00
Ameer J
3931f05bf1 Merge pull request #6565 from lat9nq/bundle-ffmpeg
cmake, ci: Build bundled FFmpeg with yuzu
2021-08-01 01:34:10 -04:00
ReinUsesLisp
65069df8aa shader: Remove old shader management 2021-07-22 21:51:22 -04:00
ReinUsesLisp
605783f828 spirv: Initial bindings support 2021-07-22 21:51:22 -04:00
ReinUsesLisp
60342eb0c0 shader: Add support for forward declarations 2021-07-22 21:51:22 -04:00
ReinUsesLisp
c4d75e4b78 shader: Initial implementation of an AST 2021-07-22 21:51:22 -04:00
ReinUsesLisp
5ee600cf64 spirv: Initial SPIR-V support 2021-07-22 21:51:22 -04:00
lat9nq
6340c4801f emu_window_sdl2_vk: Use the generated SDL config
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.

This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16 15:43:02 -04:00
lat9nq
cea7e42223 cmake: Specify the compiler on autotools externals
Enables CCache on externals if available.
2021-07-06 12:54:24 -04:00
Ameer J
00232f761a Merge pull request #6459 from lat9nq/ubuntu-fixes
cmake: Improve Linux dependency checking for externals
2021-06-30 21:47:57 -04:00
MerryMage
7fb0dbf195 libusb: Apple is a POSIX system 2021-06-26 20:24:18 +01:00
Lioncash
fe19f98dd0 externals: Update dynarmic to allow fmt compilation to succeed 2021-06-23 09:31:59 -04:00
bunnei
3fb11c6e77 Merge pull request #6499 from FernandoS27/we-were-on-a-break
Update dynarmic and add new unsafe CPU option.
2021-06-21 14:56:08 -07:00
Fernando Sahmkow
1592ec32bc Update dynarmic and add new unsafe CPU option. 2021-06-20 20:40:02 +02:00
Vortex
b0965d25b9 externals: httplib: replace custom httplib header with upstream as submodule.
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2021-06-19 02:18:58 +05:30
Vortex
425cb74238 update submodule discord-rpc to latest [now deprecated] 2021-06-18 23:13:17 +05:30
bunnei
3e33ea27dc Merge pull request #6418 from clementgallet/sdl-audio-backend
Audio: SDL2 audio backend
2021-06-16 21:38:20 -07:00
lat9nq
c902147d82 cmake: Fix find_program usage for 3.15
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is
only available on 3.18 and later. Instead, we check for
"<VAR>-NOTFOUND".

In addition, check for additional requirements before building libusb or
FFmpeg with autotools. Otherwise, CMake configuration will pass yet
compilation will fail.
2021-06-13 01:15:54 -04:00
lat9nq
9e98d307a1 externals: Don't set FOUND or VERSION on LIBUSB
Fixes an issue where libusb.h wouldn't be found when building yuzu on
MSVC.

This only affects the "traditional" CMake pathway for linking libusb to
yuzu AKA MSVC. For autotools we still want to set these variables before
configuring SDL.
2021-06-11 16:57:04 -04:00
Markus Wick
99f6d60a99 core: Make use of fastmem 2021-06-11 17:27:06 +02:00
lat9nq
79090c34bf externals: Update SDL to 2f248a2a 2021-06-11 04:40:16 -04:00
bunnei
78d9caa5df Merge pull request #6407 from lat9nq/fix-libusb-2
cmake: Use autotools for libusb linking generally on GNU, and cleanup
2021-06-10 23:35:30 -07:00
Clément Gallet
34848e5eda Add SDL2 audio backend 2021-06-06 11:28:38 +02:00
ReinUsesLisp
752f3b8d6b externals: Update dynarmic 2021-06-05 15:24:12 -03:00
lat9nq
0033535d4c externals: libusb: Call program names not full paths 2021-06-03 04:53:01 -04:00
lat9nq
cfecc4f2b2 externals: libusb: Link libusb statically on Linux
Turns out that this is possible. Also addresses my own review comment.
2021-06-03 04:38:29 -04:00
lat9nq
21d81ee941 cmake: General improvements to libusb linking
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
2021-06-03 03:49:35 -04:00
lat9nq
de8359be36 cmake: Use autotools to build libusb generally for GNU
Building libusb was also broken on GCC (and maybe Clang) on our
CMakeLists after upgrading to 1.0.24, but it was not being checked
because our 18.04 container had libusb installed on it.
This builds on the MinGW work from earlier and extends it to the rest of
the GNU toolchains. In addition we make use of pkg-config when present
to find libusb. pkg-config is preferrable because we can specify a
minimum required version.
2021-06-03 02:49:53 -04:00
lat9nq
f84b96908e externals: Use defaults for building SDL2 on WIN32
Whatever those settings do breaks controller detection on Windows, at
least with the MinGW container. If-guard it against WIN32 and just let
SDL2 configure using its defaults, aside from static linking.
2021-05-31 15:26:25 -04:00
lat9nq
a075dc1304 externals: libusb: Use autotools for MinGW
After updating to 1.0.24, MinGW fails to build libusb as a result of
numerous errors. So we build libusb their way and let them update the
nontrivial stuff.

This only applies to MinGW: the old path is still in use for Linux
toolchains as well as MSVC.

This will dynamically link libusb, since I hit build errors with the old
way we used to resolve the conflict with SDL2.
2021-05-31 13:57:06 -04:00
bunnei
3ce92348e4 Merge pull request #6344 from german77/update-libusb
Update libusb to 1.0.24
2021-05-30 01:36:46 -07:00
Markus Wick
6203af4169 externals: Update dynarmic.
The new version supports fastmem on a64.
2021-05-29 08:53:01 +02:00
german77
a5720f0747 Update libusb to 1.0.24 2021-05-20 22:10:48 -05:00
Morph
a13ffd5201 Merge pull request #6293 from v1993/master
On Linux, build SDL2 from externals with HIDAPI support
2021-05-16 04:05:42 -04:00
Ameer J
a9c9d56a35 Merge pull request #6300 from Morph1984/mbedtls
externals: Update mbedtls to 8c88150ca
2021-05-13 23:11:32 -04:00
lat9nq
4a4884b4c8 externals: Checkout 79e8d17024 for FFmpeg
6b6b9e593d does not exist on FFmpeg master, and tag n4.3.1 requires
manually fetching all of FFmpeg's tags. `git` reports that the commit
does not exist initially and can be confusing as a result. Instead,
checkout the immediately previous commit from n4.3.1 on their master
branch.
2021-05-13 04:53:59 -04:00
Morph
a0540386e8 externals: Update mbedtls to 8c88150ca 2021-05-11 00:43:04 -04:00
v1993
7057f867a4 Only build SDL2 subsystems that we use
While at it, use better way to enable HIDAPI.
2021-05-10 01:11:54 +03:00
v1993
ed9443a696 On Linux, build SDL2 from externals with HIDAPI support 2021-05-09 18:12:58 +03:00
lat9nq
b7b716ff5e externals: Use SDL2 statically
Building it as a shared library causes issues distributing it to an
AppImage, since linuxdeploy expects the executable to only dynamically
link to system libraries. Additionally, simply dynamically linking to a
library in the binary directory is bound to cause issues.

Solution is to use SDL's CMake switches and build it statically. We also
alias `SDL2` to `SDL2-static` on the external submodule for
compatibility with the rest of the project.
2021-05-09 02:38:46 -04:00
lat9nq
401dfe53fa externals: Update SDL to 107db2d8
In light of 627cb430b4, the SDL submodule also needs updated. Updates
to the same commit used by the SDL package in ext-windows-bin.
2021-05-09 01:36:17 -04:00
lat9nq
c8a26a2cbf cmake: Use SDL 2.0.14 and fix CMake scope issue
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds
a message when switching to the external.

Fixes an error where input_common only links to SDL when SDL2_FOUND is
set, but externals/CMakeLists cannot set that variable to the required
scope. Switch to using ENABLE_SDL2, which we can use since we now
include the SDL source.
2021-04-17 23:42:57 -04:00