Age | Commit message (Collapse) | Author |
|
Fixes instances where DivCeil(u32, u64) would surprisingly return u64,
instead of the more natural u32.
|
|
|
|
|
|
core/memory: Read and write page table atomically
|
|
Service threads
|
|
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
|
|
|
|
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
|
|
Rewrite Kernel scheduler based on Atmosphere
|
|
Fixes regression by 761206cf81b271f7f4dd6a167a120325b760dbf3, causing
yuzu to not build on Linux with any version of Boost except a cached
1.73 Conan version from before about a day ago.
Moves the Boost requirement out of the `REQUIRED_LIBS` psuedo-2D-array
for Conan to instead be manually configured, using Conan as a fallback
solution if the system does not meet our requirements.
Requires any update from the linux-fresh container in order to build.
**DO NOT MERGE** until someone with the MSVC toolchain can verify this
works there, too.
|
|
|
|
This reverts commit ce5fcb6bb2c358b0251a2ce87945bda52789a76d, reversing
changes made to 6f41763061082d5fa2ab039c554427152243cb46.
|
|
This reverts commit 5fe55b16a11d9ec607fb8a3fdddc77a4393cd96a, reversing
changes made to e94dd7e2c4fc3f7ca2c15c01bdc301be2b8a4c1b.
|
|
This reverts commit 4e94d0d53af2cdb7b03ef9de23cc29f3565df97a, reversing
changes made to 6d6115475b4edccdf1bb4e96ecc3d3b1be319e76.
|
|
This reverts commit cdb36aef9ec9d30bdef1953f9ed46776ae2f12af, reversing
changes made to 5e9b77129f2cf8c039a8d98033cae4ac0f93f515.
|
|
|
|
Fix invalid encoding paths when iterating over a directory on Windows.
|
|
Fix CreateFullPath to have its intended previous behavior (whatever
that was), and deprecate it in favor of the new CreateDirs function.
Unlike CreateDir, CreateDirs is marked as [[nodiscard]] to avoid new
code ignoring its result value.
|
|
|
|
Converts creation and deletion functions over to std::filesystem,
simplifying our file-handling code.
Notably with this, CopyDir will now function on Windows.
|
|
Greatly simplifies our file-handling code for these functions.
|
|
video_core: Resolve more variable shadowing scenarios pt.3
|
|
|
|
|
|
|
|
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
|
|
Makes for less reading.
|
|
|
|
Kernel: Refactor to use 4-instances of Dynarmic & various cleanups and improvements
|
|
audio_core: Make shadowing and unused parameters errors
|
|
Moves the audio code closer to enabling warnings as errors in general.
|
|
- This will be aligned by default, and helps memory usage.
|
|
|
|
Add an equivalent to 'Common::AlignUp(n, d) / d' and a log2 alternative.
|
|
logging/settings: Increase maximum log size to 100 MB and add extended logging option
|
|
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
|
|
Add a std::bit_cast-like function archiving the same runtime results as
the standard function, without compile time support.
This allows us to use bit_cast while we wait for compiler support, it
can be trivially replaced in the future.
|
|
functions.
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
|
|
Prevents us from churning memory by freeing and reallocating a memory
block that would have already been adequate as is.
|
|
VirtualBuffer makes use of VirtualAlloc (on Windows) and mmap() (on
other platforms). Neither of these ensure that non-trivial objects are
properly constructed in the allocated memory.
To prevent potential undefined behavior occurring due to that, we can
add a static assert to loudly complain about cases where that is done.
|
|
Makes page tables and virtual buffers able to be moved, but not copied,
making the interface more flexible.
Previously, with the destructor specified, but no move assignment or
constructor specified, they wouldn't be implicitly generated.
|
|
Resolves two -Wdocumentation warnings.
|
|
Prevents indirect inclusions for these headers.
|
|
Hides all of the implementation details for users of the class. This has
the benefit of reducing includes and also making the fiber classes
movable again.
|
|
Allows building on clang to work again
|
|
Cleans up common so that we can enable warnings as errors.
|
|
General: Make ignoring a discarded return value an error
|
|
Allows our CI to catch more potential bugs. This also removes the
[[nodiscard]] attribute of IOFile's Open member function. There are
cases where a file may want to be opened, but have the status of it
checked at a later time.
|
|
|
|
YieldTo does not intend to modify the passed shared_ptrs.
Pass it by copy to keep a reference count while this function executes.
|