aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-09-21"Merge Tagged PR 6598"mainline-0-756yuzubot
2021-09-20Merge pull request #7003 from ameerj/unlocked-present-modebunnei
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
2021-09-19Merge pull request #7017 from FernandoS27/i-am-barbie-girlAmeer J
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
2021-09-18Merge pull request #7019 from ameerj/videocore-jthreadbunnei
videocore: Use std::jthread for worker threads
2021-09-18UI: Relocate tas menu and add brief descriptiongerman77
2021-09-18input_common/tas: new update methodgerman77
2021-09-18input_common/tas: Document the main classgerman77
2021-09-18input_common/tas: Add swap controllergerman77
2021-09-18input_common/tas: overwrite file dialoggerman77
2021-09-18input_common/tas: Fallback to simple updateMonsterDruide1
2021-09-18config: Move TAS options to it's own menugerman77
2021-09-18core: Hacky TAS syncing & load pausingMonsterDruide1
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.
2021-09-18main: TAS Playback state labelMonsterDruide1
During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
2021-09-18settings: File selector & other settingsMonsterDruide1
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.
2021-09-18input_common/tas: Base playback & recording systemMonsterDruide1
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>
2021-09-18Merge pull request #7020 from Moonlacer/remove_audio_stretchingbunnei
Remove audio stretching
2021-09-17Merge pull request #6950 from german77/multiplaybunnei
input_common: Add advanced setting for 8 player support
2021-09-17Merge pull request #7015 from german77/NotGoodForTerrabunnei
ngct: Stub Match
2021-09-16Merge pull request #7011 from ameerj/vk-validation-0x0bunnei
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
2021-09-16Merge pull request #7027 from ameerj/sorry-amdFernando S
vulkan_device: Reorder Float16Int8 declaration
2021-09-16vulkan_device: Reorder Float16Int8 declarationameerj
This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
2021-09-16Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"ameerj
This reverts commit 62e88d0e7455e37840db7e2a8e199bc6ca176966, reversing changes made to edf3da346f4ec0ca492b427f4f693d56e84abc52.
2021-09-15Merge pull request #7010 from Morph1984/fs-timestampbunnei
vfs: Partially implement GetFileTimeStampRaw
2021-09-15fix_clang_errorMoonlacer
2021-09-15fix_accidental_deletionMoonlacer
2021-09-15remove-audio-stretching-settingMoonlacer
2021-09-15vk_scheduler: Use std::jthreadameerj
2021-09-15gpu: Use std::jthread for async gpu threadameerj
2021-09-15threadsafe_queue: Add std::stop_token overload to PopWaitameerj
Useful for jthreads which make use of the threadsafe queues.
2021-09-15Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.Fernando Sahmkow
2021-09-15ngct: Stub MatchNarr the Reg
Needed for Cruis'n Blast
2021-09-14renderers: Log total pipeline countMorph
2021-09-14vfs: Partially implement GetFileTimeStampRawMorph
Gets rid of homebrew warnings using this func
2021-09-13Merge pull request #7009 from ameerj/main_process_cleanupbunnei
core: Destroy main_process during shutdown
2021-09-13core: Destroy main_process during shutdownameerj
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-09-13vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errorsameerj
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed. This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
2021-09-13Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiruMorph
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
2021-09-13Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.Fernando Sahmkow
2021-09-13Merge pull request #7006 from FernandoS27/a-motherfucking-driverMorph
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
2021-09-13Merge pull request #7005 from Morph1984/enum-bitwise-shift-opsMai M
common_funcs: Add enum flag bitwise shift operator overloads
2021-09-13Merge pull request #6944 from FernandoS27/dear-drunk-meMorph
Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
2021-09-13Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1Fernando Sahmkow
2021-09-13Merge pull request #7001 from ameerj/wario-fixFernando S
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
2021-09-13Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.Fernando Sahmkow
2021-09-13common_funcs: Add enum flag bitwise shift operator overloadsMorph
This adds bitwise shift operator overloads (<<, >>, <<=, >>=) in the macro DECLARE_ENUM_FLAG_OPERATORS(type)
2021-09-12Merge pull request #7000 from Morph1984/create-dir-commentAmeer J
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS ↵ameerj
is unlocked Allows drivers that do not support VK_PRESENT_MODE_MAILBOX_KHR the ability to present at a framerate higher than the monitor's refresh rate when the FPS is unlocked.
2021-09-12Merge pull request #7002 from ameerj/vk-state-unusedMai M
vk_state_tracker: Remove unused function
2021-09-12vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabledameerj
This function was incorrectly using the stencil_two_side_enable register when dynamically updating the StencilOp.
2021-09-12vk_state_tracker: Remove unused functionameerj