aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2020-08-06Merge pull request #4483 from lioncash/constexpr-hexbunnei
partition_data_manager: Make data arrays constexpr
2020-08-06Merge pull request #4490 from lioncash/arbiterbunnei
address_arbiter/scheduler: Resolve sign conversion warnings
2020-08-06freezer: Move entry finding to its own functionLioncash
Cleans up the callsites in other functions.
2020-08-06freezer: Take address values by valueLioncash
VAddr will always be 64-bit, so there's no need to take a trivial primitive alias by reference.
2020-08-06freezer: Make use of std::erase_ifLioncash
With C++20 we can simplify the erasing idiom.
2020-08-06cheat_engine: Resolve implicit bool->u64 conversionLioncash
We can just return zero here.
2020-08-06cheat_engine: Make use of designated initializersLioncash
Same behavior, but makes the member being assigned obvious.
2020-08-06partition_data_manager: Update master key hashesLioncash
Fills in some hashes that were previously unhandled.
2020-08-06partition_data_manager: Make data arrays constexprLioncash
Previously the constructor for all of these would run at program startup, consuming time before the application can enter main(). This is also particularly dangerous, given the logging system wouldn't have been initialized properly yet, yet the program would use the logs to signify an error. To rectify this, we can replace the literals with constexpr functions that perform the conversion at compile-time, completely eliminating the runtime cost of initializing these arrays.
2020-08-06partition_data_manager: Eliminate magic valueLioncash
We can use sizeof to make it obvious at the call site where the value is coming from.
2020-08-06aes_util: Make use of non-template variant of TranscodeLioncash
Same behavior, less template instantiations.
2020-08-05Fix thread naming on Linux, which limits names to 15 bytes.comex
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and do nothing. - Also, add logging in case `pthread_set_name_np` returns an error anyway. This is Linux-specific, as the Apple and BSD versions of `pthread_set_name_np return `void`. - Change the name for CPU threads in multi-core mode from "yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it fits into the Linux limit. Some other thread names are also cut off, but I didn't bother addressing them as you can guess them from the truncated versions. For a CPU thread, truncation means you can't see which core it is!
2020-08-05Merge pull request #4489 from lioncash/typesafebunnei
ipc_helpers: Only allow trivially copyable objects with PushRaw() and PopRaw()
2020-08-05Merge pull request #4484 from lioncash/aesutilbunnei
aes_util: Allow SetIV() to be non-allocating
2020-08-05Merge pull request #4475 from lioncash/bqueuebunnei
buffer_queue: Make use of designated initializers/std::nullopt where applicable
2020-08-05system_control: Make functions internally linked where applicableLioncash
These functions are only ever used internally as implementation details for GenerateRandomRange(), so these can be given internal linkage.
2020-08-05kernel: Remove unused variablesLioncash
Resolves a few compiler warnings.
2020-08-05scheduler: Resolve sign conversion warningLioncash
2020-08-05address_arbiter: Resolve sign conversion warningLioncash
Makes our type conversion explicit.
2020-08-05Merge pull request #4444 from lioncash/volatilebunnei
common/atomic_ops: Don't cast away volatile from pointers
2020-08-05ipc_helpers: Only allow trivially copyable objects with PushRaw() and PopRaw()Lioncash
It's undefined behavior to use non-trivially copyable objects with std::memcpy, so we can add asserts to catch usages of these at compile-time.
2020-08-05vfs_vector: Make creation of array vfs files less verboseLioncash
We can add a helper function to make creation of these files nicer. While we're at it, we can eliminate an unnecessary std::array copy in the constructor. This makes the overhead on some of these functions way less intensive, given some arrays were quite large. e.g. The timezone location names are 9633 bytes in size.
2020-08-05Merge pull request #4466 from ogniK5377/loader-type-safebunnei
loader: Make IdentifyFile typesafe
2020-08-04Merge pull request #4476 from lioncash/tzbunnei
time_zone_binary: Make use of designated initializers
2020-08-04Merge pull request #4401 from ogniK5377/GetIndirectLayerImageRequiredMemoryInfobunnei
vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfo
2020-08-04Merge pull request #4430 from bunnei/new-gpu-vmmbunnei
hle: nvdrv: Rewrite of GPU memory management.
2020-08-04Merge pull request #4472 from lioncash/const-getbunnei
perf_stats: Mark GetMeanFrametime() as const
2020-08-04Merge pull request #4470 from lioncash/qualifierDavid
patch_manager: Resolve -Wignored-qualifier warnings
2020-08-04Merge pull request #4481 from lioncash/cpp-depDavid
yuzu: Resolve C++20 deprecation warnings related to lambda captures
2020-08-04Merge pull request #4474 from lioncash/hle-profileDavid
profile_manager: Make use of designated initializers
2020-08-03Merge pull request #4473 from lioncash/cheat-desigbunnei
dmnt_cheat_vm: Make use of designated initializers
2020-08-03Merge pull request #4456 from Morph1984/stub-really-long-fs-funcbunnei
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
2020-08-03aes_util: Allow SetIV to be non-allocatingLioncash
In a few places, the data to be set as the IV is already within an array. We shouldn't require this data to be heap-allocated if it doesn't need to be. This allows certain callers to reduce heap churn.
2020-08-03Merge pull request #4482 from lioncash/ldr-signbunnei
service/ldr: Resolve sign mismatch warnings
2020-08-03Merge pull request #4468 from lioncash/regcachebunnei
registered_cache: Resolve -Wmaybe_uninitialized warnings
2020-08-03Merge pull request #4471 from ogniK5377/sm-getservice-conceptbunnei
sm: Make use of IsBaseOf for GetService
2020-08-03perf_stats: Make use of designated initializersLioncash
Same behavior, but allows us to avoid a now-unnecessary zero initialization.
2020-08-03perf_stats: Mark GetMeanFrametime() as constLioncash
The general pattern is to mark mutexes as mutable when it comes to matters of constness, given the mutex acts as a transient member of a data structure.
2020-08-03yuzu: Resolve C++20 deprecation warnings related to lambda capturesLioncash
C++20 deprecates capturing the this pointer via the '=' capture. Instead, we replace it or extend the capture specification.
2020-08-03service/ldr: Resolve sign mismatch warningsLioncash
We were performing an int < size_t comparison. We can just correct the type of the induction variable.
2020-08-03Merge pull request #4467 from lioncash/modebunnei
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
2020-08-03time_zone_binary: Make use of designated initializersLioncash
2020-08-03buffer_queue: Make use of std::nulloptLioncash
Allows compilers to eliminate unnecessary zeroing out of the optional's buffer.
2020-08-03buffer_queue: Make use of designated initializersLioncash
2020-08-03profile_manager: Make use of std::nulloptLioncash
Allows some implementations to completely avoid unnecessarily zeroing out the internal buffer.
2020-08-03profile_manager: Make use of designated initializersLioncash
More compact code.
2020-08-03dmnt_cheat_vm: Make use of designated initializersLioncash
Allows for more compact code.
2020-08-03file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with ModeLioncash
Same behavior, minus a hand-rolled operator.
2020-08-03sm: Make use of IsBaseOf for GetServiceDavid Marcec
2020-08-03patch_manager: Resolve -Wignored-qualifier warningsLioncash
Top level const will always be ignored in this case, so it can be removed.