Lioncash
7d5f93832c
vk_memory_manager: Make use of designated initializers where applicable
2020-07-16 18:26:30 -04:00
Lioncash
75c00c3cb0
vk_image: Make use of designated initializers where applicable
2020-07-16 18:24:26 -04:00
Lioncash
6d165481ad
vk_descriptor_pool: Make use of designated initializers where applicable
2020-07-16 18:19:45 -04:00
Lioncash
fb563e75e9
vk_graphics_pipeline: Resolve narrowing warnings
...
For whatever reason, VK_TRUE and VK_FALSE aren't defined as having a
VkBool32 type, so we need to cast to it explicitly.
2020-07-16 18:13:49 -04:00
Lioncash
5330ca396d
vk_compute_pipeline: Make use of designated initializers where applicable
2020-07-16 17:32:12 -04:00
Lioncash
757ddd8158
vk_compute_pass: Make use of designated initializers where applicable
...
Note: Some barriers can't be converted over yet, as they ICE MSVC.
2020-07-16 17:23:56 -04:00
Lioncash
a66a0a6a53
vk_buffer_cache: Make use of designated initializers where applicable
...
Note: An array within CopyFrom() cannot be converted over yet, as it
ICEs MSVC when converted over.
2020-07-16 16:59:39 -04:00
Rodrigo Locatti
104c523d3d
Merge pull request #4327 from lioncash/desig2
...
address_space_info: Make use of designated initializers
2020-07-16 17:41:55 -03:00
Rodrigo Locatti
be68ee88c2
Merge pull request #4333 from lioncash/desig3
...
vk_graphics_pipeline: Make use of designated initializers where applicable
2020-07-16 17:41:45 -03:00
Rodrigo Locatti
b6d73ec9c2
Merge pull request #4332 from lioncash/vkdev
...
vk_device: Make use of designated initializers where applicable
2020-07-16 17:41:20 -03:00
bunnei
98b36625fa
Merge pull request #4321 from lioncash/desig
...
vk_blit_screen: Make use of designated initializers where applicable
2020-07-16 14:55:36 -04:00
Lioncash
8bef49cde5
kernel/thread: Remove unimplemented function prototype
...
This isn't used, so it can be removed.
2020-07-16 14:32:46 -04:00
Lioncash
2bab07c367
kernel: Remove unused variables
...
Resolves some compiler warnings in the Linux build.
2020-07-16 14:17:50 -04:00
Lioncash
07d080ecc8
kernel: Add missing include
2020-07-16 13:51:51 -04:00
Lioncash
f0125b2be8
cpu_manager: Mark function getters as static
...
All these do are return std::function instances of static functions, so
these can be used without an instance of the CPU manager.
2020-07-16 13:30:56 -04:00
Lioncash
51546ce57e
cpu_manager: Remove unused preemption_count variable
...
Shrinks the data structure by 8 bytes.
2020-07-16 13:24:25 -04:00
Lioncash
201514cb50
cpu_manager: Add missing includes
...
Previously this header was relying on indirect inclusions that are no
longer satisfied.
2020-07-16 13:22:58 -04:00
bunnei
a89dfc9183
Merge pull request #4261 from ameerj/gc-calibration
...
input_common: GC Controller save and compare against analog origin state
2020-07-16 11:40:09 -04:00
bunnei
2781201bfb
Merge pull request #4337 from lat9nq/fix-per-game-async
...
main: Set async gpu properly after loading per-game setting
2020-07-16 11:33:51 -04:00
bunnei
9121d35e70
Merge pull request #4297 from FearlessTobi/skip-profile-select
...
main/profile_select: Don't prompt for profile selection when only one is available
2020-07-16 09:45:09 -04:00
David
0648e023ea
Merge pull request #4346 from lioncash/thread
...
kernel/handle_table: Remove usages of the global system instance
2020-07-16 23:02:04 +10:00
David
815f30dc10
Merge pull request #4249 from Morph1984/delete-update-aoc-on-overwrite
...
registered_cache: Remove previous update/dlc if it exists on install
2020-07-16 20:36:22 +10:00
Morph
f66e3181dc
Check for empty section0 and CNMT prior to install
2020-07-16 05:22:51 -04:00
Morph
5892fc1555
Add comment to clarify the nullptr check
2020-07-16 00:15:27 -04:00
Morph
2079bb4090
filesystem: Create subdirectories prior to creating a file
...
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within.
This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
2020-07-16 00:15:27 -04:00
bunnei
f26f53f35b
Merge pull request #4328 from lioncash/unused-var3
...
memory_layout: Remove unused data member
2020-07-15 22:08:05 -04:00
Lioncash
af5a56ddc4
settings: Resolve a sign conversion warning within GetTimeZoneString()
...
A sign conversion warning was occurring due to an int < size_t
comparison.
2020-07-15 13:45:22 -04:00
Lioncash
73bb87c06b
kernel/process: Move name and system context to the bottom of the member list
...
These aren't directly important or commonly used within the process, so
we can move these to the bottom to allow everything else to be more
likely to be within a cache line.
2020-07-15 13:40:18 -04:00
Lioncash
52e83f0d5c
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.
2020-07-15 13:40:15 -04:00
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.
2020-07-15 13:37:33 -04:00
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.
2020-07-15 13:28:05 -04:00
Morph
0ca7b8269a
clang format
2020-07-15 13:27:04 -04:00
Morph
1bbc61f5f1
Use proper install result when overwriting files
2020-07-15 13:27:04 -04:00
Morph
8794e623d9
Remove global system instance and address feedback
2020-07-15 13:27:04 -04:00
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
2020-07-15 13:27:04 -04:00
VolcaEM
e90802e762
clang-format
2020-07-15 01:22:52 +02:00
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
2020-07-15 01:19:22 +02:00
Rodrigo Locatti
263200f982
Merge pull request #4342 from lioncash/endian
...
common/swap: Make use of std::endian
2020-07-14 18:49:07 -03:00
Lioncash
9f027b1af2
common/swap: Make use of std::endian
...
Allows removing a bunch of defines in favor of a two liner.
2020-07-14 16:26:54 -04:00
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.
2020-07-14 15:49:15 -04:00
bunnei
666b37ad56
Merge pull request #4242 from ReinUsesLisp/maxwell-dma
...
maxwell_dma: Match official doc and support pitch->voxel copies
2020-07-14 14:04:16 -04:00
lat9nq
a683e42516
clang-format
2020-07-14 13:46:42 -04:00
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.
2020-07-14 13:36:09 -04:00
Ameer
93fe982a0c
Rebase to master
2020-07-14 13:04:02 -04:00
bunnei
e2730372b8
Merge pull request #4294 from MerryMage/cpu-opt-settings
...
configuration: Add settings to enable/disable specific CPU optimizations
2020-07-14 12:38:03 -04:00
bunnei
450cbcfee6
Merge pull request #4282 from Morph1984/fs-size
...
filesystem: Set various NAND partition sizes to their defaults
2020-07-14 12:16:42 -04:00
Ameer
ab65de2f96
Fix crash if gc configured but adapter not connected
2020-07-14 11:23:10 -04:00
bunnei
393cdb15f5
Merge pull request #4314 from lioncash/input-warn
...
gcadapter: Tidy up compiler warnings
2020-07-14 10:20:12 -04:00
bunnei
edb291b3be
Merge pull request #4315 from lioncash/udp-warn
...
udp: Silence a C++20 deprecation warning
2020-07-14 09:33:16 -04:00
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.
2020-07-14 01:02:10 -04:00
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.
2020-07-14 00:49:17 -04:00
Lioncash
0f8b977663
vk_device: Make use of designated initializers where applicable
...
Avoids redundant repetitions of variable names, and allows assignment
all in one statement.
2020-07-13 22:24:01 -04:00
LC
edb2caaae5
Merge pull request #4280 from jbeich/system-libusb
...
cmake: pass libusb include directory
2020-07-13 22:21:07 -04:00
Ameer
b284c43385
input_common: drop unused libusb.h include
...
Remnant of an early implementation.
2020-07-14 01:50:34 +00:00
Lioncash
0475a167f8
vk_graphics_pipeline: Make use of designated initializers where applicable
...
Avoids redundant variable name repetitions.
2020-07-13 21:07:56 -04:00
Jan Beich
883fab2fff
input_common: make libusb private to gc_adapter
2020-07-13 18:48:19 +00:00
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.
2020-07-13 10:51:23 -04:00
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.
2020-07-13 10:42:52 -04:00
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.
2020-07-13 10:42:49 -04:00
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.
2020-07-12 19:45:30 -04:00
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.
2020-07-12 20:43:42 -03:00
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.
2020-07-12 15:49:42 -04:00
Lioncash
a1dddca4ab
gc_poller: Mark GCButtonFactory::GetNextInput() as const
...
This doesn't modify class instance state.
2020-07-12 15:43:07 -04:00
Lioncash
839c91cd14
gc_poller: Get rid of undefined behavior in Create()
...
Ensures that the function always has returns in all control paths.
2020-07-12 15:41:35 -04:00
Lioncash
a8ba6dc3c9
gc_poller: Silence sign conversion warnings
2020-07-12 15:40:22 -04:00
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.
2020-07-12 15:38:19 -04:00
Lioncash
9ce6ea648f
gc_adapter: Silence sign conversion warnings
2020-07-12 15:36:27 -04:00
MerryMage
a67d00ef31
configure_cpu: Split optimization settings off into Debug tab
2020-07-12 19:32:32 +01:00
Fernando Sahmkow
739d90ee66
Merge pull request #4265 from Morph1984/file-rename
...
vfs_real: Fix MoveFile
2020-07-12 13:00:09 -04:00
LC
ed89bcc767
Merge pull request #4290 from lioncash/latest
...
CMakeLists: Make use of /std:c++latest on MSVC
2020-07-12 12:25:10 -04:00
bunnei
f1aabc21ee
Merge pull request #3385 from Morph1984/batch-install
...
frontend: Add support to batch install files to NAND
2020-07-12 12:20:56 -04:00
Tobias
80a0f2a118
common/alignment: Fix compilation errors ( #4303 )
2020-07-12 16:45:49 +02:00
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.
2020-07-12 04:33:35 -04:00
bunnei
e60733aad3
Merge pull request #4275 from CrazyMax/desired_language
...
AM: fix GetDesiredLanguage:
2020-07-12 01:45:08 -04:00
bunnei
5fb27f83cf
Merge pull request #4289 from ReinUsesLisp/dynfix
...
vk_rasterizer: Pass <pSizes> to CmdBindVertexBuffers2EXT
2020-07-11 23:44:03 -04:00
bunnei
e706501c8d
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-11 21:34:59 -04:00
bunnei
1074c87f18
Revert "Port citra-emu/citra#5441 : "Common: remove a mod from AlignUp""
2020-07-11 19:28:09 -04:00
Marshall Mohror
a4306b9e56
Common: remove a mod from AlignUp ( #5441 )
...
In cases where the size is not a known constant when inlining, AlignUp<std::size_t> currently generates two 64-bit div instructions.
This generates one div and a cmov which is significantly cheaper.
2020-07-11 18:39:00 +02:00
MerryMage
da11a27f42
configure_cpu: Add tooltips
2020-07-11 16:38:38 +01:00
MerryMage
505aa3a4c1
configure_cpu: Show/Hide debugging options
2020-07-11 16:38:38 +01:00
FearlessTobi
a59ad9246b
main/profile_select: Don't prompt for profile selection when only one is available
2020-07-11 16:08:34 +02:00
MerryMage
0193202964
configuration: Add settings to enable/disable specific CPU optimizations
2020-07-11 14:34:09 +01:00
Lioncash
fb0fefc75c
CMakeLists: Make use of /std:c++latest on MSVC
...
Provides the buildbot with one builder that is always tracking the
latest version of the C++ standard, allowing us to progressively rectify
our code and amend any differences between standards over time instead
of waiting for a complete standard change, potentially breaking a lot of
code all at once.
2020-07-11 04:45:40 -04:00
bunnei
a0ee597b19
Merge pull request #4203 from VolcaEM/services
...
service: Update function tables
2020-07-11 00:02:36 -04:00
bunnei
a45a57641f
Merge pull request #4250 from Morph1984/key-writing
...
KeyManager: Prevent writing of invalid keys
2020-07-10 22:45:18 -04:00
ReinUsesLisp
fca26980a2
vk_rasterizer: Pass <pSizes> to CmdBindVertexBuffers2EXT
...
This has been fixed in Nvidia's public beta driver 451.74. The previous
beta driver will be broken, people using these will have to update.
2020-07-10 18:15:32 -03:00
bunnei
995067538d
Merge pull request #4221 from jbeich/unused-qt-opengl
...
cmake: drop dependency on QtOpenGL
2020-07-10 15:18:04 -04:00
Ameer
042c6602a0
Break out of scan loop if can't find adapter on first run
2020-07-10 11:07:43 -04:00
ReinUsesLisp
c574ab5aa1
video_core/textures: Add and use SwizzleSliceToVoxel, and minor style changes
...
Change GOB sizes from free-functions to constexpr constants.
Add SwizzleSliceToVoxel, a function that swizzles a 2D array of pixels
into a 3D texture and use it for 3D copies.
2020-07-10 04:09:32 -03:00
Morph
755506d404
vfs_real: Fix MoveFile
...
The file wasn't closed prior to being renamed / moved, throwing an error that states "The process cannot access the file because it is being used by another process." Fix this by closing the file prior to a rename / move operation.
Fixes saving in Luigi's Mansion 3 and KATANA KAMI: A Way of the Samurai Story.
2020-07-10 00:39:23 -04:00
Morph
7351ca8c75
KeyManager: Prevent writing of invalid keys
...
If the keys are zero, don't write them to the autogenerated file.
2020-07-10 00:39:00 -04:00
Morph
75a01475d1
Add additional empty check for the QStringList returned by the InstallDialog
2020-07-10 00:38:29 -04:00
Morph
6d8d7ebc66
Update the install and progress dialogs
...
- Remove the overwrite files checkbox, it will always overwrite
- The progressbar now reflects the progress in terms of data transferred.
2020-07-10 00:38:28 -04:00
Morph
7f4d96d873
Refactor batch installing files
...
Key issues fixed:
- Progress dialog showing up as white/hanging/getting stuck/unresponsive.
Key changes:
- Progress dialog now shows progress as a function of all files instead of per nca within a file.
- Overwrite existing files will overwrite all files in the selection.
2020-07-10 00:38:28 -04:00
Morph
4c269e5ced
Add support for batch install to NAND
...
This adds support to batch install files to NAND
2020-07-10 00:38:28 -04:00
Morph
b24b463c87
bis_factory: Set User NAND free space to be 1 MiB less than total.
2020-07-10 00:37:39 -04:00
Morph
17242a8865
sdmc_factory: Set the SDMC total size to 1 TiB
...
We should not be limited by the SDMC's partition size, set this to 1 TiB. Hardware is limited to the max allowed by the MBR partition table which is 2 TiB.
2020-07-10 00:37:39 -04:00
Morph
0373ead96e
bis_factory: Use hardware default NAND partition sizes
...
Sets the total space of user and system partitions to their hardware defaults.
Furthermore, return the total space as free space for the user partition to prevent it from reaching zero.
Some games like Bioshock 2 check for the available free space prior to save creation, and we should not be limited by arbitrary limits.
2020-07-10 00:37:39 -04:00
Morph
47e26d7bc7
settings: Remove storage size options
2020-07-10 00:37:39 -04:00
David Marcec
bd2feb6873
cmake: Fix libfmt linking errors
2020-07-10 14:04:06 +10:00