| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
|
| | |
| |
| |
| |
| |
| | |
And make IManagerForApplication::CheckAvailability always return false.
Returning a bogus id from GetAccountId causes games to crash on boot.
We should investigate this with a hwtest and either stub it properly or implement it.
|
| |\ \
| | |
| | | |
filesys/loader: std::move VirtualFile instances in constructors where applicable
|
| | | |
| | |
| | |
| | | |
This avoids unnecessary atomic reference count increments and decrements
|
| | | |
| | |
| | |
| | |
| | | |
Avoids potentially unnecessary atomic reference count incrementing and
decrementing, as well as string copying.
|
| |\ \ \
| | | |
| | | | |
audout_u/audren_u: Ensure null terminators are written out in ListAudioOutsImpl(), ListAudioDeviceName(), and GetActiveAudioDeviceName()
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
interface/device name
std::string doesn't include the null-terminator in its data() + size()
range. This ensures that the null-terminator will also be written to the buffer
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
interface name
Uses a type that doesn't potentially dynamically allocate, and ensures
that the name of the interface is properly null-terminated when writing
it to the buffer.
|
| |\ \ \
| | | |
| | | | |
thread: Convert ThreadStatus into an enum class
|
| | |/ /
| | |
| | |
| | |
| | | |
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
|
| |\ \ \
| | | |
| | | | |
partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
|
| | |/ /
| | |
| | |
| | |
| | | |
This should be returned here, otherwise pfs_dirs is effectively only
ever added to, but never read.
|
| |\ \ \
| |_|/
|/| | |
nso: Minor changes
|
| | | | |
|
| | |/ |
|
| |/
|
|
| |
With the new overload, we can simply pass the container directly.
|
| |\
| |
| | |
hle_ipc: Introduce generic WriteBuffer overload for multiple container types
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This introduces a slightly more generic variant of WriteBuffer().
Notably, this variant doesn't constrain the arguments to only accepting
std::vector instances. It accepts whatever adheres to the
ContiguousContainer concept in the C++ standard library.
This essentially means, std::array, std::string, and std::vector can be
used directly with this interface. The interface no longer forces you to
solely use containers that dynamically allocate.
To ensure our overloads play nice with one another, we only enable the
container-based WriteBuffer if the argument is not a pointer, otherwise
we fall back to the pointer-based one.
|
| |\ \
| | |
| | | |
pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
|
| | |/
| |
| |
| |
| | |
This WriteBuffer overload expects its size argument to be in bytes, not
elements.
|
| |\ \
| | |
| | | |
HLE/ACC: Change the default user id and small improvements to the way we handle profiles
|
| | | |
| | |
| | |
| | |
| | | |
The default username for now is "yuzu".
We should eventually allow the creation of users in the emulator and have the ability to modify their parameters.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
on startup.
In IApplicationFunctions::PopLaunchParameter we tell the games that they were launched as user id 1.
|
| |\ \ \
| | | |
| | | | |
HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
|
| | |/ /
| | |
| | |
| | | |
We only emulate a single user id for now.
|
| |\ \ \
| | | |
| | | | |
pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
|
| | | |/
| |/|
| | |
| | |
| | |
| | | |
GetSharedFontInOrderOfPriority()
This can just use the fmt specifiers and be type-agnostic.
|
| |\ \ \
| | | |
| | | | |
gdbstub: Get rid of a few signed/unsigned comparisons
|
| | | | |
| | | |
| | | |
| | | | |
Ensures both operands in comparisons are the same signedness.
|
| |\ \ \ \
| | | | |
| | | | | |
hid: Resolve a signed/unsigned comparison warning
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Modernizes the loops themselves while also getting rid of a signed/unsigned
comparison in a loop condition.
|
| | |/ / /
| | | |
| | | |
| | | | |
Gets rid of the use of a magic constant
|
| |\ \ \ \
| | | | |
| | | | | |
svc: Correct always true assertion case in SetThreadCoreMask
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The reason this would never be true is that ideal_processor is a u8 and
THREADPROCESSORID_DEFAULT is an s32. In this case, it boils down to how
arithmetic conversions are performed before performing the comparison.
If an unsigned value has a lesser conversion rank (aka smaller size)
than the signed type being compared, then the unsigned value is promoted
to the signed value (i.e. u8 -> s32 happens before the comparison). No
sign-extension occurs here either.
An alternative phrasing:
Say we have a variable named core and it's given a value of -2.
u8 core = -2;
This becomes 254 due to the lack of sign. During integral promotion to
the signed type, this still remains as 254, and therefore the condition
will always be true, because no matter what value the u8 is given it
will never be -2 in terms of 32 bits.
Now, if one type was a s32 and one was a u32, this would be entirely
different, since they have the same bit width (and the signed type would
be converted to unsigned instead of the other way around) but would
still have its representation preserved in terms of bits, allowing the
comparison to be false in some cases, as opposed to being true all the
time.
---
We also get rid of two signed/unsigned comparison warnings while we're
at it.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
loader: Amend Doxygen comments
|
| | |/ / / /
| | | | |
| | | | |
| | | | | |
These weren't adjusted when VFS was introduced
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
value
We should always assume the filesystem is volatile and check each IO
operation. While we're at it reorganize checks so that early-out errors
are near one another.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
hle/service: Make constructors explicit where applicable
|
| | |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Prevents implicit construction and makes these lingering non-explicit
constructors consistent with the rest of the other classes in services.
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | | |
nvflinger: Emplace Display instances directly
|
| | |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We can use emplace_back to construct the Display instances directly,
instead of constructing them separately and copying them, avoiding the
need to copy std::string and std::vector instances that are part of the
Display struct.
|
| |\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
nvdrv: Take std::string by const reference in GetDevice()
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
This is only ever used as a lookup into the device map, so we don't need to
take the std::string instance by value here.
|
| |\ \ \ \ \
| |_|_|_|/
|/| | | | |
Filesystem: Return EntryType::Directory for the root directory.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
It is unknown if this is correct behavior, but it makes sense and fixes a regression with Stardew Valley.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloads
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
WriteBuffer() overloads
Previously, the buffer_index parameter was unused, causing all writes to
use the buffer index of zero, which is not necessarily what is wanted
all the time.
Thankfully, all current usages don't use a buffer index other than zero,
so this just prevents a bug before it has a chance to spring.
|
| |\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
fsp_srv: Misc individual changes
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We can avoid constructing a std::vector here by simply passing a pointer
to the original data and the size of the copy we wish to perform to the
backend's Write() function instead, avoiding copying the data where it's
otherwise not needed.
|