summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-02-25Merge pull request #2156 from FreddyFunk/patch-1bunnei
file_sys/vfs_vector: Fix ignored offset on Write
2019-02-25Merge pull request #2158 from lioncash/tablebunnei
service/vi: Update IManagerDisplayService's function table
2019-02-25Merge pull request #2160 from lioncash/audio-warnbunnei
audio_core: Resolve compilation warnings
2019-02-25audio_core/cubeb_sink: Initialize CubebSinkStream's last_frame data memberLioncash
Ensures that all member variables are initialized in a deterministic manner across the board.
2019-02-25audio_core/cubeb_sink: Add override specifier to destructorLioncash
CubebSinkStream inherits from a base class with a virtual destructor, so override can be appended to CubebSinkStream's destructor.
2019-02-25audio_core/cubeb_sink: Resolve variable shadowing warnings in SamplesInQueueLioncash
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.
2019-02-25audio_core/codec: Resolve truncation warnings within DecodeADPCMLioncash
The assignments here were performing an implicit truncation from int to s16. Make it explicit that this is desired behavior.
2019-02-25shader/track: Resolve variable shadowing warningsLioncash
2019-02-25service/vi: Update IManagerDisplayService's function tableLioncash
Amends it to add the 7.0.0+ CreateStrayLayer function.
2019-02-24Merge pull request #2118 from FernandoS27/ipa-improvebunnei
shader_decompiler: Improve Accuracy of Attribute Interpolation.
2019-02-24Merge pull request #2119 from FernandoS27/fix-copybunnei
rasterizer_cache_gl: Only do fast layered copy on the same format.
2019-02-24Merge pull request #2155 from FearlessTobi/port-4655bunnei
Port citra-emu/citra#4655: "Remove GCC version checks"
2019-02-24Merge pull request #2144 from lioncash/factorbunnei
service/vi: Convert Display and Layer structs into classes
2019-02-25file_sys/vfs_vector: Fix ignored offset on WriteFrederic L
2019-02-24Remove GCC version checkstgsm
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-24Merge pull request #2139 from degasus/dma_pusherbunnei
video_core/dma_pusher: The full list of headers at once.
2019-02-23Merge pull request #2146 from ReinUsesLisp/vulkan-schedulerbunnei
vk_scheduler: Implement a scheduler
2019-02-23Merge pull request #2150 from ReinUsesLisp/fixup-layer-swizzlebunnei
gl_rasterizer_cache: Fixup parameter order in layered swizzle
2019-02-24vk_memory_manager: Fixup commit interval allocationReinUsesLisp
VKMemoryCommitImpl was using as the end of its interval "begin + end". That ended up wasting memory.
2019-02-23gl_rasterizer_cache: Fixup parameter order in layered swizzleReinUsesLisp
2019-02-22vk_scheduler: Implement a schedulerReinUsesLisp
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.
2019-02-21Merge pull request #2138 from ReinUsesLisp/vulkan-memory-managerbunnei
vk_memory_manager: Implement memory manager
2019-02-21service/nvflinger: Store BufferQueue instances as regular data membersLioncash
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.
2019-02-21service/vi/vi_layer: Convert Layer struct into a classLioncash
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.
2019-02-21service/nvflinger: Move display specifics over to vi_displayLioncash
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.
2019-02-20Merge pull request #2125 from ReinUsesLisp/fixup-glstatebunnei
gl_state: Synchronize gl_state even when state is disabled
2019-02-20Merge pull request #2130 from lioncash/system_enginebunnei
video_core: Remove usages of System::GetInstance() within the engines
2019-02-20Fixes Unicode Key File Directories (#2120)Jungy
* 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>
2019-02-19service/nvflinger: Relocate definitions of Layer and Display to the vi serviceLioncash
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 f45c25aabacc70861723a7ca1096a677bd987487 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.
2019-02-19video_core/dma_pusher: Simplyfy Step() logic.Markus Wick
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.
2019-02-19video_core/dma_pusher: The full list of headers at once.Markus Wick
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.
2019-02-19vk_memory_manager: Implement memory managerReinUsesLisp
A memory manager object handles the memory allocations for a device. It allocates chunks of Vulkan memory objects and then suballocates.
2019-02-18Merge pull request #2122 from ReinUsesLisp/vulkan-resource-managerbunnei
vk_resource_manager: Implement fence and command buffer allocator
2019-02-17Merge pull request #2134 from lioncash/namingbunnei
audio_core/buffer: Make const and non-const getter for samples consistent
2019-02-16Merge pull request #2133 from lioncash/arbiterbunnei
address_arbiter: Use nested namespaces where applicable
2019-02-16Merge pull request #2127 from FearlessTobi/fix-screenshot-srgbbunnei
renderer_opengl: respect the sRGB colorspace for the screenshot feature
2019-02-16Merge pull request #2128 from FearlessTobi/port-4197bunnei
Port citra-emu/citra#4197: "threadsafe_queue: Add PopWait and use it where possible "
2019-02-16audio_core/buffer: Make const and non-const getter for samples consistentLioncash
This way proper const/non-const selection can occur.
2019-02-16address_arbiter: Use nested namespaces where applicableLioncash
A fairly trivial change. Other sections of the codebase use nested namespaces instead of separate namespaces here. This one must have just been overlooked.
2019-02-15video_core: Remove usages of System::GetInstance() within the enginesLioncash
Avoids the use of the global accessor in favor of explicitly making the system a dependency within the interface.
2019-02-15Merge pull request #2123 from lioncash/coretiming-globalJames Rowe
core_timing: De-globalize core_timing facilities
2019-02-15core_timing: Convert core timing into a classLioncash
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.
2019-02-15Adressed review commentsB3n30
2019-02-15threadsafe_queue: Add WaitIfEmpty and use it in loggingB3n30
2019-02-15renderer_opengl: respect the sRGB colorspace for the screenshot featurefearlessTobi
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.
2019-02-15gl_state: Synchronize gl_state even when state is disabledReinUsesLisp
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.
2019-02-14Merge pull request #2112 from lioncash/shadowingbunnei
gl_rasterizer_cache: Get rid of variable shadowing
2019-02-14Merge pull request #2111 from ReinUsesLisp/fetch-fixbunnei
gl_shader_decompiler: Re-implement TLDS lod
2019-02-14vk_resource_manager: Implement a command buffer pool with VKFencedPoolReinUsesLisp
2019-02-14vk_resource_manager: Add VKFencedPool interfaceReinUsesLisp
Handles a pool of resources protected by fences. Manages resource overflow allocating more resources. This class is intended to be used through inheritance.