summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-05-29core/memory: Check our memory fallbacks for out-of-bound behavior.Markus Wick
This makes it by far harder to crash yuzu. Also implement the 48bit masking of AARCH64 while touching this code.
2021-05-29core/arm_interface: Improve the performance of memory fallbacks.Markus Wick
We just create one memory subsystem. This is a constant all the time. So there is no need to call the non-inlined parent.Memory() helper on every callback.
2021-05-28Merge pull request #6371 from degasus/drop_ExceptionalExitbunnei
core/arm_interface: Call SVC after end of dynarmic block.
2021-05-28Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicybunnei
hid: ApplyNpadSystemCommonPolicy
2021-05-28common/fs/file: Explicitly delete copy constructorsLioncash
Relocates them to the same place the move equivalents are at for consistent viewing.
2021-05-28common/fs/file: Devirtualize destructorLioncash
IOFile is a final class, so there's no need for a virtual destructor.
2021-05-28common/fs/file: Default initialize IOFile membersLioncash
Prevents a potential uninitialized read vector in the move constructor.
2021-05-27video_core: rasterizer_cache: Use u16 for cached page count.bunnei
- Greatly reduces the risk of overflow, at the cost of doubling the size of this array.
2021-05-27core/arm_interface: Call SVC after end of dynarmic block.Markus Wick
So we can modify all of dynarmic states within SVC without ExceptionalExit. Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
2021-05-27Merge pull request #6346 from lat9nq/apply-config-pgcAmeer J
yuzu qt: Add an Apply button to configuration dialogs
2021-05-26Merge pull request #6366 from lat9nq/bundled-qt-linuxMai M
cmake: Download Qt binaries on Linux if needed
2021-05-26cmake: Download Qt binaries on Linux if neededlat9nq
If the local version of Qt is older than the minimum version required by yuzu, download a pre-built binary package from yuzu-emu/ext-linux-bin and build yuzu with it, instead. This also requires linking yuzu to the correct libraries after building it, and copying over the required binaries when building yuzu. This sets the Qt requirement to 5.12, which is intentionally behind the versions used by our toolchains since they are not all updated yet to 5.15.
2021-05-26core/arm: Drop ChangeProcessorID.Markus Wick
This code was used to switch the CPU ID on thread switches. However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant. This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it.
2021-05-26Merge pull request #6331 from lioncash/gestureMorph
hid/gesture: Simplify point related code
2021-05-25Merge pull request #6339 from Morph1984/swkbd-queuedconnectionbunnei
applets/swkbd: Make use of QueuedConnection in returnPressed signal
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2021-05-25Merge pull request #6349 from german77/suppress_config_warningbunnei
settings: Suppress duplicate label name warning
2021-05-25Merge pull request #6353 from german77/handheld_dockedbunnei
settings: Forbid docked mode on handheld
2021-05-25yuzu qt: Add an Apply button to configuration dialogslat9nq
Most of the code already exists to do this, but the Apply button itself was never added. This adds a button and boolean that tells yuzu to save the configuration after applying settings, even if close/Cancel is pressed on the dialog. Changes after applying will not be saved when Cancel is pressed, though.
2021-05-25kernel: process_capability: Add MapRegion capabilityMorph
- Used by nx-hbloader
2021-05-24Merge pull request #6357 from lioncash/compressionbunnei
common/compression: Make use of std::span
2021-05-24Merge pull request #6312 from german77/analogMappingbunnei
input_common: Rewrite sdl analog mapping and fix controller disconnection crash
2021-05-24zstd_compression: Make use of std::spanLioncash
Allows for the incoming data stream to be non-allocating.
2021-05-24lz4_compression: Make use of std::spanLioncash
Allows making the incoming data stream non-allocating.
2021-05-24hid: ApplyNpadSystemCommonPolicyChloe Marcec
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-23settings: Forbid docked mode on handheldgerman77
2021-05-23Merge pull request #6347 from bunnei/ipc-improvements-next-2bunnei
Various improvements to IPC and session management (Part 2)
2021-05-22settings: Suppress duplicate label name warninggerman77
2021-05-22applets/swkbd: Make use of QueuedConnection in returnPressed signalMorph
Some users have reported rare crashes when pressing the Enter key on the keyboard to confirm input in the normal software keyboard, particularly in Super Smash Bros. Ultimate while entering the name of a ruleset or controller layout. It is suspected that the QLineEdit::returnPressed signal is causing a race condition as confirming input through other means does not produce the crash. Since Qt::QueuedConnection posts an event to the event queue of the callee's thread instead of executing it directly on the caller's thread, this eliminates any potential race conditions from occurring in this scenario.
2021-05-20Merge pull request #6248 from A-w-x/intelmesabunnei
gl_device: Intel: Disable texture view formats workaround on mesa
2021-05-20Merge pull request #6333 from Morph1984/swkbd-confirm-textbunnei
applets/swkbd: Send the correct text string on TextCheck::Confirm
2021-05-20hle: kernel: service_thread: Take reference to KServerSession on service ↵bunnei
request.
2021-05-20hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.bunnei
- Fixes a use-after-free, work-around until we fixup session/port management.
2021-05-20hle: kernel: Use host memory allocations for KSlabMemory.bunnei
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-20Revert "WORKAROUND: Do not use slab heap while we track down issues with ↵bunnei
resource management." This reverts commit f2c26443f85a3c3fd43137509368ba5c7ab80ee7.
2021-05-20hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.bunnei
2021-05-20common: tree: Avoid a crash on nullptr dereference.bunnei
2021-05-20hle: kernel: Implement CloneCurrentObject and improve session management.bunnei
2021-05-20Revert "WORKAROUND: temp. disable session resource limits while we work out ↵bunnei
issues" This reverts commit fc086f93b2165b5c210cb7dcd6c18ebe17f1fd7b.
2021-05-20Merge pull request #6320 from Morph1984/get-pidbunnei
hle_ipc: Add a getter for PID
2021-05-20Merge pull request #6321 from lat9nq/per-game-cpubunnei
configuration: Add CPU tab to game properties and slight per-game settings rework
2021-05-20configure_cpu: Simplify UpdateGrouplat9nq
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-19Merge pull request #6297 from lioncash/common-convbunnei
parent_of_member: Make sign conversion explicit in OffsetOfImpl()
2021-05-19Merge pull request #6310 from german77/nanMotionbunnei
input_common: Sanitize motion data
2021-05-19configuration_shared: Drop unused function and template anotherlat9nq
Drops an unused variant of ApplyPerGameSetting, and turns the QComboBox variants of SetPerGameSetting into a template. Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-19applets/swkbd: Send the correct text string on TextCheck::ConfirmMorph
Previously the text string for the inline software keyboard was being sent instead of the normal software keyboard, leading to empty text being sent all the time.
2021-05-18Merge pull request #6317 from ameerj/fps-fixbunnei
perf_stats: Rework FPS counter to be more accurate
2021-05-18KTransferMemory: Return size instead of size * PageSize in GetSize()Morph
size is already the size in bytes. We do not need to multiply it by the page size
2021-05-18hid/gesture: Factor out last gesture retrieval into its own functionLioncash
Deduplicates a commonly repeated expression.
2021-05-18hid/gesture: Ensure all ID arrays are initializedLioncash
Makes for deterministic initial state.