Commit Graph

241 Commits

Author SHA1 Message Date
57a391e71d Merge pull request #12074 from GPUCode/yuwu-on-the-metal
Implement Native Code Execution (NCE)
2023-11-30 09:20:55 -05:00
5eec980a2d general: conditionally compile gamemode on linux only 2023-11-29 14:26:11 -05:00
a76a8fb5fe qt: add cpu_backend configuration 2023-11-26 20:44:07 -05:00
40644d43f7 yuzu: create linux group in general settings
- Create files dedicated to starting and stopping gamemode functions
  - Use them in yuzu and yuzu_cmd modules
2023-11-25 19:30:37 +01:00
29e7d79a86 common: Add free region manager
* Abstraction for placeholder region tracking in host_memory
2023-11-25 00:46:15 -05:00
20011dfeb8 common: Add libc sigaction hook 2023-11-25 00:46:15 -05:00
79ba5d9c26 cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
21bc2c14bc common: add arm64 native clock 2023-10-08 12:54:23 -04:00
67e2d5c28b Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
ce5320c49f Merge pull request #11447 from xcfrg/portable-compile-out
common: add a compile time option to allow disabling portable mode
2023-09-12 09:17:50 -04:00
a02d641042 add a compile time option to allow disabling portable mode 2023-09-06 18:53:39 -04:00
785e480b62 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
267f3c7905 settings: Cleanup
Addresses review feedback

Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
fdbeb84168 settings,uisettings: Remove leading underscore 2023-07-21 10:56:55 -04:00
3f0cc544cf common,yuzu-qt: Avoid explicit instantiation on old clang
Clang versions < 15 have compile issues with explicit instantiation.
Disable it for these versions.
2023-07-21 10:56:55 -04:00
11e7e1b8ce settings: Move some simple data to BasicSetting
Reduces the need for the compiler to duplicate this code, by about
100KB executable size.
2023-07-21 10:56:54 -04:00
04d4b6ab80 (ui,)settings: Use explicit instantiation
Reduces compile times a tad on clang.
2023-07-21 10:56:54 -04:00
88d3de4e85 settings: Split enums to new file 2023-07-21 10:56:07 -04:00
dd12dd4c67 x64: Deduplicate RDTSC usage 2023-06-07 21:44:42 -04:00
b19754c73f common: link libandroid on android 2023-06-03 00:05:43 -07:00
ef605f7d8f android: Implement SAF support & migrate to SDK 31. (#4) 2023-06-03 00:05:29 -07:00
27c33ab73f x64: Add MicroSleep
MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision.
This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield().

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27 17:45:22 -04:00
9971cd1d55 common: Port boost's hash_value implementation
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
2023-03-25 23:52:25 -04:00
fb49ec19c1 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
d45ac00d48 kernel: avoid signed overflow UB on MSVC 2023-03-07 19:46:48 -05:00
1ed49f92dd common: Implement a method to change the Windows timer resolution
This utilizes undocumented NtDll functions to change the current timer resolution from the default of 1ms.
2023-03-05 01:41:28 -05:00
bd09c82521 common: Implement a high resolution steady clock
This implementation provides a consistent, high performance, and high resolution clock where/when std::chrono::steady_clock does not provide sufficient precision.
2023-03-05 01:41:19 -05:00
57fd8b1f45 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
34b1ea9c19 cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
ce0b8d618d Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
80a55c1663 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
18637766ef MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
cfc34dd41d common: Add ScratchBuffer class
This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize
is redundant.
2022-12-19 18:07:51 -05:00
88ba5a7f22 common: add make_unique_for_overwrite 2022-12-19 18:07:42 -05:00
ed37192441 memory: correct semantics of data cache management operations 2022-12-11 12:46:34 -05:00
8e17b5469f cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
5b5612c1cc CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
37bc5118ea CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
70ea1c2000 common: add cache management functions 2022-11-12 11:26:56 -05:00
cae108404a CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
f3c40f4a20 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
e6ab1f673b general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
93297d14d8 CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
40af1111c2 CMake: Try add library "LZ4::lz4_shared" if "lz4::lz4" is unavailable
Right now this looks like a distro specific problem, but we'll have to see.

Over on Gentoo: with lz4 1.9.3 there is a lz4::lz4 library target, with 1.9.4 it's no longer
mentioned in the cmake files provided by the  package. (/usr/lib64/cmake/lz4)

arch and openSUSE have lz4 1.9.4 available so I checked there,
they only have .pc files for pkg-config, so asking for "lz4::lz4" works as usual

MSVC does require "lz4::lz4" to be asked for
2022-10-13 17:23:47 -07:00
feb49c822d NVDRV: Remake ASGPU 2022-10-06 21:00:52 +02:00
b617874724 Common: implement MultiLevelPageTable. 2022-10-06 21:00:51 +02:00
7239470dad cmake: fix git detection 2022-09-18 00:04:35 +02:00
8dafe15600 Merge pull request #8649 from lat9nq/common-position-independent
common: Use PROJECT_SOURCE_DIR to find CMakeModules
2022-09-16 12:48:53 -04:00
7fda6de5cb common: do not link to xbyak on non-amd64 architectures 2022-09-13 17:19:37 -06:00
f80c7c4cd5 core, network: Add ability to proxy socket packets 2022-08-15 20:25:42 +02:00