Wollnashorn
8945fafcc0
config: Set the Vulkan driver pipeline cache option to be global
2023-01-05 21:03:01 +01:00
Wollnashorn
f4626512ff
config: Better wording for VK pipeline cache option and enable by default
2023-01-05 21:03:01 +01:00
Wollnashorn
16809c1fa7
video_core/vulkan: Added VkPipelineCache
to store Vulkan pipelines
...
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.
These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-05 21:02:44 +01:00
Liam
a4269c285a
common: add setting for renderer clock workaround
2023-01-04 22:22:01 -05:00
Fernando Sahmkow
3ecc03ec1b
yuzu-ui: Add setting for disabling macro HLE
2023-01-04 14:56:52 -05:00
Fernando Sahmkow
a0c697124c
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
Fernando Sahmkow
d09aa0182f
MacroHLE: Final cleanup and fixes.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
18637766ef
MacroHLE: Reduce massive calculations on sizing estimation.
2023-01-01 16:43:57 -05:00
Merry
fd1831b65b
host_memory: Use transparent huge pages where available
2023-01-01 11:40:35 +00:00
Merry
4d7be85e73
host_memory: Allocate virtual_base with MAP_NORESERVE
...
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
ameerj
fbc375f0de
fsp_srv: Use ReadBufferSpan
2022-12-25 13:21:15 -05:00
ameerj
c6590ad07b
scratch_buffer: Explicitly defing resize and resize_destructive functions
...
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
ameerj
64869807e2
tests: Add ScratchBuffer tests
2022-12-19 18:08:04 -05:00
ameerj
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
ameerj
88ba5a7f22
common: add make_unique_for_overwrite
2022-12-19 18:07:42 -05:00
Matías Locatti
fd1ea0fd84
Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang ( #9442 )
...
* Testing LTO (#4 )
* Testing LTO
* clang
* linux
* Added the rest of Blinkhawk's optimizations
* Unlikely asserts
* Removing LTO from Linux builds - GCC
* Removing LTO from Linux builds - Clang
2022-12-17 17:16:52 -08:00
Chloe Marcec
c5f519e1e4
Set: Allow setting device nickname
2022-12-13 19:54:17 -05:00
bunnei
339a37f8cb
Merge pull request #9398 from liamwhite/fail
...
general: improve handling of system startup failure
2022-12-12 14:37:42 -08:00
Mai
d5684dbe7d
Merge pull request #9415 from liamwhite/dc
...
memory: correct semantics of data cache management operations
2022-12-11 21:09:31 +00:00
Liam
ed37192441
memory: correct semantics of data cache management operations
2022-12-11 12:46:34 -05:00
Liam
5b837157bd
video_core: Integrate SMAA
...
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
Liam
9704acb982
general: improve handling of system startup failure
2022-12-06 16:13:42 -05:00
merry
e1f5f4bdea
Merge pull request #9370 from liamwhite/break-unmapped
...
core: add option to break on unmapped access
2022-12-06 20:20:20 +00:00
liamwhite
3b19f741bd
Merge pull request #6833 from abouvier/unbundle
...
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
liamwhite
522e7c5663
Merge pull request #9273 from ameerj/per-game-profile
...
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
Alexandre Bouvier
8e17b5469f
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
bunnei
f77cc6c412
Merge pull request #9344 from liamwhite/null
...
video_core: add null backend
2022-12-03 11:23:25 -08: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
Liam
6072b22a0b
core: add option to break on unmapped access
2022-12-02 08:25:45 -05:00
ameerj
5b5612c1cc
CMake: Consolidate common PCH headers
2022-11-30 18:30:30 -05:00
ameerj
3c39c0ac3e
string_util: Fix Mingw compile error
...
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-11-30 18:26:26 -05:00
ameerj
37bc5118ea
CMake: Use precompiled headers
2022-11-29 18:50:49 -05:00
Liam
89dd7dc180
video_core: add null backend
2022-11-28 19:49:09 -05:00
Morph
bbb963a31a
Merge pull request #9339 from lioncash/cacheheader
...
common/cache_management: Amend header includes
2022-11-28 13:12:20 -05:00
Lioncash
c2c9b44749
common/cache_management: Amend header includes
...
Narrows the include in the header to <cstddef>, since that's what houses
size_t's definition, meanwhile the <cstdint> include can be moved into
the cpp file.
2022-11-28 10:19:53 -05:00
Lioncash
2ec7d0b5fd
common/input: Add helpers functions for creating input and output devices
...
Avoids the redundancy of needing to explictly specify the common
namespace and the type.
2022-11-28 10:00:37 -05:00
Lioncash
7f42432f42
common/input: Pass ParamPackage by const reference in CreateDevice
...
This was previously being passed by value, which was unnecessary and
created more allocations than necessary.
2022-11-28 09:11:58 -05:00
bunnei
3ab8d9ac7c
Merge pull request #9276 from goldenx86/fsrSlider
...
FSR Sharpening Slider
2022-11-27 00:13:15 -08:00
Matías Locatti
701ca96827
Oops
2022-11-26 17:39:43 -03:00
Matías Locatti
26211ac339
Replace GLSL as the default OpenGL shader backend
...
GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
2022-11-26 17:27:04 -03:00
lat9nq
b670c350e4
settings: Reset FSR sharpening global state with the others
2022-11-25 22:42:24 -05:00
Matías Locatti
f209e976f4
FSR Sharpening Slider part 1 - only a global slider
2022-11-24 04:22:13 -05:00
Liam
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
ameerj
9efdad6a27
Configuration: Add per-game input profiles
2022-11-20 14:06:31 -05:00
bunnei
1fb33bd1e1
Merge pull request #9234 from liamwhite/data-cash-money
...
kernel: implement data cache management operations
2022-11-18 13:18:36 -08:00
Morph
e5a446a0df
Merge pull request #9229 from Docteh/achy_breaky_heart
...
Add break for default cases
2022-11-17 19:20:18 -05:00
Kyle Kienapfel
6fa3faec65
Add break for default cases
...
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
Liam
70ea1c2000
common: add cache management functions
2022-11-12 11:26:56 -05:00
Matías Locatti
69768ec71e
Add CPU core count to log files
2022-11-11 23:50:48 -03:00
bunnei
d05b183f21
Merge pull request #9198 from liamwhite/arm64
...
Initial ARM64 support
2022-11-10 17:11:27 -08:00
Liam
cbaf642ffe
Initial ARM64 support
2022-11-09 16:58:49 -05:00
Enrico Mancuso
d581a4a367
Add break statement in default cases
...
According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing ) the default cases should have a break statement
default:
// Yes, even break for the last case
break;
2022-11-09 15:34:26 +01:00
Morph
8b4d5aeb4f
concepts: Use the std::contiguous_iterator concept
...
This also covers std::span, which does not have a const iterator.
Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-26 00:41:54 -04:00
liamwhite
77803d96be
Merge pull request #9107 from german77/gidoly_rules
...
input_common: cache vibration tests
2022-10-25 12:13:18 -04:00
Morph
3822e31323
CMakeLists: Disable C4100 and C4324
...
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
Morph
cae108404a
CMakeLists: Remove redundant warnings
...
These warnings are already included in /W3.
2022-10-22 15:02:04 -04:00
Morph
f3c40f4a20
CMakeLists: Treat MSVC warnings as errors
2022-10-22 15:02:04 -04:00
Morph
e6ab1f673b
general: Enforce C4800 everywhere except in video_core
2022-10-22 15:02:04 -04:00
Morph
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
german77
7f66050f0c
input_common: cache vibration tests
2022-10-21 00:24:08 -05:00
Lioncash
6e1c6297a3
fixed_point: Mark default constructor as constexpr
...
Ensures that a fixed-point value is always initialized
This likely also fixes several cases of uninitialized values being
operated on, since we have multiple areas in the codebase where the
default constructor is being used like:
Common::FixedPoint<50, 14> current_sample{};
and is then followed up with an arithmetic operation like += or
something else, which operates directly on FixedPoint's internal data
member, which would previously be uninitialized.
2022-10-18 16:06:50 -04:00
Lioncash
b6119a55f9
fixed_point: Mark copy/move assignment operators and constructors as constexpr
...
Given these are just moving a raw value around, these can sensibly be
made constexpr to make the interface more useful.
2022-10-18 16:06:50 -04:00
Lioncash
0cfd90004b
fixed_point: Mark std::swap and move constructor as noexcept
...
These shouldn't throw and can influence how some standard algorithms
will work.
2022-10-18 16:06:50 -04:00
Lioncash
2cc9d94060
fixed_point: Mark relevant member function [[nodiscard]]
...
Marks member functions as discard, where ignoring the return value would
be indicative of a bug or dead code.
2022-10-18 16:06:50 -04:00
Lioncash
0101ef9fb1
fixed_point: Make to_uint() non-const
...
This calls round_up(), which is a non-const member function, so if a
fixed-point instantiation ever calls to_uint(), it'll result in a
compiler error.
This allows the member function to work.
While we're at it, we can actually mark to_long_floor() as const, since
it's not modifying any member state.
2022-10-18 16:06:50 -04:00
Lioncash
9393f90ccf
fixed_point: Use defaulted comparisons
...
Collapses all of the comparison functions down to a single line.
2022-10-18 16:06:50 -04:00
Lioncash
5000d814af
fixed_point: Use variable templates and concepts where applicable
...
Makes a few things a little less noisy and removes the need for SFINAE
in quite a few functions.
2022-10-18 16:06:46 -04:00
bunnei
8649c46c74
Merge pull request #9054 from Docteh/just_lz4
...
CMake: Try add_library "lz4" if "lz4::lz4" is unavailable
2022-10-17 22:51:26 -07:00
Morph
88ccdaf10a
fixed_point: Replace CONSTEXPR14 with constexpr
...
As we require the latest C++ standards to compile yuzu, checking for C++14 constexpr is not needed.
2022-10-17 03:16:54 -04:00
Morph
bffbaddb79
general: Add missing pragma once
2022-10-17 03:14:31 -04:00
Kyle Kienapfel
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
Morph
e2164f3417
settings: Update aspect_ratio range
...
Since 16:10 was added, the maximum value is now 4.
2022-10-13 12:24:04 -04:00
german77
224a19758e
input_common: have an unique vector in callback status
2022-10-09 12:49:18 -05:00
Fernando Sahmkow
ca3db0d7c9
General: address feedback
2022-10-06 21:00:54 +02:00
Liam
c80ed6d81f
general: rework usages of UNREACHABLE macro
2022-10-06 21:00:54 +02:00
Morph
11e1cbbdbd
address_space: Rename va_start to virt_start
...
Avoids conflicting with the va_start macro
2022-10-06 21:00:54 +02:00
Morph
fa342cae22
address_space: Address feedback
2022-10-06 21:00:54 +02:00
Morph
fedd983f96
general: Format licenses as per SPDX guidelines
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
fe24c65153
General: Fix clang format.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
1a9b71b1c6
Common: Fix variable shadowing.
2022-10-06 21:00:53 +02:00
Liam White
afab6c143c
General: Fix compilation for GCC
2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86
DMA & InlineToMemory Engines Rework.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
4d60410dd9
MemoryManager: initial multi paging system implementation.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
e462191482
Refactor VideoCore to use AS sepparate from Channel.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
feb49c822d
NVDRV: Remake ASGPU
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
cbaf3fb433
VideoCore: Update MemoryManager
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
b617874724
Common: implement MultiLevelPageTable.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
3cbe352c18
NVDRV: Refactor and add new NvMap.
2022-10-06 21:00:51 +02:00
Liam
35d3e7db2a
common: remove "yuzu:" prefix from thread names
2022-10-03 18:43:56 -04:00
german77
3ce0ef04dd
service: nfp: address comments
2022-10-02 12:32:26 -05:00
german77
e8d71712e7
input_common: Create virtual amiibo driver
2022-10-02 12:32:26 -05:00
bunnei
465c46387d
Merge pull request #8920 from abouvier/cmake-git
...
cmake: fix git detection
2022-09-24 23:11:45 -07:00
lat9nq
89af4bfba8
yuzu qt: Add option to disable startup Vulkan check
...
The startup check apparently confuses other programs when yuzu launches
2 processes and then quickly closes one of them. Though this isn't
really our issues it's also not a big deal for me to add an option to
work around that issue.
2022-09-19 14:46:12 -04:00
Alexandre Bouvier
7239470dad
cmake: fix git detection
2022-09-18 00:04:35 +02:00
bunnei
9c32f29af1
Merge pull request #8650 from Kelebek1/vsync
...
[Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy
2022-09-17 11:10:54 -07:00
Morph
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
Morph
44ccec7846
Merge pull request #8682 from lat9nq/dumpy
...
yuzu qt: Add option to create Windows crash dumps
2022-09-16 12:47:51 -04:00
liushuyu
7fda6de5cb
common: do not link to xbyak on non-amd64 architectures
2022-09-13 17:19:37 -06:00
bunnei
a967c41fa0
Merge pull request #8864 from german77/toggle_analog
...
input_common: Add support for analog toggle
2022-09-09 20:54:01 -07:00
lat9nq
0cef3b47f3
Merge pull request #8819 from liamwhite/cash-money
...
video_core: add option for pessimistic flushing
2022-09-08 22:46:58 -04:00
Narr the Reg
2898be69f4
input_common: Add support for analog toggle
2022-09-06 11:21:28 -05:00
lat9nq
f958cbc737
yuzu: Use a debugger to generate minidumps
...
yuzu: Move mini_dump out of core
startup_checks: Better exception handling
2022-09-04 21:36:04 -04:00
bunnei
5addff8d59
Merge pull request #8822 from FearlessTobi/multiplayer-fixes
...
network: Fixes and improvements to the room feature
2022-09-02 10:24:32 -07:00
Kelebek1
f294b886db
Silence std::aligned_storage warnings as it's deprecated in C++23,
...
replace it with alignas() and a C array
2022-09-01 16:50:41 +01:00
FearlessTobi
839e1faf49
yuzu: Display current game version in multiplayer room
...
Makes it easier for users to recognize connection errors caused by different game versions.
2022-08-27 03:31:17 +02:00
Liam
db3eb168cd
video_core: add option for pessimistic flushing
2022-08-25 12:32:14 -04:00
liamwhite
064f836d1c
Merge pull request #8784 from Docteh/nosnek
...
code: dodge PAGE_SIZE #define
2022-08-21 12:59:01 -04:00
Kyle Kienapfel
14e9de6678
code: dodge PAGE_SIZE #define
...
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable
Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`
PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix
Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive
Core::Memory 12 bits (4096)
QueryCacheBase 12 bits
ShaderCache 14 bits (16384)
TextureCache 20 bits (1048576, or 1MB)
Fixes #8779
2022-08-19 16:08:40 -07:00
liushuyu
b00df08145
common: remove unneeded x86-specific header
2022-08-16 15:19:57 -06:00
FearlessTobi
bb84f53539
Make copyright headers SPDX-compliant
2022-08-15 20:25:42 +02:00
FearlessTobi
f80c7c4cd5
core, network: Add ability to proxy socket packets
2022-08-15 20:25:42 +02:00
Kelebek1
b25090d960
Allow audio volume up to 200%
2022-08-12 16:57:29 +01:00
Kelebek1
83a24ad638
Make coretiming waiting more accurate
2022-08-02 01:01:54 -04:00
lat9nq
260430c849
common: Use PROJECT_SOURCE_DIR to find CMakeModules
...
Fixes CMake configuration when yuzu is a submodule of another project.
2022-08-01 23:18:56 -04:00
Liam
ec64a94954
common: move forwarded value into SPSCQueue
2022-07-29 15:41:57 -04:00
Maide
2e46110379
Revert Coretiming PRs 8531 and 7454 ( #8591 )
2022-07-27 19:47:06 -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
FearlessTobi
61ce57b524
network, yuzu: Make copyright headers SPDX-compliant
2022-07-25 21:59:31 +02:00
FearlessTobi
6a2dcc8b3d
network, yuzu: Improve variable naming and style consistency
2022-07-25 21:59:31 +02:00
german77
899c8bb330
common: multiplayer: Use GameInfo type
2022-07-25 21:59:31 +02:00
FearlessTobi
4b404191cf
Address second part of review comments
2022-07-25 21:59:30 +02:00
FearlessTobi
7c3d241f0d
common, core: fix -Wmissing-field-initializers
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
Narr the Reg
403bdc4daf
yuzu: Add webcam support and rebase to latest master
2022-07-23 19:40:25 -05:00
german77
f19e7be6e8
input_common: Add camera driver
2022-07-23 19:38:42 -05:00
liamwhite
97729fd8e9
Merge pull request #8545 from Kelebek1/Audio
...
Project Andio
2022-07-23 15:20:39 -04:00
lat9nq
4b93ea59db
ci,CMake: Drop Conan support for vcpkg
...
Between packages breaking, Conan always being a moving target for
minimum required CMake support, and now their moves to Conan 2.0 causing
existing packages to break, I suppose this was a long time coming. vcpkg
isn't without its drawbacks, but at the moment it seems easier on the
project to use for external packages.
Mostly removes the logic for Conan from the root CMakeLists file,
leaving basic find_package()'s in its place. Sets only the
find_package()'s that require CONFIG mode as necessary. clang and linux
CI now use the vcpkg toolchain file configured in the Docker container
when possible.
mingw CI turns off YUZU_TESTS because there's no way on the container to
run Windows executables on a Linux host anyway, and it's not easy to get
Catch2 there.
2022-07-22 20:54:00 -04:00
Kelebek1
458da8a948
Project Andio
2022-07-22 01:11:32 +01:00
bunnei
ba8ea95624
Merge pull request #8508 from yuzu-emu/mc-speed-limit
...
hle: service: nvflinger: Factor speed limit into frame time calculation.
2022-07-17 13:59:52 -07:00
bunnei
8ca8281f4f
Merge pull request #8543 from BreadFish64/use_tsc_from_caps
...
common/x64: Use TSC clock rate from CPUID when available
2022-07-16 23:14:38 -07:00
bunnei
02282477e7
yuzu: settings: Remove framerate cap and merge unlocked framerate setting.
...
- These were all somewhat redundant.
2022-07-16 23:11:39 -07:00
bunnei
7d66f8339e
Merge pull request #8593 from merryhime/ranged-setting-T
...
common/setting: Make ranged a property of the type
2022-07-16 15:32:52 -07:00
bunnei
87bb44830b
Merge pull request #8511 from german77/hbmenu
...
service: ptm: Add TS, nifm: Stub GetInternetConnectionStatus
2022-07-16 11:30:56 -07:00
bunnei
93a4ca11fa
Merge pull request #8560 from liamwhite/bitfield-may-alias
...
common: fix bitfield aliasing on GCC/Clang
2022-07-15 22:16:52 -07:00
merry
99fbdaf75b
common/setting: Make ranged a property of the type
...
- Avoids new GCC 12 warnings when Type is of form std::optional<T>
- Makes more sense this way, because ranged is not a property which would change over time
2022-07-15 18:45:55 +01:00
Merry
914ead075e
common_funcs: Mark padding as [[maybe_unused]]
2022-07-15 10:34:38 +01:00
Liam
a1c1ad096d
common: fix bitfield aliasing on GCC/Clang
2022-07-09 22:43:45 -04:00
Morph
ec4cba9de8
Merge pull request #8522 from lat9nq/consolidate-settings
...
settings: Consolidate RangedSetting's with regular ones
2022-07-07 01:22:01 -04:00
Marshall Mohror
e71d457af9
guard against div-by-zero
2022-07-06 13:00:00 -05:00
Marshall Mohror
b2ad4dd189
common/x64: Use TSC clock rate from CPUID when available
...
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
2022-07-06 12:42:01 -05:00
Liam
ed0319cfed
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
lat9nq
ca36722a54
settings: Consolidate RangedSetting's with regular ones
...
The latest git version of GCC has issues with my diamond inheritance
shenanigans. Since that's now two compilers that don't like it I thought
it'd be best to just axe all of it and just have the two templates like
before.
This rolls the features of BasicRangedSetting into BasicSetting, and
likewise RangedSetting into Setting. It also renames them from
BasicSetting and Setting to Setting and SwitchableSetting respectively.
Now longer name corresponds to more complex thing.
2022-06-30 12:39:48 -04:00
Fernando Sahmkow
3196d957b0
Adress Feedback.
2022-06-30 10:18:56 +02:00
german77
c0264d2121
service: ptm: Rewrite PSM and add TS
2022-06-28 19:22:46 -05:00
Fernando Sahmkow
2575a93dc6
Native clock: Use atomic ops as before.
2022-06-28 22:42:00 +02:00
Fernando Sahmkow
f5c1d7b8c8
Native Clock: remove inaccuracy mask.
2022-06-28 01:47:00 +02:00
Fernando Sahmkow
9cafb0d912
Core: Fix tests.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
a2d29412cb
Core/Common: Corrections to core timing and add critical priority.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
096366ead5
Common: improve native clock.
2022-06-28 01:06:48 +02:00
bunnei
737c446fc1
Merge pull request #8432 from liamwhite/watchpoint
...
core/debugger: memory breakpoint support
2022-06-21 16:04:57 -07:00
Morph
a33e7c13fa
Merge pull request #8472 from german77/tace
...
common: param_package: Demote DEBUG to TRACE for getters
2022-06-16 16:43:32 -04:00
Liam
208ed712f4
core/debugger: memory breakpoint support
2022-06-16 13:18:07 -04:00
Narr the Reg
d1f2f5f146
common: param_package: Demote DEBUG to TRACE for getters
2022-06-16 10:27:59 -05:00
liamwhite
0ae4eae9a6
Merge pull request #8460 from Morph1984/bounded-q
...
bounded_threadsafe_queue: Use constexpr capacity and mask
2022-06-15 19:39:22 -04:00
Morph
25429998e3
bounded_threadsafe_queue: Use constexpr capacity and mask
...
While this is the primary change, we also:
- Remove the mpsc namespace and rename Queue to MPSCQueue
- Make Slot a private struct within MPSCQueue
- Remove the AlignedAllocator template argument, as we use std::allocator
- Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
2022-06-15 16:59:13 -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
Liam
feaf010fa2
common/assert: rework ASSERT handling to avoid std::function usage
2022-06-13 20:09:32 -04:00
Liam
a29ddcee40
common/assert: add unlikely
2022-06-13 20:09:32 -04:00
Liam
58fea44eb5
common: Don't test ASSERT conditions inline
2022-06-13 20:09:00 -04:00
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
Morph
c1bd602e4c
common: Eliminate variable shadowing
...
GCC/Clang treats variables within lambdas as potentially shadowing those outside the lambda, despite them not being captured inside the lambda's capture list.
2022-06-13 18:19:22 -04:00
bunnei
5282efac1b
Merge pull request #8413 from behunin/bounded-queue
...
gpu_thread: Move to bounded queue
2022-06-11 00:07:18 -07:00
bunnei
ae83d5c6d3
Merge pull request #8393 from lat9nq/default-vulkan
...
general: Set renderer_backend's default to Vulkan
2022-06-11 00:06:59 -07:00
Liam
3c313a43fd
common: consolidate ELF structure definitions
2022-06-05 09:42:05 -04:00
Levi Behunin
4dd6bcd206
gpu_thread: Move to bounded queue
2022-06-02 19:37:46 -06:00
Liam
fb4b3c127f
core/debugger: Implement new GDB stub debugger
2022-06-01 00:01:25 -04:00
lat9nq
5799fa4d7d
settings: Set Vulkan to the default renderer backend
2022-05-29 21:38:36 -04:00
bunnei
d879741ec6
Merge pull request #8374 from german77/asnycvibrations
...
input_common: Make vibration request async
2022-05-28 00:55:53 -07:00
lat9nq
0e5a6676c3
path_util: Resolve -Wpointer-bool-conversion
warning
...
Clang (rightfully) warns that we are checking for the existence of
pointer to something just allocated on the stack, which is always true.
Instead, check whether GetModuleFileNameW failed.
Co-authored-by: Mai M <mathew1800@gmail.com>
2022-05-26 19:01:26 -04:00
Narr the Reg
bf948b5790
input_common: Make vibration request async
2022-05-23 12:25:02 -05:00
lat9nq
ffd3afcf2f
string_util: Add U16StringFromBuffer
...
Qt's QString::toStdU16String doesn't work when compiling against the
latest libstdc++, at least when using Clang. This function effectively
does the same thing as the aforementioned one.
2022-05-15 18:06:33 -04:00
Fernando Sahmkow
5562ae9cc5
VideoCore: Add option to dump the macros.
...
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2022-05-08 21:37:34 -04:00
Mai M
ca28b447ac
Merge pull request #8280 from Tachi107/spdx-fixup
...
chore: add missing SPDX tags
2022-04-28 23:28:42 -04:00
Liam
709d7fd92c
GCC 12 fixes
2022-04-28 16:50:34 -04:00
Andrea Pappacoda
01cf05bc75
chore: add missing SPDX tags
...
Follow-up to 99ceb03a1c
2022-04-28 18:24:11 +02:00
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
german77
d2f9412cf1
yuzu: Add custom ringcon configuration
2022-04-16 00:49:26 -05:00
bunnei
8deaac8bd1
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
Merry
c589db6add
common: Replace lock_guard with scoped_lock
2022-04-07 19:30:55 +01:00
Fernando S
a02fd4cddd
Merge pull request #8143 from merryhime/rdtsc
...
native_clock: Use lfence with rdtsc
2022-04-07 16:17:45 +02:00
Liam
0cfcee95c7
service: jit: stub JIT service
2022-04-06 20:07:01 -04:00
bunnei
f114436120
Merge pull request #8089 from merryhime/paranoia
...
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
Merry
4052bfb4ad
native_clock: Internal linkage for FencedRDTSC
...
__forceinline required on MSVC for function to be inlined
2022-04-03 22:38:12 +01:00
merry
fdd4d019ef
native_clock: Use lfence with rdtsc
2022-04-03 22:38:10 +01:00
merry
979e53b87b
native_clock: Use writeback from CAS to avoid double-loading
2022-04-02 22:22:48 +01:00
merry
084bd225dc
atomic_ops: Implement AtomicCompareAndSwap with writeback
2022-04-02 22:22:48 +01:00
Merry
c562c1d6be
native_clock: Use AtomicLoad128
2022-04-02 20:55:36 +01:00
Merry
b4746529e1
atomic_ops: Implement AtomicLoad128
2022-04-02 20:55:36 +01:00
merry
3c8547160d
configuration: Add Paranoid CPU accuracy level
...
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
4d9488033f
hle: nvflinger: Merge Rect with Common::Rectangle.
2022-03-24 18:13:33 -07:00
bunnei
0704b645df
common: logging: Add a logger for NVFlinger.
2022-03-24 18:13:32 -07:00
ameerj
866b7c20a8
general: Fix clang/gcc build errors
2022-03-20 02:25:09 -04:00
ameerj
923decae5a
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
8a8ea65fae
common: Reduce unused includes
2022-03-19 02:23:33 -04:00
bunnei
0fdf1d2a60
common: tree: Various updates.
2022-03-14 18:14:53 -07:00
bunnei
69c2faeb6a
common: intrusive_red_black_tree: Various updates.
2022-03-14 18:14:53 -07:00
Wunkolo
d248c1203e
cpu_detect: Add additional x86 flags and telemetry
...
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output.
This is not exhaustive but guided by features that [dynarmic utilizes](bcfe377aaa/src/dynarmic/backend/x64/host_feature.h (L12-L33)
) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations.
AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions ) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI ) are added to have some forward-facing data-points.
What used to be a single `CPU_Extension_x64_AVX512` telemetry field
is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
2022-03-11 10:27:00 -08:00
Wunkolo
29a7a61806
common/telemetry: Update AddField
name type to string_view
...
Non-owning `string_view` is flexable and
avoids some of the many redundant copies made over `std::string`
2022-03-11 10:26:59 -08:00
Merry
22f50c6bc1
backend: Ensure backend_thread is destructed before message_queue
...
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2022-03-10 10:49:15 +00:00