summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | general: Add missing #pragma once directivesGravatar Morph2021-06-241-0/+2
| |
* | Merge pull request #6517 from lioncash/fmtlibGravatar bunnei2021-06-231-1/+2
|\ \ | |/ |/| externals: Update fmt to 8.0.0
| * General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableGravatar Lioncash2021-06-231-1/+2
| | | | | | | | Also removes some deprecated API usages.
* | Merge pull request #6465 from FernandoS27/sex-on-the-beachGravatar Mai M2021-06-233-0/+4
|\ \ | |/ |/| GPU: Implement a garbage collector for GPU Caches (project Reaper+)
| * Reaper: Address Feedback.Gravatar Fernando Sahmkow2021-06-161-0/+1
| |
| * Reaper: Setup settings and final tuning.Gravatar Fernando Sahmkow2021-06-162-0/+3
| |
* | Merge pull request #6512 from ReinUsesLisp/wait-detached-stasksGravatar Mai M2021-06-221-0/+2
|\ \ | | | | | | common/detached_tasks: Wait for tasks before shutting down
| * | common/detached_tasks: Wait for tasks before shutting downGravatar Rodrigo Locatti2021-06-221-0/+2
| | | | | | | | | | | | | | | | | | If this is not waited on, the synchronization primitives are destroyed whe main exits and the detached task ends up signalling garbage and not properly finishing.
* | | common: fs: Add a description of a regular file in IsFileGravatar Morph2021-06-221-4/+6
| | | | | | | | | | | | This provides a more concrete example of what a regular file is and isn't.
* | | common: fs: Amend IsFile check in FileOpen / (Write/Append)StringToFileGravatar Morph2021-06-224-9/+12
| | | | | | | | | | | | | | | | | | | | | This check was preventing files with the Write or Append file access modes from being created, as per the documented behavior in FileAccessMode. This amends the check to test for the existence of a filesystem object prior to checking whether it is a regular file. Thanks to liushuyu for pointing out that removing the check altogether would not guard against attempting to open non-regular files such as directories, symlinks, FIFO (pipes), sockets, block devices, or character devices. The documentation has also been updated for these functions to clarify that a file refers to a regular file.
* | | common: fs: file: Remove [[nodiscard]] attribute from FlushGravatar Morph2021-06-222-3/+3
| | | | | | | | | | | | Similarly, Flush() is typically called to attempt to flush a file into the disk. In the one case where this is used, we do not care whether the flush has succeeded or not, making [[nodiscard]] unnecessary.
* | | common: fs: Remove [[nodiscard]] attribute on Remove* functionsGravatar Morph2021-06-222-9/+9
|/ / | | | | | | | | | | There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal. As such, removing the [[nodiscard]] attribute is best for these functions.
* | Merge pull request #6499 from FernandoS27/we-were-on-a-breakGravatar bunnei2021-06-212-0/+2
|\ \ | | | | | | Update dynarmic and add new unsafe CPU option.
| * | Update dynarmic and add new unsafe CPU option.Gravatar Fernando Sahmkow2021-06-202-0/+2
| | |
* | | Merge pull request #6475 from ameerj/unlimit-fpsGravatar bunnei2021-06-211-0/+1
|\ \ \ | |/ / |/| | nvflinger: Add experimental toggle to disable buffer swap interval limits
| * | nvflinger: Add toggle to disable buffer swap interval limitsGravatar ameerj2021-06-171-0/+1
| |/ | | | | | | | | Enabling this setting will allow some titles to present more frames to the screen as they become available in the nvflinger buffer queue.
* / host_memory: Correct MEM_RESERVE_PLACEHOLDERGravatar lat9nq2021-06-191-1/+1
|/ | | | | Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our manually imported version of it drops the last zero.
* Merge pull request #6464 from ameerj/disable-astcGravatar bunnei2021-06-162-0/+3
|\ | | | | textures: Add a toggle for GPU Accelerated ASTC decoder
| * configure_graphics: Add Accelerate ASTC decoding settingGravatar ameerj2021-06-152-0/+3
| |
* | Merge pull request #6460 from Morph1984/fs-access-log-fixGravatar Morph2021-06-163-6/+2
|\ \ | | | | | | fsp_srv: Fix filesystem access logging
| * | common: fs: file: Remove redundant call to WriteStringToFileGravatar Morph2021-06-162-6/+1
| | | | | | | | | | | | The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
| * | fsp_srv: Fix filesystem access loggingGravatar Morph2021-06-161-0/+1
| |/ | | | | | | | | | | | | | | This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard. Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
* | Merge pull request #6462 from Morph1984/proper-flushGravatar bunnei2021-06-151-1/+5
|\ \ | |/ |/| common: fs: file: Flush the file to the disk when Flush() is called
| * common: fs: file: Flush the file to the disk when Flush() is calledGravatar Morph2021-06-131-1/+5
| | | | | | | | | | | | std::fflush does not guarantee that file buffers are flushed to the disk. Use _commit on Windows and fsync on all other OSes to ensure that the file is flushed to the disk.
* | Merge pull request #6448 from Morph1984/recursive-dir-iteratorGravatar Fernando Sahmkow2021-06-141-2/+16
|\ \ | | | | | | common: fs: Use the normal directory iterator in *Recursively functions
| * | common: fs: Use the normal directory iterator in *Recursively functionsGravatar Morph2021-06-121-2/+16
| |/ | | | | | | | | | | MSVC's implementation of recursive_directory_iterator throws an exception on an error despite a std::error_code being passed into its constructor. This is most likely a bug in MSVC's implementation since directory_iterator does not throw an exception on an error. We can replace the usage of recursive_directory_iterator for now until MSVC fixes their implementation of it.
* | common: logging: Restructure backend codeGravatar Morph2021-06-138-278/+288
| |
* | common: logging: backend: Wrap IOFile in a unique_ptrGravatar Morph2021-06-132-6/+27
|/ | | | Allows us to forward declare Common::FS::IOFile.
* common/host_memory: Implement a fallback if fastmem fails.Gravatar Markus Wick2021-06-112-14/+49
| | | | | | This falls back to the old approach of using a virtual buffer. Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
* common/host_shader: Load Windows 10 functions dynamicallyGravatar ReinUsesLisp2021-06-111-29/+88
| | | | Workaround old headers and libraries shipped on MinGW.
* host_memory: Support staged VirtualProtect callsGravatar ReinUsesLisp2021-06-111-3/+12
|
* General: Add settings for fastmem and disabling adress space check.Gravatar FernandoS272021-06-112-0/+12
|
* common/host_memory: Optimize for huge tables.Gravatar Markus Wick2021-06-112-11/+24
| | | | | In theory, if we have 2 MB continously mapped, this should save one layer of TLB. Let's make it at least more likely by aligning the memory.
* core: Make use of fastmemGravatar Markus Wick2021-06-111-0/+2
|
* common/host_memory: Add Linux implementationGravatar Markus Wick2021-06-111-10/+120
|
* common/host_memory: Add interface and Windows implementationGravatar ReinUsesLisp2021-06-113-0/+384
|
* src/common/CMakeLists.txt: fix variable escapingGravatar liushuyu2021-06-091-8/+9
|
* common/fs/path_util: Remove [[nodiscard]] from function with void returnGravatar Lioncash2021-06-081-1/+1
| | | | | We can't make use of the return value here, since we don't a return value to work with.
* Merge pull request #6395 from lioncash/result-moveGravatar Morph2021-06-021-25/+0
|\ | | | | common_funcs: Move R_ macros to result.h
| * common_funcs: Move R_ macros to result.hGravatar Lioncash2021-05-311-25/+0
| | | | | | | | | | | | These macros all interact with the result code type, so they should ideally be within this file as well, so all the common_funcs machinery doesn't need to be pulled in just to use them.
* | common: fs: fs_util: Move PathToUTF8String to fs_utilGravatar Morph2021-06-024-15/+14
| |
* | common: fs: fs_util: Add more string conversion functionsGravatar Morph2021-06-022-0/+33
|/
* Merge pull request #6385 from degasus/save_memory_accessGravatar bunnei2021-05-302-0/+7
|\ | | | | core/memory: Check our memory fallbacks for out-of-bound behavior.
| * core/memory: Check our memory fallbacks for out-of-bound behavior.Gravatar Markus Wick2021-05-292-0/+7
| | | | | | | | | | | | This makes it by far harder to crash yuzu. Also implement the 48bit masking of AARCH64 while touching this code.
* | common: Extract point into a common structGravatar Lioncash2021-05-282-0/+58
|/ | | | | This is generic enough that it can be moved into the Common class for reuse.
* common/fs/file: Explicitly delete copy constructorsGravatar Lioncash2021-05-281-1/+4
| | | | | Relocates them to the same place the move equivalents are at for consistent viewing.
* common/fs/file: Devirtualize destructorGravatar Lioncash2021-05-281-1/+1
| | | | IOFile is a final class, so there's no need for a virtual destructor.
* common/fs/file: Default initialize IOFile membersGravatar Lioncash2021-05-281-2/+2
| | | | Prevents a potential uninitialized read vector in the move constructor.
* common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-2520-1432/+2963
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge pull request #6357 from lioncash/compressionGravatar bunnei2021-05-244-7/+8
|\ | | | | common/compression: Make use of std::span