Age | Commit message (Collapse) | Author |
|
Just a few overlooked services.
|
|
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
|
|
MinGW provides POSIX functions
|
|
Seems to be the power controller. Listed in switchbrew under the category PTM services.
|
|
This will be used in a following change to svcArbitrateLock() and
svcArbitrateUnlock()
|
|
Aligning on 4KB pages isn't a Switch-specific thing, so this can be
moved to common so it can be used with other things as well.
|
|
Like with TelemetryJson, we can make the implementation details private
and avoid the need to expose httplib to external libraries that need to
use the Client class.
|
|
ips_layer: Add support for IPSwitch executable patches
|
|
Port citra-emu/citra#4311: "Remove "#" in the version number"
|
|
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
|
|
* Added a context menu on the buttons including Clear & Restore Default
* Allow clearing (unsetting) inputs. Added a Clear All button
* Allow restoring a single input to default (instead of all)
|
|
Port web_service from Citra
|
|
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
|
|
operator+ for std::string creates an entirely new string, which is kind
of unnecessary here if we just want to append a null terminator to the
existing one.
Reduces the total amount of potential allocations that need to be done
in the logging path.
|
|
|
|
Converts between bytes and strings when the size is not known at compile time.
|
|
|
|
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
|
|
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
|
|
|
|
|
|
|
|
file_sys: Add support for LayeredFS mods
|
|
* Stubbed IRS
Currently we have no ideal way of implementing IRS. For the time being we should have the functions stubbed until we come up with a way to emulate IRS properly.
* Added IRS to logging backend
* Forward declared shared memory for irs
|
|
simply use the standard library yield()
|
|
|
|
Avoids the need to repeat "std::" twice
|
|
alignment size for avoiding false sharing
MSVC 19.11 (A.K.A. VS 15.3)'s C++ standard library implements P0154R1
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html)
which defines two new constants within the <new> header, std::hardware_destructive_interference_size
and std::hardware_constructive_interference_size.
std::hardware_destructive_interference_size defines the minimum
recommended offset between two concurrently-accessed objects to avoid
performance degradation due to contention introduced by the
implementation (with the lower-bound being at least alignof(max_align_t)).
In other words, the minimum offset between objects necessary to avoid
false-sharing.
std::hardware_constructive_interference_size on the other hand defines
the maximum recommended size of contiguous memory occupied by two
objects accessed wth temporal locality by concurrent threads (also
defined to be at least alignof(max_align_t)). In other words the maximum
size to promote true-sharing.
So we can simply use this facility to determine the ideal alignment
size. Unfortunately, only MSVC supports this right now, so we need to
enclose it within an ifdef for the time being.
|
|
|
|
|
|
|
|
Multi-line doc comments still need the '<' after the ///, otherwise it's
treated as a regular comment and makes the original doc comment broken
in viewers, IDEs, etc. While we're at it, also fix some typos in the
comments.
|
|
|
|
Implicit conversions aren't desirable here.
|
|
file_util: Correct return value in early exit of ReadFileToString()
|
|
While still essentially being zero, we should be returning a numeric
value here, not a boolean typed value.
|
|
Makes it so malformed hex strings do not crash the entire program.
|
|
CONSOLE_SCREEN_BUFFER_INFO instance
The previous form of initializing done here is a C-ism, an empty set of
braces is sufficient for initializing (and doesn't potentially cause
missing brace warnings, given the first member of the struct is a COORD
struct).
|
|
Gets rid of a TODO that is long overdue.
|
|
common/telemetry: Migrate core-independent info gathering to common
|
|
It's in the common code, so it should be under the Common namespace like
everything else.
|
|
file_sys: Add support for registration format
|
|
common/xbyak_abi: Mark defined functions in header as inline
|
|
common/misc: use windows.h
|
|
Previously core itself was the library containing the code to gather
common information (build info, CPU info, and OS info), however all of
this isn't core-dependent and can be moved to the common code and use
the common interfaces. We can then just call those functions from the
core instead.
This will allow replacing our CPU detection with Xbyak's which has
better detection facilities than ours. It also keeps more
architecture-dependent code in common instead of core.
|
|
Avoids potential One Definition Rule violations when these are used in
the future.
|
|
|
|
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
|
|
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
|
|
linux-mingw does not really like this.
|