| Age | Commit message (Collapse) | Author |
|
kernel objects. (#3154)
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
|
|
|
|
|
|
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
|
|
Kernel: Correct Cancel Synchronization.
|
|
service/am: Remove unnecessary Skip calls
|
|
am: Stub QueryApplicationPlayStatistics
|
|
|
|
When the target is 0, all threads must be processed.
|
|
hardware.
This commit ensures cond var threads act exactly as they do in the real
console. The original implementation uses an RBTree and the behavior of
cond var threads is that at the same priority level they act like a
FIFO.
|
|
This commit corrects the behavior of cancel synchronization when the
thread is running/ready and ensures the next wait is cancelled as it's
suppose to.
|
|
core: Make most implicit type conversion warnings errors on MSVC
|
|
We can simplify these by wrapping the necessary members in structs and
then simply reading out the whole struct.
|
|
Maintains implementation parity between QueryApplicationPlayStatistics
and QueryApplicationPlayStatisticsByUid.
These function the same behaviorally underneath the hood, with the only
difference being that one allows specifying a UID.
|
|
Implement stub for IApplicationFunctions::QueryApplicationPlayStatisticsByUid
|
|
core: Migrate off deprecated mbedtls functions
|
|
key_manager: Make use of IOFile in WriteKeyToFile()
|
|
We can just call the .data() member of path instead of constructing a
completely new string.
|
|
Keeps the function tables up to date.
Updated based off information from Switchbrew.
|
|
This properly handles unicode-based paths on Windows, while opening a
raw stream doesn't out-of-the-box.
Prevents file creation from potentially failing on Windows PCs that make
use of unicode characters in their save paths (e.g. writing to a user's
AppData folder, where the user has a name with non-ASCII characters).
|
|
These functions are marked for deprecation and it's recommended that the
*_ret variants be used instead.
|
|
Since the introduction of this library, numerous improvements have been
made. Notably, many of the warnings we would get by simply including the
library header have now been fixed. This makes it much easier to make
conversion warning an error.
|
|
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
|
|
We simply need to turn the literal argument to std::accumulate into a
double, rather than an int.
|
|
|
|
|
|
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an
unsigned variable (ideal_core) was being compared against "< 0", which
would always be a false condition.
We can also get rid of an unused function (GetNextProcessorId) which contained a sign
mismatch warning.
|
|
Resolves a few trivial sign conversion/mismatch errors.
|
|
Will be used to reduce the overall duplication of the same magic value
all over the codebase in following changes.
|
|
|
|
The constructor was implicitly using signed->unsigned conversions to
produce 0xFFFFFFFF. We can just specify this explicitly with UINT32_MAX.
|
|
While we're at it, this also resolves a type truncation warning as well,
given the code was truncating from a 64-bit value to a 32-bit one.
|
|
Quite frequently there have been cases where code has been merged into
the core that produces warning. In order to prevent this from occurring,
we can make the compiler flag these cases and allow our CI to flag down
any code that would generate these warnings.
This is beneficial given silent conversions from signed/unsigned can
result in logic bugs. This forces one writing changes to be explicit
about when signedness conversions are desirable, rather than leaving it
up to readers' interpretation.
Currently the codebase isn't in a state where it will build successfully
with this change applied, but this will be addressed in subsequent
follow-up changes. This set of changes will focus on making it build
properly with these changes for MSVC as a starting point for basic
coverage.
|
|
|
|
This helps games that need internet for other purposes boot as the rest
of our internet infrastructure is incomplete.
|
|
kernel: Improve events
|
|
hid: Stub SetNpadJoyAssignmentModeSingle and GetNpadHandheldActivationMode
|
|
- Zero initialization here is useful for determinism.
|
|
|
|
- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
# src/core/hle/service/am/applets/applets.cpp
# src/core/hle/service/filesystem/fsp_srv.cpp
|
|
|
|
SetApplicationCopyrightImage and SetApplicationCopyrightVisibility
These commands require Screenshots to be implemented anyway, so they are safe to stub for now.
|
|
kernel/scheduler: Minor changes
|
|
savedata_factory: Automatically create certain savedata
|
|
This is only compared against, so it can be made const.
|
|
|
|
Reduces the overall amount of code.
|
|
Adjusts the formatting of a few of the comments an ensures they get
recognized as proper Doxygen comments.
|
|
Kernel: Implement a New Thread Scheduler V2
|
|
hid/npad: Minor cleanup
|