- Feb 27, 2019
-
-
Lioncash authored
Silences a compiler warning with clang.
-
Lioncash authored
This is only necessary in headers. Silences a warning with clang.
-
Lioncash authored
These types are within the common library, so they should be within the Common namespace.
-
Lioncash authored
These types are within the common library, so they should be using the Common namespace.
-
Lioncash authored
Quaternion is within the common library, so it should be using the Common namespace.
-
- Feb 26, 2019
-
-
ReinUsesLisp authored
-
- Feb 25, 2019
-
-
Lioncash authored
Makes immutable state explicit.
-
Lioncash authored
The kernel allows restricting the total size of the handle table through the process capability descriptors. Until now, this functionality wasn't hooked up. With this, the process handle tables become properly restricted. In the case of metadata-less executables, the handle table will assume the maximum size is requested, preserving the behavior that existed before these changes.
-
Lioncash authored
Directly initializes members where applicable.
-
Lioncash authored
Avoids implicit truncation warnings from u32 -> u16 (the truncation is desirable behavior here).
-
Lioncash authored
Ensures that all member variables are initialized in a deterministic manner across the board.
-
Lioncash authored
CubebSinkStream inherits from a base class with a virtual destructor, so override can be appended to CubebSinkStream's destructor.
-
Lioncash authored
The name of the parameter was shadowing the member variable of the same name. Instead, alter the name of the parameter to prevent said shadowing.
-
Lioncash authored
The assignments here were performing an implicit truncation from int to s16. Make it explicit that this is desired behavior.
-
Lioncash authored
-
Lioncash authored
Amends it to add the 7.0.0+ CreateStrayLayer function.
-
- Feb 24, 2019
-
-
Frederic L authored
-
tgsm authored
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
-
ReinUsesLisp authored
VKMemoryCommitImpl was using as the end of its interval "begin + end". That ended up wasting memory.
-
ReinUsesLisp authored
-
- Feb 22, 2019
-
-
ReinUsesLisp authored
The scheduler abstracts command buffer and fence management with an interface that's able to do OpenGL-like operations on Vulkan command buffers. It returns by value a command buffer and fence that have to be used for subsequent operations until Flush or Finish is executed, after that the current execution context (the pair of command buffers and fences) gets invalidated a new one must be fetched. Thankfully validation layers will quickly detect if this is skipped throwing an error due to modifications to a sent command buffer.
-
Lioncash authored
The NVFlinger service is already passed into services that need to guarantee its lifetime, so the BufferQueue instances will already live as long as they're needed. Making them std::shared_ptr instances in this case is unnecessary.
-
- Feb 21, 2019
-
-
Lioncash authored
Like the previous changes made to the Display struct, this prepares the Layer struct for changes to its interface. Given Layer will be given more invariants in the future, we convert it into a class to better signify that.
-
Lioncash authored
With the display and layer structures relocated to the vi service, we can begin giving these a proper interface before beginning to properly support the display types. This converts the display struct into a class and provides it with the necessary functions to preserve behavior within the NVFlinger class.
-
Jungy authored
* Fixes Unicode Key File Directories Adds code so that when loading a file it converts to UTF16 first, to ensure the files can be opened. Code borrowed from FileUtil::Exists. * Update src/core/crypto/key_manager.cpp Co-Authored-By:
Jungorend <Jungorend@users.noreply.github.com> * Update src/core/crypto/key_manager.cpp Co-Authored-By:
Jungorend <Jungorend@users.noreply.github.com> * Using FileUtil instead to be cleaner. * Update src/core/crypto/key_manager.cpp Co-Authored-By:
Jungorend <Jungorend@users.noreply.github.com>
-
- Feb 19, 2019
-
-
Lioncash authored
These are more closely related to the vi service as opposed to the intermediary nvflinger. This also places them in their relevant subfolder, as future changes to these will likely result in subclassing to represent various displays and services, as they're done within the service itself on hardware. The reasoning for prefixing the display and layer source files is to avoid potential clashing if two files with the same name are compiled (e.g. if 'display.cpp/.h' or 'layer.cpp/.h' is added to another service at any point), which MSVC will actually warn against. This prevents that case from occurring. This also presently coverts the std::array introduced within f45c25aa back to a std::vector to allow the forward declaration of the Display type. Forward declaring a type within a std::vector is allowed since the introduction of N4510 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html) by Zhihao Yuan.
-
Markus Wick authored
As fetching command list headers and and the list of command headers is a fixed 1:1 relation now, they can be implemented within a single call. This cleans up the Step() logic quite a bit.
-
Markus Wick authored
Fetching every u32 from memory leads to a big overhead. So let's fetch all of them as a block if possible. This reduces the Memory::* calls by the dma_pusher by a factor of 10.
-
ReinUsesLisp authored
A memory manager object handles the memory allocations for a device. It allocates chunks of Vulkan memory objects and then suballocates.
-
- Feb 16, 2019
-
-
Lioncash authored
This way proper const/non-const selection can occur.
-
Lioncash authored
A fairly trivial change. Other sections of the codebase use nested namespaces instead of separate namespaces here. This one must have just been overlooked.
-
Lioncash authored
Avoids the use of the global accessor in favor of explicitly making the system a dependency within the interface.
-
Lioncash authored
Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
-
- Feb 15, 2019
-
-
B3n30 authored
-
B3n30 authored
-
fearlessTobi authored
Previously, we were completely ignoring for screenshots whether the game uses RGB or sRGB. This resulted in screenshot colors that looked off for some titles.
-
ReinUsesLisp authored
There are some potential edge cases where gl_state may fail to track the state if a related state changes while the toggle is disabled or it didn't change. This addresses that.
-
- Feb 14, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Handles a pool of resources protected by fences. Manages resource overflow allocating more resources. This class is intended to be used through inheritance.
-
ReinUsesLisp authored
CommitFence iterates a pool of fences until one is found. If all fences are being used at the same time, allocate more.
-