Commit Graph

7251 Commits (d66b43dadfac1e9324fee48e97361e2f858f8af5)
 

Author SHA1 Message Date
Lioncash 50d08beed2 loader: Amend Doxygen comments
These weren't adjusted when VFS was introduced
7 years ago
bunnei bbc31ba6af
Merge pull request #709 from lioncash/thread-local
common/misc: Deduplicate code in GetLastErrorMsg()
7 years ago
bunnei 130a02f330
Merge pull request #708 from lioncash/xbyak
externals: Update Xbyak to 5.65
7 years ago
bunnei 8176ab3a07
Merge pull request #707 from lioncash/catch
externals: Update catch to v2.2.3
7 years ago
Lioncash 9b22f856c2 loader/nso: Check if read succeeded in IdentifyFile() before checking magic 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.
7 years ago
Lioncash c061c2bf3c 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.
7 years ago
Lioncash f3daecafeb 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.
7 years ago
bunnei 04f7a7036a
Merge pull request #705 from lioncash/string-ref
file_util: return string by const reference for GetExeDirectory()
7 years ago
bunnei cbf43225a9
Merge pull request #704 from lioncash/string
string_util: Remove AsciiToHex()
7 years ago
bunnei f1d7486eac
Merge pull request #703 from lioncash/const
savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
7 years ago
bunnei b0334af05b
Merge pull request #702 from lioncash/initialize
partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
7 years ago
bunnei 1bf7ae79c8
Merge pull request #701 from lioncash/moving
content_archive: Minor changes
7 years ago
Lioncash dc35c3f9d7 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.
7 years ago
Lioncash af2698dcea hle_ipc: Amend usage of buffer_index within one of HLERequestContext's 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.
7 years ago
Lioncash 6c1ba02e0c fsp_srv: Remove unnecessary vector construction in IFile's Write() function
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.
7 years ago
Lioncash 3e9b79e088 fsp_srv: Remove unnecessary std::vector construction in IDirectory's Read() function
We were using a second std::vector as a buffer to convert another
std::vector's data into a byte sequence, however we can just use
pointers to the original data and use them directly with WriteBuffer,
which avoids copying the data at all into a separate std::vector.

We simply cast the pointers to u8* (which is allowed by the standard,
given std::uint8_t is an alias for unsigned char on platforms that we
support).
7 years ago
bunnei 758c357868
Merge pull request #699 from lioncash/vfs
vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
7 years ago
bunnei 87053fb3b8
Merge pull request #697 from bunnei/disable-depth-cull
gl_state: Temporarily disable culling and depth test.
7 years ago
Lioncash 5da4c78c6a filesystem: std::move VirtualDir instance in VfsDirectoryServiceWrapper's constructor
Avoids unnecessary atomic reference count incrementing and decrementing
7 years ago
Lioncash abbf038191 filesystem: Use std::string's empty() function instead of comparing against a literal
This is simply a basic value check as opposed to potentially doing
string based operations (unlikely, but still, avoiding it is free).
7 years ago
Lioncash 2cc0ef83cf filesystem: Remove pragma disabling global optimizations
This was just an artifact missed during PR review.
7 years ago
Lioncash f317080f40 fsp_srv: Make IStorage constructor explicit
Prevents implicit conversions.
7 years ago
Lioncash 910ad2e110 fsp_srv: Add missing includes
Gets rid of relying on indirect inclusions.
7 years ago
Lioncash 6be342118a fsp_srv: Resolve sign-mismatch warnings in assertion comparisons 7 years ago
Lioncash d6e9b96e2f fsp_srv: Respect write length in Write()
Previously we were just copying the data whole-sale, even if the length
was less than the total data size. This effectively makes the
actual_data vector useless, which is likely not intended.

Instead, amend this to only copy the given length amount of data.

At the same time, we can avoid zeroing out the data before using it by
passing iterators to the constructor instead of a size.
7 years ago
Lioncash 5c47ea1a4e common/swap: Remove unnecessary const on return value of swap() 7 years ago
Lioncash 0a868641fa common/swap: Use static_cast where applicable 7 years ago
Lioncash 1edf4dd7ef common/swap: Use using aliases where applicable 7 years ago
Lioncash 9128271292 common/common_funcs: Remove unused rotation functions
These are unused and essentially don't provide much benefit either. If
we ever need rotation functions, these can be introduced in a way that
they don't sit in a common_* header and require a bunch of ifdefing to
simply be available
7 years ago
Lioncash e0b8a35937 common/misc: Deduplicate code in GetLastErrorMsg()
Android and macOS have supported thread_local for quite a while, but
most importantly is that we don't even really need it. Instead of using
a thread-local buffer, we can just return a non-static buffer as a
std::string, avoiding the need for that quality entirely.
7 years ago
Lioncash ef03d0178a externals: Update Xbyak to 5.65
Keeps the JIT assembler library up to date and ensures we don't run into
any issues that may have been resolved.
7 years ago
Lioncash 25f997097d externals: Update catch to v2.2.3
Keeps the unit-testing library up to date.
7 years ago
Lioncash 63e64f0131 file_util: return string by const reference for GetExeDirectory()
This disallows modifying the internal string buffer (which shouldn't be
modified anyhow).
7 years ago
bunnei cd4fca8447
Merge pull request #700 from bunnei/update-dynarmic
externals: Update dynarmic to 5a91c94.
7 years ago
Lioncash 33fbcb45a7 string_util: Remove AsciiToHex()
Easy TODO
7 years ago
bunnei 368e1d25be
Merge pull request #692 from lioncash/assign
address_arbiter: Correct assignment within an assertion statement in WakeThreads()
7 years ago
bunnei 85421f3406
Merge pull request #690 from lioncash/move
core/memory, core/hle/kernel: Use std::move where applicable
7 years ago
Lioncash 88ba94e8a2 savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
This function doesn't alter class state.
7 years ago
Lioncash 9abc5763b6 partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
Previously is_hfs and pfs_header members wouldn't be initialized in the
constructor, as they were stored in locals instead. This would result in
things like GetName() and PrintDebugInfo() behaving incorrectly.

While we're at it, initialize the members to deterministic values as
well, in case loading ever fails.
7 years ago
bunnei cf30c4be22 gl_state: Temporarily disable culling and depth test. 7 years ago
Lioncash 4790bb907d content_archive: Make IsDirectoryExeFS() take a shared_ptr as a const reference
There's no need to take this by value when it's possible to avoid
unnecessary copies entirely like this.
7 years ago
Lioncash 87a9bb392b content_archive: Add missing standard includes 7 years ago
bunnei 522bd5b736 externals: Update dynarmic to 5a91c94. 7 years ago
Lioncash 0b566f43a1 content_archive: std::move VirtualFile in NCA's constructor
Gets rid of unnecessary atomic reference count incrementing and
decrementing.
7 years ago
Lioncash 5e626c774f vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
We can just use a generic lambda to avoid writing the same thing twice.
7 years ago
bunnei 1371e2fb6a
Merge pull request #691 from lioncash/guard
service/prepo: Add missing header guard
7 years ago
bunnei b10905c8ae
Merge pull request #686 from lioncash/fmt
externals: update fmt to version 5.1.0
7 years ago
Lioncash 55ab369043
loader/nro: Resolve sign mismatch warnings 7 years ago
Lioncash 1831b5ef62
loader/nso: Remove unnecessary vector resizes
We can just initialize these vectors directly via their constructor.
7 years ago
Lioncash e3a30ccc7c
loader/nso: Resolve sign mismatch warnings 7 years ago