Age | Commit message (Collapse) | Author |
|
common: Replace common_sizes into user-literals
|
|
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
|
|
|
|
externals: Update fmt to 8.0.0
|
|
Also removes some deprecated API usages.
|
|
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
|
|
common/detached_tasks: Wait for tasks before shutting down
|
|
This provides a more concrete example of what a regular file is and isn't.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Update dynarmic and add new unsafe CPU option.
|
|
nvflinger: Add experimental toggle to disable buffer swap interval limits
|
|
|
|
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
|
|
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
|
|
|
|
|
|
textures: Add a toggle for GPU Accelerated ASTC decoder
|
|
fsp_srv: Fix filesystem access logging
|
|
The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
|
|
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.
|
|
common: fs: file: Flush the file to the disk when Flush() is called
|
|
|
|
common: fs: Use the normal directory iterator in *Recursively functions
|
|
|
|
Allows us to forward declare Common::FS::IOFile.
|
|
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.
|
|
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.
|
|
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.
|
|
Workaround old headers and libraries shipped on MinGW.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
We can't make use of the return value here, since we don't a return
value to work with.
|
|
common_funcs: Move R_ macros to result.h
|
|
|
|
|
|
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.
|
|
core/memory: Check our memory fallbacks for out-of-bound behavior.
|
|
This makes it by far harder to crash yuzu.
Also implement the 48bit masking of AARCH64 while touching this code.
|
|
This is generic enough that it can be moved into the Common class for
reuse.
|
|
Relocates them to the same place the move equivalents are at for
consistent viewing.
|
|
IOFile is a final class, so there's no need for a virtual destructor.
|
|
Prevents a potential uninitialized read vector in the move constructor.
|