Commit Graph

543 Commits

Author SHA1 Message Date
3a9a0d9cb3 externals: Update dynarmic
IC instructions now check for a need to halt execution
2022-03-27 15:37:06 +01:00
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
e06a133717 Merge pull request #7959 from merryhime/cmpxchg
dynarmic: Inline exclusive memory accesses
2022-03-01 22:50:52 +01:00
c4df0d8cdc ffmpeg: Fix mis-maching argument warning for endif 2022-02-28 21:08:12 +00:00
ec9689f200 dynarmic: Update to latest master 2022-02-28 20:10:13 +00:00
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
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
e5c83b5a3e Update dynarmic. 2022-02-01 15:31:02 +01:00
fdde08bd01 Update FSR to 1.0.2
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
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
c8b358dba2 cmake: make tests optional 2022-01-12 00:36:20 +01:00
b590e5572d externals/dynarmic: update to latest revision ...
... to resolve compilation errors with fmt 8.1
2022-01-06 04:06:43 -07:00
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
af89f7683d externals: Update dynarmic to 28714ee7
Reduces compilation times on MSVC.
2021-12-30 22:28:27 -05:00
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
78759d98dc Add support for linking against system opus 2021-12-21 05:05:23 -05:00
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
6430fc29a9 Vulkan: Implement VK_EXT_primitive_topology_list_restart 2021-12-18 05:47:48 +01:00
9b3611eb8d externals/SDL: update SDL to version with Wayland build fix 2021-12-17 09:38:46 -05:00
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
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
3ae9258efe externals: fix a regression when using MSVC 2021-12-15 20:57:01 -07:00
3f765ea9a4 video_core/codecs: (re-spin) refactor ffmpeg searching and handling 2021-12-15 20:57:01 -07:00
2f32133ad5 Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake" 2021-12-15 00:02:53 -08:00
dd72e4dce4 CI: fix CI on Linux 2021-12-13 22:31:19 -07:00
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
4e2fb9e51a Merge pull request #7554 from Tachi107/build-remove-unicorn
build: remove remaining bits of Unicorn
2021-12-13 08:24:47 -05:00
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
eec9aace60 build: remove remaining bits of Unicorn
Unicorn has been removed in fc6db97a09
2021-12-10 12:25:04 +01:00
133504b74b input_common: Update SDL to 2.0.18 2021-12-06 14:48:36 -06:00
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
bb03675485 Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings 2021-11-16 22:11:33 +01:00
dcc5b4f6b0 Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan 2021-11-16 22:11:32 +01:00
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
74a6222b3e externals: Update dynarmic to cce7e4ee 2021-10-12 14:39:16 -04:00
5f6cd32c9e externals: Remove libzip 2021-09-28 23:18:39 -04:00
af6290ed12 dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS 2021-08-15 19:33:02 +01:00
1770503185 xbyak: Update include path 2021-08-15 19:26:38 +01:00
fe2e710003 externals: Update sdl2 to 2.0.16 2021-08-10 19:16:30 -05:00
a086ee6a00 Merge pull request #6565 from lat9nq/bundle-ffmpeg
cmake, ci: Build bundled FFmpeg with yuzu
2021-08-01 01:34:10 -04:00
c67d64365a shader: Remove old shader management 2021-07-22 21:51:22 -04:00
b5d7279d87 spirv: Initial bindings support 2021-07-22 21:51:22 -04:00
1b0cf2309c shader: Add support for forward declarations 2021-07-22 21:51:22 -04:00
9170200a11 shader: Initial implementation of an AST 2021-07-22 21:51:22 -04:00
2930dccecc spirv: Initial SPIR-V support 2021-07-22 21:51:22 -04:00
d3748cad73 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
ef70054367 cmake: Specify the compiler on autotools externals
Enables CCache on externals if available.
2021-07-06 12:54:24 -04:00
bab400daaf Merge pull request #6459 from lat9nq/ubuntu-fixes
cmake: Improve Linux dependency checking for externals
2021-06-30 21:47:57 -04:00
f54f29198f libusb: Apple is a POSIX system 2021-06-26 20:24:18 +01:00
c3fe071723 externals: Update dynarmic to allow fmt compilation to succeed 2021-06-23 09:31:59 -04:00