Fernando S
5192c64991
Merge pull request #7973 from Morph1984/debug-crash
...
host_memory: Fix fastmem crashes in debug builds
3 years ago
bunnei
a31c195749
Merge pull request #7935 from Wunkolo/logging-join-fix
...
logging: Convert `backend_thread` into an `std::jthread`
3 years ago
Morph
b33f23cc46
host_memory: Fix fastmem crashes in debug builds
...
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
3 years ago
Wunkolo
913c2bd2cb
logging: Convert `backend_thread` into an `std::jthread`
...
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join ) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread ) in the case that `StartBackendThread` was never called.
3 years ago
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
3 years ago
bunnei
70482e6b26
settings: Add a new "use_extended_memory_layout" setting.
...
- This will be used to enable emulation of a larger memory arrangement.
3 years ago
bunnei
92b2e92620
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
3 years ago
bunnei
1a16d055df
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
3 years ago
Wunkolo
768fdb269e
common: Add NullVisitor default constructor
...
Addresses https://github.com/yuzu-emu/yuzu/issues/7881 to fix linux
builds.
`YUZU_NON_COPYABLE` deletes the `T(const T&)` constructor which will
cause the implicitly defined default ctor/dtor to no-longer generate.
3 years ago
bunnei
027ff7847c
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
3 years ago
Morph
4390370a19
common: fs_util: Add buffer to string view utility functions
...
These functions allow to construct a string view from an input buffer, avoiding the copy done by the non string view counterparts. However, callers must be cognizant of the viewed buffer's lifetime to avoid a use-after-free.
3 years ago
Narr the Reg
6705439cf3
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
3 years ago
Morph
3799c820ca
common: uuid: Use sizeof(u64) instead of 8 in Hash()
3 years ago
Morph
ec4d7f71fe
common: uuid: Return an invalid UUID if conversion from string fails
...
The string constructor of UUID states:
Should the input string not meet the above requirements, an assert will be triggered and an invalid UUID is set instead.
3 years ago
Morph
25db62ce15
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
3 years ago
Morph
d94dcaefa0
common: uuid: Add AsU128()
...
This copies the internal bytes of the UUID into a u128 for backwards compatibility. This should not be used.
3 years ago
Morph
cb30fe50cd
input/hid: Migrate to the new UUID implementation
3 years ago
Morph
3271099fea
common: Implement NewUUID
...
This is a fixed and revised implementation of UUID that uses an array of bytes as its internal representation of a UUID instead of a u128 (which was an array of 2 u64s).
In addition to this, the generation of RFC 4122 Version 4 compliant UUIDs is also implemented.
3 years ago
Lioncash
ade44ac2ea
common_types: Remove NonCopyable struct
...
Now that we're moved over to the YUZU_ defines, we can get rid of this
struct.
3 years ago
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
3 years ago
bunnei
72add82ee9
Merge pull request #7807 from german77/moar-buttons
...
input_common: Add home and hard touch press buttons to UDP controllers
3 years ago
bunnei
50e9ba34b4
Merge pull request #7809 from Morph1984/clock-constants
...
common: wall_clock: Utilize constants for ms, us, and ns ratios
3 years ago
Lioncash
8f32bab4c9
common/file: Remove [[nodiscard]] from Open()
...
Since this has a void return value, there's nothing that can actually be
used.
3 years ago
Morph
6267110b69
common: wall_clock: Check precision against the emulated CPU and CNTFRQ
...
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
3 years ago
Morph
4e766280c4
common: wall_clock: Utilize constants for ms, us, and ns ratios
3 years ago
german77
3d2d77eb3f
input_common: Add home and hard touch press buttons to UDP controllers
3 years ago
Morph
11099dda2e
Merge pull request #7791 from german77/wall_clock
...
wall_clock: Use standard wall clock if rtsc frequency is too low
3 years ago
german77
e4c63d432d
wall_clock: use standard wall clock if rtsc frequency is too low
3 years ago
Lioncash
f6a049337e
common/xbyak_api: Make BuildRegSet() constexpr
...
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
3 years ago
german77
b998aa5504
yuzu: Add setting to disable controller navigation
3 years ago
bunnei
ef7c50b276
Merge pull request #7695 from Morph1984/is-pow2
...
common: bit_util: Add IsPow2 helper function
3 years ago
bunnei
eceee8e5f4
Merge pull request #7725 from german77/mouse_in_motion
...
input_common: Reintroduce motion from mouse and use button names
3 years ago
german77
9eab07f863
input_common: Reintroduce motion from mouse and use button names
3 years ago
bunnei
f6de57c1a5
common: fiber: YieldTo: Avoid hard crash on nullptr previous_fiber.
...
- When the emulator crashes to desktop below, we don't even get this captured in a log, making such issues harder to debug.
3 years ago
Morph
d92b5fc435
common: bit_util: Add IsPow2 helper function
...
Makes use of std::has_single_bit() to check whether the value is a power of 2.
3 years ago
liushuyu
09f4f3f23b
logging/log.h: move enum class formatter to a separate file ...
...
... to common/logging/formatter.h
3 years ago
liushuyu
099dd0c0d2
logging/log: use `underlying_type` instead of hardcoding types
3 years ago
liushuyu
42f653ab6f
logging: adapt to changes in fmt 8.1
3 years ago
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
3 years ago
Andrew Udvare
caf38725ae
Allow overriding SCM version info
...
If the build is from a non-repository, these functions will return empty. This
patch allows using defines to CMake to set version info such as
-DGIT_BRANCH=master.
3 years ago
Mai M
019ae82c94
Merge pull request #7558 from Morph1984/unused-cpu-family-model
...
common/cpu_detect: Remove CPU family and model
3 years ago
Lioncash
e05d2a70b2
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
3 years ago
Morph
4af413623b
common/cpu_detect: Remove CPU family and model
...
We currently do not make use of these fields, remove them for now.
3 years ago
Lioncash
54eafbaf17
common/input: Remove unnecessary returns
...
Given these return void, these can be omitted.
3 years ago
Lioncash
985599e485
input_engine: Pass LedStatus by const reference
...
Avoids copies where reasonably applicable
3 years ago
Lioncash
38f3442ea5
input_engine: Pass VibrationStatus by const reference in SetRumble()
...
Avoids creating copies of the struct where not necessary.
3 years ago
bunnei
5f7e73c74a
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
3 years ago
german77
ac1bfe228f
service/notif: Add notif:a and stub ListAlarmSettings,Initialize
...
Used by ring fit adventure 1.2.0
3 years ago
ameerj
41aec2773f
general: Add missing copyright notices
3 years ago
Morph
f919498f8f
native_clock: Wait for less time in EstimateRDTSCFrequency
...
In my testing, waiting for 200ms provided the same level of precision as the previous implementation when estimating the RDTSC frequency.
This significantly improves the yuzu executable launch times since we reduced the wait time from 3 seconds to 200 milliseconds.
3 years ago
Morph
762b8ad448
general: Replace high_resolution_clock with steady_clock
...
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
3 years ago
german77
51df96b7c0
settings: Add debug setting to enable all controllers
3 years ago
german77
182cd9004f
config: Remove vibration configuration
3 years ago
Narr the Reg
639402850a
input_common: Fully implement UDP controllers
3 years ago
german77
746c85b560
input_common: Move button names to the frontend
3 years ago
german77
654d76e79e
core/hid: Fully implement native mouse
3 years ago
german77
bca299e8e0
input_common: Allow keyboard to be backwards compatible
3 years ago
german77
b673857d7d
core/hid: Improve accuracy of the keyboard implementation
3 years ago
german77
84c58666a4
config: Cleanup and documentation
3 years ago
german77
157e0b85fd
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
3 years ago
german77
136eb9c4c2
core/hid: Fully emulate motion from button
3 years ago
german77
77fa4d4bf6
second commit lion review
3 years ago
german77
730f078302
settings: Fix Debug controller type options
3 years ago
german77
2b1b0c2a30
kraken: Address comments from review
...
start lion review
3 years ago
german77
c085e54316
core/hid: Add TAS input
3 years ago
german77
c6c32daf40
input_common: Add manual update options to input devices
3 years ago
german77
c3ff0a8ac0
core/hid: Fix rumble too strong at 1%
3 years ago
german77
601ac43495
core/hid: Only signal when needed
3 years ago
german77
06a5ef5874
core/hid: Add output devices
3 years ago
german77
6e2c84042d
settings: Cleanup settings
3 years ago
german77
ad5142ac2c
common: Rewrite and move core/frontend/input.h to common
3 years ago
Kewlan
8e3371a5c5
configure_general: Allow framerate cap to be used in custom game configs
3 years ago
Fernando Sahmkow
da2fe81905
TextureCache: Refactor and fix linux compiling.
3 years ago
Fernando Sahmkow
282e04bffb
TextureCache: Add automatic anisotropic filtering and refactor code.
3 years ago
Fernando Sahmkow
a96c9c803b
Yuzu UI: Add button for Anti Alias
3 years ago
Marshall Mohror
510caeefb3
Settings: Add anti-aliasing method setting
3 years ago
FernandoS27
2eff80b47f
QtGUI: Add buttton to toggle the filter.
3 years ago
FernandoS27
9e065b9c7d
VideoCore: Add gaussian filtering.
3 years ago
FernandoS27
e7fc60406e
VideoCore: Add more rescaling option.
3 years ago
Fernando Sahmkow
4ad22c7d2b
Video Core: fix building for GCC.
3 years ago
Fernando Sahmkow
b60966041c
Presentation: add Nearest Neighbor filter.
3 years ago
Marshall Mohror
37cb0377ae
vulkan: Implement FidelityFX Super Resolution
3 years ago
Fernando Sahmkow
b7ccc58f23
Texture Cahe: Fix downscaling on SMO.
3 years ago
ameerj
abd07e4158
video_core: Refactor resolution scale function
3 years ago
ameerj
31478c6c1b
video_core: Misc resolution scaling related refactoring
3 years ago
Fernando Sahmkow
a6b88e85bf
Renderer: Implement Bicubic and ScaleForce filters.
3 years ago
ReinUsesLisp
43aa695a04
common/settings: Remove unused scaling options
3 years ago
Fernando Sahmkow
71ca84d829
Settings: eliminate rescaling_factor.
3 years ago
Fernando Sahmkow
37ef9c9130
Settings: Add resolution scaling to settings.
3 years ago
Fernando Sahmkow
22f4b290b6
VideoCore: Initial Setup for the Resolution Scaler.
3 years ago
bunnei
0eacc362dd
Merge pull request #7272 from behunin/the-courteous-logger
...
Logging: Impl refactor
3 years ago
Morph
a41e9e93dd
common: Implement a subset of P0323 (std::expected)
...
This implementation is based on and is a subset of the proposed implementation of std::expected
https://github.com/TartanLlama/expected/blob/master/include/tl/expected.hpp
3 years ago
Levi Behunin
d6b5f64484
Refactor Logging Impl
...
Loop on stop_token and remove final_entry in Entry.
Move Backend thread out of Impl Constructor to its own function.
Add Start function for backend thread.
Use stop token in PopWait and check if entry filename is nullptr before logging.
3 years ago
ameerj
1841f63a40
common/alignment: Fix VS2022 compilation
...
VS2022 seems to introduce an optimization when moving vectors to check for equality of the element values. AlignmentAllocator needed to overload the equality operator to fix compilation of its usage in vector moving.
3 years ago
ameerj
ef811c6425
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
3 years ago
Morph
0d6057b2fa
string_util: Make use of std::string_view and add bounds checking
...
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
3 years ago
Morph
3ffff78a27
string_util: Prevent out of bounds access in u16string_view buffer
3 years ago
Creak
0b8a7ca213
common/fs/path_util: Slightly refactor PathManagerImpl's constructor
...
This moves all GenerateYuzuPath calls outside of the platofrm-specific #ifdefs, replacing them with assignments to paths.
3 years ago
bunnei
5b2fa8dd41
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
3 years ago
bunnei
3a33519598
Merge pull request #7102 from Morph1984/remove-boxcat
...
Remove Boxcat BCAT backend
3 years ago