The latest version of MSVC STL brings C++23 standard library modules, which conflict with precompiled headers.
Disabling with /experimental:module- has no effect, so force C++20 in the meantime while we wait for module support in other compilers.
Loading it when the configuration opens now incurs a noticeable delay.
We also don't need to rediscover the same data repeatedly each time the
configuration opens.
Moves vulkan device info discovery to yuzu's startup as opposed to the
configure_graphics constructor.
For some reason nvidia implemented Vulkan 1.2 supported without support for VK_EXT_robustness2 in tegra X1/X2 .
Fix vulkan work in TX1/TX2 L4T drivers .
Adds the basic time zone data for the system archive.
time_zone_binary: Implement full system archive
time_zone_binary: Remove unneeded template
tz_binary: Make GenerateFiles static
Use lat9nq/tzdb_to_nx release data to generate header files.
nx_tzdb: Use an interface library
nx_tzdb: Gate download if achive not exists
nx_tzdb: Fix header generator brace closing
nx_tzdb: Add base directory files
nx_tzdb: Add SPDX info
Moves it from Settings to Common::TimeZone, since this algorithm doesn't
depend on the setting. It also lets us use it in other libraries.
common: Various fixes
time_zone: Don't double up the std::abs
Too many absolute values were causing mirrored time zones to resolve
as the same.
Prevents needing to deduce the non-Switch setting in core. Instead, we
deduce the meaning of this setting where the heresy is committed, in
common.
settings: Remove strftime usage
GetTimeZoneString: Use standard features
Also forces GMT on MinGW due to broken strftime.
This causes the emulated system's universal time to be on the user's clock, and the user time to
be off if they set a time zone.
time_manager: Remove GetExternalRtcTime
Uses C++20 tzdb to determine the system timezone. The switch uses the
597 posix time zones, so this needs tests if the system time zone isn't
posix-compliant.