Lioncash
9346d1e257
kernel/handle_table: Remove usages of the global system instance
Removes even more usages of the global system instance, trimming away
more dependencies on global variables and making them explicit in the
interface.
6 years ago
Lioncash
8c0ba1ce84
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
7deb699566
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
63f16db2e6
clang format
6 years ago
Morph
9dc8b2f03c
Use proper install result when overwriting files
6 years ago
Morph
c530630c1c
Remove global system instance and address feedback
6 years ago
Morph
5054a6c429
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
67310a4623
clang-format
6 years ago
VolcaEM
bec0bdabc8
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
589f33c54c
common/swap: Make use of std::endian
Allows removing a bunch of defines in favor of a two liner.
6 years ago
Lioncash
7d3ba83dde
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
ca132f7dfb
clang-format
6 years ago
lat9nq
be59d82047
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
2b38468a0b
Fix crash if gc configured but adapter not connected
6 years ago
lat9nq
688bae221f
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
73c7843bff
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
8d7fa4e28c
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
a8deadbb2b
input_common: drop unused libusb.h include
Remnant of an early implementation.
6 years ago
Lioncash
869f37566e
vk_graphics_pipeline: Make use of designated initializers where applicable
Avoids redundant variable name repetitions.
6 years ago
Jan Beich
cfc73b4188
input_common: make libusb private to gc_adapter
6 years ago
Lioncash
ed658d92dc
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
14332845af
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
c8b9f7bd14
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
a068ce4c32
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
44fb3cf920
video_core: Fix DXT4 and RGB565
6 years ago
ReinUsesLisp
716ab93365
video_core/format_lookup_table: Add formats with existing PixelFormat
6 years ago
ReinUsesLisp
46c327d2d9
video_core: Fix B5G6R5_UNORM render target format
6 years ago
ReinUsesLisp
12937875a5
video_core: Fix B5G6R5U
6 years ago
ReinUsesLisp
ac8eeffbbc
video_core: Implement RGBA32_SINT render target
6 years ago
ReinUsesLisp
59610b129f
video_core: Implement RGBA32_SINT render target
6 years ago
ReinUsesLisp
5ba68f5fab
video_core: Implement RGBA16_SINT render target
6 years ago
ReinUsesLisp
f8136072ff
video_core: Implement RGBA8_SINT render target
6 years ago
ReinUsesLisp
ad494d0a3c
video_core: Implement RG32_SINT render target
6 years ago
ReinUsesLisp
469c89d31a
video_core: Implement RG8_SINT render target and fix RG8_UINT
6 years ago
ReinUsesLisp
c6e852f5c5
video_core: Implement R8_SINT render target
6 years ago
ReinUsesLisp
29e5516bb8
video_core: Implement R8_SNORM render target
6 years ago
ReinUsesLisp
8cb663e1b4
video_core/surface: Remove explicit values on PixelFormat's definition
6 years ago
ReinUsesLisp
0902bb64f1
video_core/surface: Reorder render target to pixel format switch
6 years ago
Lioncash
6d507f7487
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
6e3bbca693
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
cb588c9ef1
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
7c05493952
gc_poller: Mark GCButtonFactory::GetNextInput() as const
This doesn't modify class instance state.
6 years ago
Lioncash
340875a12f
gc_poller: Get rid of undefined behavior in Create()
Ensures that the function always has returns in all control paths.
6 years ago
Lioncash
ff47456e8b
gc_poller: Silence sign conversion warnings
6 years ago
Lioncash
1fe8261049
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
6b6d076f51
gc_adapter: Silence sign conversion warnings
6 years ago
MerryMage
188203ec23
configure_cpu: Split optimization settings off into Debug tab
6 years ago
Tobias
dec48c55cb
common/alignment: Fix compilation errors ( #4303 )
6 years ago
Morph
e01424699b
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
bd88e9fa71
hle: service: mii: Rewrite service to properly support creation of random and default miis.
6 years ago