Commit graph

17626 commits

Author SHA1 Message Date
ReinUsesLisp 480850ffe7 video_core: Fix B5G6R5_UNORM render target format 2020-07-13 01:01:09 -03:00
ReinUsesLisp 990b14f181 video_core: Fix B5G6R5U 2020-07-13 01:01:09 -03:00
ReinUsesLisp 1d20aac795 video_core: Implement RGBA32_SINT render target 2020-07-13 01:01:09 -03:00
ReinUsesLisp 9338599d72 video_core: Implement RGBA32_SINT render target 2020-07-13 01:01:09 -03:00
ReinUsesLisp 95c0f5afe5 video_core: Implement RGBA16_SINT render target 2020-07-13 01:01:09 -03:00
ReinUsesLisp 977d6c46f3 video_core: Implement RGBA8_SINT render target 2020-07-13 01:01:09 -03:00
ReinUsesLisp 50c6030a8d video_core: Implement RG32_SINT render target 2020-07-13 01:01:09 -03:00
ReinUsesLisp e849d68048 video_core: Implement RG8_SINT render target and fix RG8_UINT 2020-07-13 01:01:09 -03:00
ReinUsesLisp f29fede49c video_core: Implement R8_SINT render target 2020-07-13 01:01:08 -03:00
ReinUsesLisp fd33e996e0 video_core: Implement R8_SNORM render target 2020-07-13 01:01:08 -03:00
ReinUsesLisp 505c206eb8 video_core/surface: Remove explicit values on PixelFormat's definition 2020-07-13 01:01:08 -03:00
ReinUsesLisp 143662118c video_core/surface: Reorder render target to pixel format switch 2020-07-13 01:01:08 -03:00
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.
2020-07-12 21:27:24 -03: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
Rodrigo Locatti f1d8c83e1c
Merge pull request #4318 from lioncash/cpp20
CMakeLists: Enable usage of C++20 on Linux
2020-07-12 19:39:09 -03:00
Lioncash 07632ad825 CMakeLists: Enable usage of C++20 on Linux
This also fixes building on Linux with C++20, so we can enable it across
the board for all OSes that we officially support.
2020-07-12 18:15:29 -04:00
Rodrigo Locatti b2305dcee0
Merge pull request #4317 from lioncash/boost
CMakeLists: Correct boost asio disabling define name
2020-07-12 19:13:10 -03:00
Lioncash b971b82275 CMakeLists: Correct boost asio disabling define name
Previously the name of the define was missing the BOOST_ prefix.
2020-07-12 17:17:51 -04:00
Rodrigo Locatti 84b5804834
Merge pull request #4316 from lioncash/cmake-concept
CMakeLists: Disable concepts in boost asio
2020-07-12 17:18:20 -03:00
Lioncash 539675b21a CMakeLists: Disable concepts in boost asio 2020-07-12 15:56:44 -04: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
LC 6001538139
Merge pull request #4312 from Morph1984/fix-discord-invite
Fix Discord invite link
2020-07-12 10:17:45 -04:00
Morph 63cc4e417f Fix Discord invite link 2020-07-12 10:16:07 -04: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 f16a94fb39
Merge pull request #4295 from MerryMage/macOS-libusb
CMakeLists: Do not search for system libusb on macOS
2020-07-11 22:47:52 -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 e5abf11186
Merge pull request #4305 from yuzu-emu/revert-4300-port-5441
Revert "Port citra-emu/citra#5441: "Common: remove a mod from AlignUp""
2020-07-11 19:28:18 -04:00
bunnei 1074c87f18
Revert "Port citra-emu/citra#5441: "Common: remove a mod from AlignUp"" 2020-07-11 19:28:09 -04:00
bunnei 7a051c4973
Merge pull request #4300 from FearlessTobi/port-5441
Port citra-emu/citra#5441: "Common: remove a mod from AlignUp"
2020-07-11 14:54:34 -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 6744e7ea4a CMakeLists: Do not search for system libusb on macOS 2020-07-11 14:37:34 +01: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