| Age | Commit message (Collapse) | Author |
|
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
|
|
file_util: Use an enum class for GetUserPath()
|
|
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx.
Many thanks to @gdkchan for investigating this!
|
|
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
|
|
partition_filesystem, vfs_real: Minor changes
|
|
arm_interface: Remove unused tls_address member of ThreadContext
|
|
file_sys/errors: Remove redundant object constructor calls
|
|
CPU: Save and restore the TPIDR_EL0 system register on every context switch
|
|
vfs: Minor changes
|
|
Loader: Only print the module names and addresses if they actually exist.
|
|
Given we're already constructing the error code, we don't need to call
the constructor inside of it.
|
|
and GetSubdirectories()
We already return by value, so we don't explicitly need to make the
copy.
|
|
|
|
ReplaceFileWithSubdirectory() where applicable
Avoids unnecessary atomic increment and decrement operations.
|
|
This is a little bit more self-documenting on what is being done here.
|
|
We can simply use std::clamp() here, instead of using an equivalent
with std::max() and std::min().
|
|
const reference
Given the data is intended to be directly written, there's no need to
take the std::vector by value and copy the data.
|
|
Provides the same behavior, but with less writing
|
|
functions to be const qualified
These functions don't modify the data being pointed to, so these can be
pointers to const data
|
|
|
|
Note that there's currently a dynarmic bug preventing this register from being written.
|
|
Currently, the TLS address is set within the scheduler, making this
member unused.
|
|
apm: Improve stub for GetPerformanceConfiguration.
|
|
|
|
Allows pushing strongly-typed enum members without the need to always
cast them at the call sites.
Note that we *only* allow strongly-typed enums in this case. The reason
for this is that strongly typed enums have a guaranteed defined size, so
the size of the data being pushed is always deterministic. With regular
enums this can be a little more error-prone, so we disallow them.
This function simply uses the underlying type of the enum to determine
the size of the data. For example, if an enum is defined as:
enum class SomeEnum : u16 {
SomeEntry
};
if PushEnum(SomeEnum::SomeEntry); is called, then it will push a
u16-size amount of data.
|
|
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
|
|
filesys/loader: std::move VirtualFile instances in constructors where applicable
|
|
audout_u/audren_u: Ensure null terminators are written out in ListAudioOutsImpl(), ListAudioDeviceName(), and GetActiveAudioDeviceName()
|
|
thread: Convert ThreadStatus into an enum class
|
|
partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
|
|
nso: Minor changes
|
|
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.
|
|
This avoids unnecessary atomic reference count increments and decrements
|
|
Avoids potentially unnecessary atomic reference count incrementing and
decrementing, as well as string copying.
|
|
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.
|
|
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
|
|
This should be returned here, otherwise pfs_dirs is effectively only
ever added to, but never read.
|
|
|
|
|
|
With the new overload, we can simply pass the container directly.
|
|
hle_ipc: Introduce generic WriteBuffer overload for multiple container types
|
|
pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
|
|
HLE/ACC: Change the default user id and small improvements to the way we handle profiles
|
|
HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
|
|
pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
|
|
gdbstub: Get rid of a few signed/unsigned comparisons
|
|
hid: Resolve a signed/unsigned comparison warning
|
|
svc: Correct always true assertion case in SetThreadCoreMask
|
|
loader: Amend Doxygen comments
|