Commit Graph

1436 Commits (f90d9808378092e208b431f467c54feb6952e91d)

Author SHA1 Message Date
Fernando Sahmkow da2fe81905 TextureCache: Refactor and fix linux compiling. 3 years ago
Fernando Sahmkow 282e04bffb TextureCache: Add automatic anisotropic filtering and refactor code. 3 years ago
Fernando Sahmkow a96c9c803b Yuzu UI: Add button for Anti Alias 3 years ago
Marshall Mohror 510caeefb3 Settings: Add anti-aliasing method setting 3 years ago
FernandoS27 2eff80b47f QtGUI: Add buttton to toggle the filter. 3 years ago
FernandoS27 9e065b9c7d VideoCore: Add gaussian filtering. 3 years ago
FernandoS27 e7fc60406e VideoCore: Add more rescaling option. 3 years ago
Fernando Sahmkow 4ad22c7d2b Video Core: fix building for GCC. 3 years ago
Fernando Sahmkow b60966041c Presentation: add Nearest Neighbor filter. 3 years ago
Marshall Mohror 37cb0377ae vulkan: Implement FidelityFX Super Resolution 3 years ago
Fernando Sahmkow b7ccc58f23 Texture Cahe: Fix downscaling on SMO. 3 years ago
ameerj abd07e4158 video_core: Refactor resolution scale function 3 years ago
ameerj 31478c6c1b video_core: Misc resolution scaling related refactoring 3 years ago
Fernando Sahmkow a6b88e85bf Renderer: Implement Bicubic and ScaleForce filters. 3 years ago
ReinUsesLisp 43aa695a04 common/settings: Remove unused scaling options 3 years ago
Fernando Sahmkow 71ca84d829 Settings: eliminate rescaling_factor. 3 years ago
Fernando Sahmkow 37ef9c9130 Settings: Add resolution scaling to settings. 3 years ago
Fernando Sahmkow 22f4b290b6 VideoCore: Initial Setup for the Resolution Scaler. 3 years ago
bunnei 0eacc362dd
Merge pull request #7272 from behunin/the-courteous-logger
Logging: Impl refactor
3 years ago
Morph a41e9e93dd common: Implement a subset of P0323 (std::expected)
This implementation is based on and is a subset of the proposed implementation of std::expected
https://github.com/TartanLlama/expected/blob/master/include/tl/expected.hpp
3 years ago
Levi Behunin d6b5f64484 Refactor Logging Impl
Loop on stop_token and remove final_entry in Entry.
Move Backend thread out of Impl Constructor to its own function.
Add Start function for backend thread.
Use stop token in PopWait and check if entry filename is nullptr before logging.
3 years ago
ameerj 1841f63a40 common/alignment: Fix VS2022 compilation
VS2022 seems to introduce an optimization when moving vectors to check for equality of the element values. AlignmentAllocator needed to overload the equality operator to fix compilation of its usage in vector moving.
3 years ago
ameerj ef811c6425 settings: Remove std::chrono usage
Alleviates the dependency on chrono for all files that include settings.h
3 years ago
Morph 0d6057b2fa string_util: Make use of std::string_view and add bounds checking
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
3 years ago
Morph 3ffff78a27 string_util: Prevent out of bounds access in u16string_view buffer 3 years ago
Creak 0b8a7ca213
common/fs/path_util: Slightly refactor PathManagerImpl's constructor
This moves all GenerateYuzuPath calls outside of the platofrm-specific #ifdefs, replacing them with assignments to paths.
3 years ago
bunnei 5b2fa8dd41
Merge pull request #7115 from ameerj/log-compile
common/logging: Reduce dependent header include overhead
3 years ago
bunnei 3a33519598
Merge pull request #7102 from Morph1984/remove-boxcat
Remove Boxcat BCAT backend
3 years ago
ameerj 579f4ea4bd common/logging: Reduce scope of fmt include 3 years ago
ameerj 5daf3abe65 common/logging: Move Log::Entry declaration to a separate header
This reduces the load of requiring to include std::chrono in all files which include log.h
3 years ago
Andrew Strelsky 3fc7aceea7
Fixed invalid iterator usage 3 years ago
Morph 8af9f3216e settings: Remove BCAT settings 3 years ago
ameerj 73666fb262 general: Update style to clang-format-12 3 years ago
Lioncash 40314cc586 common/uuid: Add validity checking functions to interface
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
3 years ago
bunnei a9c3619d26
Merge pull request #7019 from ameerj/videocore-jthread
videocore: Use std::jthread for worker threads
3 years ago
german77 33a1d790e8 input_common/tas: Document the main class 3 years ago
german77 e6c4bf52f0 input_common/tas: Add swap controller 3 years ago
MonsterDruide1 f078b15565 input_common/tas: Fallback to simple update 3 years ago
german77 c01a872c8e config: Move TAS options to it's own menu 3 years ago
MonsterDruide1 4297d2fea2 core: Hacky TAS syncing & load pausing
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.

First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.

Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
3 years ago
MonsterDruide1 f25d6ebc45 settings: File selector & other settings
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.

Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
3 years ago
MonsterDruide1 b42c3ce21d input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
3 years ago
bunnei 35f46fc079
Merge pull request #7020 from Moonlacer/remove_audio_stretching
Remove audio stretching
3 years ago
bunnei 6d7801deb7
Merge pull request #6950 from german77/multiplay
input_common: Add advanced setting for 8 player support
3 years ago
Moonlacer 09ab819040 fix_accidental_deletion 3 years ago
Moonlacer 44135b011f remove-audio-stretching-setting 3 years ago
ameerj c2ddda2f51 threadsafe_queue: Add std::stop_token overload to PopWait
Useful for jthreads which make use of the threadsafe queues.
3 years ago
Morph 3512cae623 common_funcs: Add enum flag bitwise shift operator overloads
This adds bitwise shift operator overloads (<<, >>, <<=, >>=) in the macro DECLARE_ENUM_FLAG_OPERATORS(type)
3 years ago
Morph eb1e3f19bb common_funcs: Replace <algorithm> with <iterator> 3 years ago
Morph 290afc00d3 common: Move error handling to error.cpp/h
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
3 years ago