Alexandre Bouvier
8e17b5469f
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
Liam
0cbfdf7ecb
yuzu-cmd: link SDL2 correctly
2022-12-04 10:59:58 -05:00
Liam
18831e0933
vulkan_common: clean up extension usage
2022-12-04 10:55:13 -05:00
liamwhite
f4b5570e7c
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
6d2c597371
externals: update dynarmic, SDL2
2022-12-04 10:12:26 -05:00
Jan Beich
14440b195c
externals: disable xbyak install targets after cbaf642ffe
...
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
75e16547f8
Merge pull request #9300 from ameerj/pch
...
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite
22aff09b33
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
c043ba8467
Merge pull request #9303 from liamwhite/new-vulkan-init
...
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
lat9nq
5ff19890e9
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
5695ae6bdd
externals: Update dynarmic
...
Includes precompiled headers commit
2022-11-29 18:50:49 -05:00
lat9nq
0941ae0b61
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
2956a33463
Vulkan: update initialization
...
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
Liam
cdb2e4eaff
externals: always use LibreSSL on Windows
2022-11-23 10:24:25 -05:00
Liam
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
Merry
344e171cc7
dynarmic: Fix stack misalignment in GenMemory128Accessors
2022-11-19 20:10:26 +00:00
Valeri
fa660190ff
externals: microprofileui: Remove unused variables
...
Allows yuzu to be built with Clang 15
2022-11-16 20:36:43 +03:00
Liam
cbaf642ffe
Initial ARM64 support
2022-11-09 16:58:49 -05:00
Alexandre Bouvier
09a87966e0
cmake: Fix FindPkgConfig
2022-09-20 22:21:52 +02:00
Vamsi Krishna
016fa3ffee
Fix Cmake warning for CMP0077
2022-09-04 13:45:33 +05:30
liamwhite
b99596e312
Merge pull request #8660 from Tachi107/findmodules-pkg-config
...
build: simplify find modules
2022-08-21 13:42:42 -04:00
liamwhite
167d948ce1
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
795ccc058d
vcpkg: Update and update fmt to 9.0.0
2022-08-07 17:02:06 -04:00
Andrea Pappacoda
adc8c03fe4
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
8c933beb48
externals: Update dynarmic to 6.2.3
2022-07-29 23:07:00 +01:00
Andrea Pappacoda
064625ef58
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
58bc6125d7
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
cdb240f3d4
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 01cf05bc75
2022-07-27 12:53:49 +02:00
lat9nq
bf14790f08
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
6c8e456185
Address first part of review comments
2022-07-25 21:59:30 +02:00
FearlessTobi
705f7db84d
yuzu: Add ui files for multiplayer rooms
2022-07-25 21:59:28 +02:00
FearlessTobi
dcfe0a5feb
network: Add initial files and enet dependency
2022-07-25 21:57:14 +02:00
lat9nq
265d1d6979
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
bcd0ca6076
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
f5964fe2a9
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
b4ee3fa39a
externals: Update dynarmic to 6.2.1
...
Fix issue with A64CallbackConfigPass
2022-07-17 22:44:34 +01:00
merry
09300abe92
Merge pull request #8569 from merryhime/watchpoints
...
dynarmic: Abort watchpoints ASAP
2022-07-17 22:41:28 +01:00
bunnei
e4eb7acd49
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
40e39ddd46
dynarmic: Abort watchpoints ASAP
2022-07-15 10:03:30 +01:00
Merry
adc617ccc4
externals: Update dynarmic to 6.1.1
...
Fixes for fast dispatcher
2022-07-12 11:31:08 +01:00
lat9nq
4f847621af
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
1fd194141a
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-21 20:01:43 -04:00
Liam
208ed712f4
core/debugger: memory breakpoint support
2022-06-16 13:18:07 -04:00
Mai
103997ee56
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
7620e1a631
externals: Update cpp-httplib to latest
2022-06-14 14:09:51 -04:00
Morph
8b55f2c615
externals: microprofileui: Eliminate variable shadowing
2022-06-14 05:52:15 -04:00
Liam
ebecdd3a74
general: fix compilation on MinGW GCC 12
2022-06-13 20:09:32 -04:00
Morph
d0328f49f1
externals: microprofile: Eliminate variable shadowing
2022-06-13 18:19:23 -04:00
Alexandre Bouvier
020982508d
video_core: Support new VkResult
2022-05-17 17:37:10 +02:00
Alexandre Bouvier
55b0dda57c
sirit: Allow using system spirv-headers
2022-05-14 22:03:23 +02:00
Mai M
5687bc6e10
Merge pull request #8282 from liamwhite/gcc-12
...
GCC 12 fixes
2022-04-28 23:28:07 -04:00
Liam
709d7fd92c
GCC 12 fixes
2022-04-28 16:50:34 -04:00
Morph
1b0bf6efe9
externals: Update libressl to 3.5.2
...
This resolves compiler errors in Visual Studio 2022.
2022-04-24 14:53:09 -04:00
Liam
75ec9f57a0
Update dynarmic
2022-04-19 15:47:08 -04:00
Fernando S
50192eb4ad
Merge pull request #8148 from merryhime/interrupts
...
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
merry
f8b8af47ad
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
merry
51a8dd4919
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
1f74b25fd1
externals: Update dynarmic to 9cadab8fa91a63564774ae7dbe74e7c18715f586
...
Enforce memory ordering for acquire/release instructions.
2022-04-02 18:52:57 +01:00
Andrea Pappacoda
faf6a9876c
audio_core: remove time stretcher
...
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
merry
3a9a0d9cb3
externals: Update dynarmic
...
IC instructions now check for a need to halt execution
2022-03-27 15:37:06 +01:00
Merry
d1c0cdf4f2
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
e06a133717
Merge pull request #7959 from merryhime/cmpxchg
...
dynarmic: Inline exclusive memory accesses
2022-03-01 22:50:52 +01:00
Merry
c4df0d8cdc
ffmpeg: Fix mis-maching argument warning for endif
2022-02-28 21:08:12 +00:00
merry
ec9689f200
dynarmic: Update to latest master
2022-02-28 20:10:13 +00:00
merry
16784e5bb3
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
ce46aa4721
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
e5c83b5a3e
Update dynarmic.
2022-02-01 15:31:02 +01:00
Moonlacer
fdde08bd01
Update FSR to 1.0.2
...
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
Valeri
f68be36159
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
c8b358dba2
cmake: make tests optional
2022-01-12 00:36:20 +01:00
liushuyu
b590e5572d
externals/dynarmic: update to latest revision ...
...
... to resolve compilation errors with fmt 8.1
2022-01-06 04:06:43 -07:00
bunnei
6af82fd070
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
af89f7683d
externals: Update dynarmic to 28714ee7
...
Reduces compilation times on MSVC.
2021-12-30 22:28:27 -05:00
bunnei
36df305b13
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
78759d98dc
Add support for linking against system opus
2021-12-21 05:05:23 -05:00
bunnei
2030522d86
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
6430fc29a9
Vulkan: Implement VK_EXT_primitive_topology_list_restart
2021-12-18 05:47:48 +01:00
Andrew Udvare
9b3611eb8d
externals/SDL: update SDL to version with Wayland build fix
2021-12-17 09:38:46 -05:00
Andrew Udvare
e610485cd2
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
476637d143
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
3ae9258efe
externals: fix a regression when using MSVC
2021-12-15 20:57:01 -07:00
liushuyu
3f765ea9a4
video_core/codecs: (re-spin) refactor ffmpeg searching and handling
2021-12-15 20:57:01 -07:00
bunnei
2f32133ad5
Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"
2021-12-15 00:02:53 -08:00
liushuyu
dd72e4dce4
CI: fix CI on Linux
2021-12-13 22:31:19 -07:00
liushuyu
f91b6fbbcb
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
4e2fb9e51a
Merge pull request #7554 from Tachi107/build-remove-unicorn
...
build: remove remaining bits of Unicorn
2021-12-13 08:24:47 -05:00
bunnei
a2f842ce54
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
eec9aace60
build: remove remaining bits of Unicorn
...
Unicorn has been removed in fc6db97a09
2021-12-10 12:25:04 +01:00
Narr the Reg
133504b74b
input_common: Update SDL to 2.0.18
2021-12-06 14:48:36 -06:00
Andrea Pappacoda
f4587c596f
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
bb03675485
Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings
2021-11-16 22:11:33 +01:00
Marshall Mohror
dcc5b4f6b0
Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan
2021-11-16 22:11:32 +01:00
ameerj
77b0812d69
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
74a6222b3e
externals: Update dynarmic to cce7e4ee
2021-10-12 14:39:16 -04:00
Morph
5f6cd32c9e
externals: Remove libzip
2021-09-28 23:18:39 -04:00
Merry
af6290ed12
dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS
2021-08-15 19:33:02 +01:00
Merry
1770503185
xbyak: Update include path
2021-08-15 19:26:38 +01:00
german77
fe2e710003
externals: Update sdl2 to 2.0.16
2021-08-10 19:16:30 -05:00
Ameer J
a086ee6a00
Merge pull request #6565 from lat9nq/bundle-ffmpeg
...
cmake, ci: Build bundled FFmpeg with yuzu
2021-08-01 01:34:10 -04:00
ReinUsesLisp
c67d64365a
shader: Remove old shader management
2021-07-22 21:51:22 -04:00