- Feb 27, 2019
-
-
Lioncash authored
This function is also supposed to check its given policy type with the permission of the service itself. This implements the necessary machinery to unstub these functions. Policy::User seems to just be basic access (which is probably why vi:u is restricted to that policy), while the other policy seems to be for extended abilities regarding which displays can be managed and queried, so this is assumed to be for a background compositor (which I've named, appropriately, Policy::Compositor).
-
- Feb 26, 2019
-
-
Lioncash authored
There's no real reason this shouldn't be allowed, given some values sent via a request can be signed. This also makes it less annoying to work with popping enum values, given an enum class with no type specifier will work out of the box now. It's also kind of an oversight to allow popping s64 values, but nothing else.
-
Lioncash authored
This didn't really provide much benefit here, especially since the subsequent change requires that the behavior for each service's GetDisplayService differs in a minor detail. This also arguably makes the services nicer to read, since it gets rid of an indirection in the class hierarchy.
-
- Feb 25, 2019
-
-
bunnei authored
shader_decompiler: Improve Accuracy of Attribute Interpolation.
-
bunnei authored
rasterizer_cache_gl: Only do fast layered copy on the same format.
-
bunnei authored
Port citra-emu/citra#4655: "Remove GCC version checks"
-
bunnei authored
service/vi: Convert Display and Layer structs into classes
-
- Feb 24, 2019
-
-
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.
-
bunnei authored
video_core/dma_pusher: The full list of headers at once.
-
bunnei authored
vk_scheduler: Implement a scheduler
-
bunnei authored
gl_rasterizer_cache: Fixup parameter order in layered swizzle
-
bunnei authored
vk_memory_manager: Fixup commit interval allocation
-
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.
-
bunnei authored
vk_memory_manager: Implement memory manager
-
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.
-
bunnei authored
gl_state: Synchronize gl_state even when state is disabled
-
bunnei authored
video_core: Remove usages of System::GetInstance() within the engines
-
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>
-
bunnei authored
service/nvflinger: Relocate definitions of Layer and Display to the vi service
-
- 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.
-
bunnei authored
vk_resource_manager: Implement fence and command buffer allocator
-
- Feb 17, 2019
-
-
bunnei authored
audio_core/buffer: Make const and non-const getter for samples consistent
-
- Feb 16, 2019
-
-
bunnei authored
address_arbiter: Use nested namespaces where applicable
-
bunnei authored
renderer_opengl: respect the sRGB colorspace for the screenshot feature
-
bunnei authored
Port citra-emu/citra#4197: "threadsafe_queue: Add PopWait and use it where possible "
-
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.
-
James Rowe authored
core_timing: De-globalize core_timing facilities
-
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.
-