summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2023-07-21settings,opengl,yuzu-qt: Fix AA, Filter maximumslat9nq
The new enum macros don't support setting values directly. For LastAA and LastFilter, this means we need a simpler approach to loop around the toggle in the frontend...
2023-07-21settings_enums: More aggressively use macroslat9nq
This lets us define an enum and all the textual representations of its values in one swing. All for the price of some ugly macros.
2023-07-21settings,uisettings: Remove leading underscorelat9nq
2023-07-21settings: Move speed_limit to corelat9nq
2023-07-21common,yuzu-qt: Avoid explicit instantiation on old clanglat9nq
Clang versions < 15 have compile issues with explicit instantiation. Disable it for these versions.
2023-07-21settings_setting: Fix MSVC errorlat9nq
2023-07-21common,yuzu-qt: GCC warning silenceslat9nq
Fixes -Wshadow, -Wdeprecated, and catch by copy rather than by ref.
2023-07-21settings: Delete cpu_accuracy_first_timelat9nq
Almost a 2 year old migration setting now
2023-07-21settings: Document BasicSetting, add Rangedlat9nq
2023-07-21settings: Move IsConfiguringGlobal to settings_commonlat9nq
2023-07-21settings: Move some simple data to BasicSettinglat9nq
Reduces the need for the compiler to duplicate this code, by about 100KB executable size.
2023-07-21settings_setting: Fix errorslat9nq
ToString didn't have a constexpr if statement where needed. Canonicalize missed an else, causing unreachable code error on MSVC.
2023-07-21(ui,)settings: Use explicit instantiationlat9nq
Reduces compile times a tad on clang.
2023-07-21settings: Remove redundant false literalslat9nq
2023-07-21general: Add typeinfo where neededlat9nq
Using typeid without including typeinfo first produces an ill-formed program.
2023-07-21settings_enums: Add const type where neededlat9nq
2023-07-21settings: yuzu is not capitalized why is it capitalized stop no badlat9nq
2023-07-21settings: Reorderlat9nq
Groups graphics audio and system settings together in a way that reflects the frontend. This also just conceptually groups them more nicely than they were.
2023-07-21settings: Report all contained settings valueslat9nq
Also adds a couple characters that denotes the state of the setting. M for modified, or not default. C for custom, in context of per-game settings.
2023-07-21settings_enums: Cannonicalize settings nameslat9nq
Gives every option of the enums a string literal via a macro.
2023-07-21settings,general: Rename non-confirming enumslat9nq
2023-07-21settings: Make volume runtime-configurablelat9nq
2023-07-21configure_audio: Implement ui generationlat9nq
Needs a considerable amount of management specific to some of the comoboboxes due to the audio engine configuration. general: Partial audio config implmentation configure_audio: Implement ui generation Needs a considerable amount of management specific to some of the comoboboxes due to the audio engine configuration. general: Partial audio config implmentation settings: Make audio settings as enums
2023-07-21settings: Split enums to new filelat9nq
2023-07-21settings, uisettings: Initialize linkage counterlat9nq
2023-07-21configure_system: Implement with for looplat9nq
2023-07-21settings: Move runtime and save to parameterslat9nq
These don't need to be whole new types.
2023-07-21settings: Add UiGeneral classlat9nq
2023-07-21configuration: Implement sliderlat9nq
2023-07-21settings: Define base renderer runtime modifiable settingslat9nq
2023-07-21settings: Add anisotropy mode enumlat9nq
2023-07-21shared_translation: Finish using int idslat9nq
2023-07-21settings,uisettings: Add IDs to settingslat9nq
2023-07-21configure_graphics: Partial runtime implementationlat9nq
2023-07-21settings: Recategorize a bitlat9nq
Will help with generating config UI later.
2023-07-21configure_graphics_advance: Generate UI at runtimelat9nq
We can iterate through the AdvancedGraphics settings and generate the UI during runtime. This doesn't help runtime efficiency, but it helps a ton in reducing the amount of work a developer needs in order to add a new setting.
2023-07-21settings: Add a registry of settingslat9nq
LoadString: Sanitize input settings: Handle empty string, remove redundant category settings: Rename Input to Controls, FS to DataStorage settings: Fix Controls groups information settings: Move use_docked_mode to System (again) settings: Document settings: Add type identification function settings: Move registry into values settings: Move global_reset_registry into values settings: Separate AdvGraphics from Renderer settings: More document squash settings: Use linkage object uisettings: Move registry into settings Probably wont build without uisettings: Use settings linkage object config: Load settings with a map Uses the new all_settings vector to load settings. qt-config: Rename settings category qt config: Rename to read category config: Read/write contols category with for_each This is extremely limited due to the complexity of the Controls group, but this handles the the settings that use the interface. qt-config: Use new settings registry qt-config: Read/write advgrphics qt-config: Use settings linkage object yuzu_cmd: Load setting off of vector cmd-config: Finish settings rename config: Read controls settings group with for_each cmd/config: Move registry into values cmd: Read adv graphics cmd-config: Use settings linkage object
2023-07-21settings,core,config_sys: Remove optional type from custom_rtc, rng_seedlat9nq
core: Fix MSVC errors
2023-07-21settings: Pool SetGlobal functionslat9nq
2023-07-21settings,video_core: Consolidate ASTC decoding optionslat9nq
Just puts them all neatly into one place.
2023-07-18general: Silence -Wshadow{,-uncaptured-local} warningslat9nq
These occur in the latest commits in LLVM Clang.
2023-07-17ssl: Reorder inclusionsMorph
2023-07-16Merge pull request #10912 from comex/sslliamwhite
Implement SSL service
2023-07-15Fixes and workarounds to make UBSan happier on macOScomex
There are still some other issues not addressed here, but it's a start. Workarounds for false-positive reports: - `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`, because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp) of how big it thinks objects can be, specifically when dealing with offset-to-top values used with multiple inheritance. Hopefully this doesn't have a performance impact. - `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks is UB even though it at least arguably isn't. See the link in the comment for more information. Fixes for correct reports: - `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to avoid UB from pointer overflow (when pointer arithmetic wraps around the address space). - `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`; avoid calling methods on it in this case. (The existing code returns a garbage reference to a field, which is then passed into `LoadWatchpointArray`, and apparently it's never used, so it's harmless in practice but still triggers UBSan.) - `KAutoObject::Close`: This function calls `this->Destroy()`, which overwrites the beginning of the object with junk (specifically a free list pointer). Then it calls `this->UnregisterWithKernel()`. UBSan complains about a type mismatch because the vtable has been overwritten, and I believe this is indeed UB. `UnregisterWithKernel` also loads `m_kernel` from the 'freed' object, which seems to be technically safe (the overwriting doesn't extend as far as that field), but seems dubious. Switch to a `static` method and load `m_kernel` in advance.
2023-07-12time_zone: Clean up includeslat9nq
2023-07-12time_zone: Swap subtraction orderlat9nq
2023-07-12time_zone: Account for leap yearslat9nq
Protects against invalid hour offsets during transitions to years following leap years.
2023-07-10Merge pull request #10996 from Kelebek1/readblock_optimisationbunnei
Use spans over guest memory where possible instead of copying data
2023-07-10settings: Disable C++20 tzdb path on MinGWlat9nq
This path always results in Etc/UTC on MinGW, which often is not close to the local time zone.
2023-07-10time_zone: Remove string ops for determing zonelat9nq
MinGW's strftime implementation does not work and cannot be used to determine the time zone. Besides that, the string operations are actually unnecessary since we can get the offset from std::localtime. Compare localtime to gmtime to find the zone offset on all platforms.