Lioncash
5dbf91d739
settings: Make use of std::string_view over std::string for logging
In all usages of LogSetting(), string literals are provided.
std::string_view is better suited here, as we won't churn a bunch of
string allocations every time the settings are logged out.
While we're at it, we can fold LogSetting() into LogSettings(), given
it's only ever used there.
6 years ago
Lioncash
4ad69ca96e
kernel/thread: Remove global GetCurrentThread()
This is only used in one place, so we can fold it into the calling code,
eliminating a place for the global system instance to be used.
6 years ago
Morph
0ca7b8269a
clang format
6 years ago
Morph
1bbc61f5f1
Use proper install result when overwriting files
6 years ago
Morph
8794e623d9
Remove global system instance and address feedback
6 years ago
Morph
a82fdea1ac
registered_cache: Remove previous update/dlc if it exists on install
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
6 years ago
VolcaEM
e90802e762
clang-format
6 years ago
VolcaEM
b608acd688
dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
This was based on Atmosphére's DMNT Cheat VM:
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp
From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register"
There are now only two remaining opcodes to implement (PauseProcess and BreakProcess)
This is untested because I don't have any experience in testing cheats on yuzu
6 years ago
Lioncash
9f027b1af2
common/swap: Make use of std::endian
Allows removing a bunch of defines in favor of a two liner.
6 years ago
Lioncash
969100d41a
shader_cache: Make use of std::erase_if
Now that we use C++20, we can also make use of std::erase_if instead of
needing to do the erase-remove idiom.
6 years ago
lat9nq
a683e42516
clang-format
6 years ago
lat9nq
6d1477f214
settings: Move settings sanitization to its own function
Creates a new function that can be expanded later to fix other settings that are known to cause emulation errors across executables.
6 years ago
Ameer
ab65de2f96
Fix crash if gc configured but adapter not connected
6 years ago
lat9nq
8160e142e1
main: Set async gpu properly after loading per-game setting
Another error that got pass me and only noticed when I was doing the per-game settings UI rework. This prevents asynchronous GPU emulation from being disabled while multi core is enabled as a result of a poorly put together per-game config.
6 years ago
lat9nq
e02687ff47
configure_general: Explicitly guard use_multi_core when applying settings
This is likely an oversight during a rebase. Guards use_multi_core to be only set when the global value is in use. It should not make a difference given the current code base, but makes the code sensible.
6 years ago
Lioncash
0f8b977663
vk_device: Make use of designated initializers where applicable
Avoids redundant repetitions of variable names, and allows assignment
all in one statement.
6 years ago
Ameer
b284c43385
input_common: drop unused libusb.h include
Remnant of an early implementation.
6 years ago
Lioncash
0475a167f8
vk_graphics_pipeline: Make use of designated initializers where applicable
Avoids redundant variable name repetitions.
6 years ago
Jan Beich
883fab2fff
input_common: make libusb private to gc_adapter
6 years ago
Lioncash
f2f876e3ff
memory_layout: Remove unused data member
This isn't used, so it can be removed entirely, shrinking the structure
size by 8 bytes.
6 years ago
Lioncash
ed0fe04b4f
address_space_info: Use type alias to simplify code
We can define an alias for the index arrays and then just reuse it to
make the code nicer to read.
6 years ago
Lioncash
c3eb42de65
address_space_info: Make use of designated initializers
We can alter the structure so that we can use designated initializers in
the array, eliminating the comments that indicate their field names.
6 years ago
ReinUsesLisp
fbc232426d
video_core: Rearrange pixel format names
Normalizes pixel format names to match Vulkan names. Previous to this
commit pixel formats had no convention, leading to confusion and
potential bugs.
6 years ago
ReinUsesLisp
eda37ff26b
video_core: Fix DXT4 and RGB565
6 years ago
ReinUsesLisp
a8dab2ffb3
video_core/format_lookup_table: Add formats with existing PixelFormat
6 years ago
ReinUsesLisp
480850ffe7
video_core: Fix B5G6R5_UNORM render target format
6 years ago
ReinUsesLisp
990b14f181
video_core: Fix B5G6R5U
6 years ago
ReinUsesLisp
1d20aac795
video_core: Implement RGBA32_SINT render target
6 years ago
ReinUsesLisp
9338599d72
video_core: Implement RGBA32_SINT render target
6 years ago
ReinUsesLisp
95c0f5afe5
video_core: Implement RGBA16_SINT render target
6 years ago
ReinUsesLisp
977d6c46f3
video_core: Implement RGBA8_SINT render target
6 years ago
ReinUsesLisp
50c6030a8d
video_core: Implement RG32_SINT render target
6 years ago
ReinUsesLisp
e849d68048
video_core: Implement RG8_SINT render target and fix RG8_UINT
6 years ago
ReinUsesLisp
f29fede49c
video_core: Implement R8_SINT render target
6 years ago
ReinUsesLisp
fd33e996e0
video_core: Implement R8_SNORM render target
6 years ago
ReinUsesLisp
505c206eb8
video_core/surface: Remove explicit values on PixelFormat's definition
6 years ago
ReinUsesLisp
143662118c
video_core/surface: Reorder render target to pixel format switch
6 years ago
ReinUsesLisp
9b38f4fc55
kernel/scheduler: Use std::mutex instead of spin lock
Profiling shows that this is a highly contested mutex, causing dimishing
results compared to a OS lock. std::mutex implementations can spin for a
while before falling back to an OS lock.
This avoids wasting precious CPU cycles in a no-op.
6 years ago
Lioncash
db6fbd5894
vk_blit_screen: Make use of designated initializers where applicable
Now that we make use of C++20, we can use designated initializers to
make things a little nicer to read.
6 years ago
ReinUsesLisp
0fe09df386
vk_state_tracker: Fix dirty flags for stencil_enable on VK_EXT_extended_dynamic_state
Fixes a regression on any game using stencil on devices with
VK_EXT_extended_dynamic_state.
6 years ago
Lioncash
8df93132cd
udp: Silence a C++20 deprecation warning
C++20 deprecates using the = lambda capture to implicitly capture the
this pointer. Instead, we must specify it explicitly.
6 years ago
Lioncash
a1dddca4ab
gc_poller: Mark GCButtonFactory::GetNextInput() as const
This doesn't modify class instance state.
6 years ago
Lioncash
839c91cd14
gc_poller: Get rid of undefined behavior in Create()
Ensures that the function always has returns in all control paths.
6 years ago
Lioncash
a8ba6dc3c9
gc_poller: Silence sign conversion warnings
6 years ago
Lioncash
32b6fc4062
gc_adapter: Remove deprecated usage of = in lambda captures
It's deprecated in C++20 to use = to capture the this pointer.
Instead, we can simply pass this as an argument to the thread
constructor.
6 years ago
Lioncash
9ce6ea648f
gc_adapter: Silence sign conversion warnings
6 years ago
MerryMage
a67d00ef31
configure_cpu: Split optimization settings off into Debug tab
6 years ago
Tobias
80a0f2a118
common/alignment: Fix compilation errors ( #4303 )
6 years ago
Morph
fd1c3aa14e
fs: Fix RomFS building when zero byte files are present
When zero byte files are present, the key (offset) for that file is identical to the file right after. A std::map isn't able to fit key-value pairs with identical keys (offsets), therefore, the solution is to use std::multimap which permits multiple entries with the same key.
This most prominently fixes Pokemon Sword and Shield weather with any RomFS mod applied.
6 years ago
bunnei
e706501c8d
hle: service: mii: Rewrite service to properly support creation of random and default miis.
6 years ago