Age | Commit message (Collapse) | Author |
|
|
|
Correct CNTPCT from using CPU Cycles to using Clock Cycles
|
|
shader_ir: Remove "extras" from the MetaTexture
|
|
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.
Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).
While we're at it, provide defaulted move constructors for consistency.
|
|
Moves local global state into the Impl class itself and initializes it
at the creation of the instance instead of in the function.
This makes it nicer for weakly-ordered architectures, given the
CreateEntry() class won't need to have atomic loads executed for each
individual call to the CreateEntry class.
|
|
This function is only ever used within this source file and makes it
easier to remove static state in the following change.
|
|
These types are within the common library, so they should be within the
Common namespace.
|
|
These types are within the common library, so they should be using the
Common namespace.
|
|
Quaternion is within the common library, so it should be using the
Common namespace.
|
|
|
|
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
|
|
|
|
|
|
|
|
|
|
|
|
vulkan: Add dependencies and device abstraction
|
|
Makes it consistent with the regular standard containers in terms of
size representation. This also gets rid of dependence on our own
type aliases, removing the need for an include.
|
|
The necessity of this parameter is dubious at best, and in 2019 probably
offers completely negligible savings as opposed to just leaving this
enabled. This removes it and simplifies the overall interface.
|
|
|
|
|
|
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
|
|
|
|
|
|
kernel: Handle kernel capability descriptors
|
|
Previously xyz was always being zero initialized due to its constructor,
but w wasn't. Ensures that we always have a deterministic initial state.
|
|
|
|
svc: Implement yield types 0 and -1
|
|
Original reason:
As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
|
|
common/thread: Minor cleanup
|
|
This is inconsistent with our coding style.
|
|
|
|
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
|
|
Simplifies the constructor interfaces for Barrier and Event classes.
|
|
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
|
|
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
|
|
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
|
|
This is an analog of BitSet from Dolphin that was introduced to allow
iterating over a set of bits. Given it's currently unused, and given
that std::bitset exists, we can remove this. If it's ever needed in the
future it can be brought back.
|
|
common/math_util: Minor cleanup
|
|
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
|
|
Gets rid of the need to use typename to access the ::type alias.
|
|
Allows objects that contain rectangle instances to be constexpr
constructible as well.
|
|
const/constexpr variables have internal linkage by default.
|
|
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
|
|
assertions
Currently, there's no way to specify if an assertion should
conditionally occur due to unimplemented behavior. This is useful when
something is only partially implemented (e.g. due to ongoing RE work).
In particular, this would be useful within the graphics code.
The rationale behind this is it allows a dev to disable unimplemented
feature assertions (which can occur in an unrelated work area), while
still enabling regular assertions, which act as behavior guards for
conditions or states which must not occur. Previously, the only way a
dev could temporarily disable asserts, was to disable the regular
assertion macros, which has the downside of also disabling, well, the
regular assertions which hold more sanitizing value, as opposed to
unimplemented feature assertions.
|
|
Currently, this was only performing a logging call, which doesn't
actually invoke any assertion behavior. This is unlike
UNIMPLEMENTED_MSG, which *does* assert.
This makes the expected behavior uniform across both macros.
|
|
|
|
|
|
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
|
|
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
|