Age | Commit message (Collapse) | Author |
|
gpu: Rewrite MemoryManager based on the VMManager implementation.
|
|
Introduced as a result of #2090, we already define the copy constructor
further down below, so this isn't needed.
|
|
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
|
|
|
|
|
|
|
|
|
|
When #2247 was created, thread_queue_list.h was the only user of
boost-related code, however #2252 moved the page table struct into
common, which makes use of Boost.ICL, so we need to add the dependency
to the common library's link interface again.
|
|
common/thread_queue_list: Remove unnecessary dependency on boost
|
|
|
|
Correct CNTPCT from using CPU Cycles to using Clock Cycles
|
|
We really don't need to pull in several headers of boost related
machinery just to perform the erase-remove idiom (particularly with
C++20 around the corner, which adds universal container std::erase and
std::erase_if, which we can just use instead).
With this, we don't need to link in anything boost-related into common.
|
|
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
|
|
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.
The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
|
|
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>
|
|
|
|
|
|
|
|
This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer
|
|
The tag can be useful for other type-generic templates like BitFields to forward the endianness specification
|
|
|
|
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.
|