Commit graph

246 commits

Author SHA1 Message Date
Kelebek1
05afa94a3b Move time services to new IPC.
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
Liam
c366d8e8d9 core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
Alexandre Bouvier
6d1049366d cmake: prefer system gamemode library 2023-11-30 16:54:00 +01:00
liamwhite
360381aaaf Merge pull request #12227 from jbeich/gamemode
cmake: unbreak build on FreeBSD by re-enabling gamemode
2023-11-30 09:21:19 -05:00
liamwhite
da8676dda1 Merge pull request #12074 from GPUCode/yuwu-on-the-metal
Implement Native Code Execution (NCE)
2023-11-30 09:20:55 -05:00
Jan Beich
93abc60cf7 cmake: sync gamemode conditionals with code after 0fff56e1ef
FAILED: bin/yuzu
ld: error: unable to find library -lgamemode

FAILED: bin/yuzu-cmd
ld: error: undefined symbol: Common::Linux::StartGamemode()
>>> referenced by yuzu.cpp
>>>               src/yuzu_cmd/CMakeFiles/yuzu-cmd.dir/yuzu.cpp.o:(main)

ld: error: undefined symbol: Common::Linux::StopGamemode()
>>> referenced by yuzu.cpp
>>>               src/yuzu_cmd/CMakeFiles/yuzu-cmd.dir/yuzu.cpp.o:(main)
2023-11-30 00:05:11 +01:00
Liam
0fff56e1ef general: conditionally compile gamemode on linux only 2023-11-29 14:26:11 -05:00
amazingfate
c95a560bc3 qt: add cpu_backend configuration 2023-11-26 20:44:07 -05:00
flodavid
6bd3056c52 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
--author=Liam
5e96634f40 common: Add free region manager
* Abstraction for placeholder region tracking in host_memory
2023-11-25 00:46:15 -05:00
GPUCode
d4ff9e191b common: Add libc sigaction hook 2023-11-25 00:46:15 -05:00
Alexandre Bouvier
fc27fd3f02 cmake: prefer system stb headers 2023-10-25 21:47:32 +02:00
Liam
28e25c454f common: add arm64 native clock 2023-10-08 12:54:23 -04:00
Kelebek1
07b63b15ad Reimplement HardwareOpus 2023-09-16 11:56:25 -04:00
liamwhite
4e96b630b4 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
xcfrg
6178343f3f add a compile time option to allow disabling portable mode 2023-09-06 18:53:39 -04:00
Danila Malyutin
7f0de0f204 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
lat9nq
5e52526942 settings: Cleanup
Addresses review feedback

Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-21 10:56:55 -04:00
lat9nq
c0e9075d6b settings,uisettings: Remove leading underscore 2023-07-21 10:56:55 -04:00
lat9nq
a7a32ab8a0 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
lat9nq
e0d6f3435e 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
lat9nq
5a2b7f951d (ui,)settings: Use explicit instantiation
Reduces compile times a tad on clang.
2023-07-21 10:56:54 -04:00
lat9nq
a61beb7123 settings: Split enums to new file 2023-07-21 10:56:07 -04:00
Morph
728048edfe x64: Deduplicate RDTSC usage 2023-06-07 21:44:42 -04:00
Liam
e3c37d97f9 common: link libandroid on android 2023-06-03 00:05:43 -07:00
bunnei
44b082af08 android: Implement SAF support & migrate to SDK 31. (#4) 2023-06-03 00:05:29 -07:00
Morph
d260571440 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
Morph
b203f9d714 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
Liam
156516e399 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Liam
2e637e5519 kernel: avoid signed overflow UB on MSVC 2023-03-07 19:46:48 -05:00
Morph
59b8488e90 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
Morph
f869dabc4a 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
Alexandre Bouvier
e9ec2e4cf0 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
Alexandre Bouvier
8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
Kelebek1
a665621670 Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
Kelebek1
90f546cba4 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Fernando Sahmkow
12a76465b9 MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
ameerj
ff76a433ab 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
ameerj
80c173aba5 common: add make_unique_for_overwrite 2022-12-19 18:07:42 -05:00
Liam
47a89280bf memory: correct semantics of data cache management operations 2022-12-11 12:46:34 -05:00
Alexandre Bouvier
325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
ameerj
fb155dbffc CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
ameerj
bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
Liam
10751ff536 common: add cache management functions 2022-11-12 11:26:56 -05:00
Morph
dc61af8eb1 CMakeLists: Remove redundant warnings
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
Morph
ea5b59b539 CMakeLists: Treat MSVC warnings as errors 2022-10-22 15:02:04 -04:00
Morph
9fba74d245 general: Enforce C4800 everywhere except in video_core 2022-10-22 15:02:04 -04:00
Morph
4bad20dc5f CMakeLists: Remove all redundant warnings
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
Kyle Kienapfel
c16b8f5f59 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
Fernando Sahmkow
19d8ea6bd6 NVDRV: Remake ASGPU 2022-10-06 21:00:52 +02:00