aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-02-27gl_rasterizer: Reorder constructor initializer list in terms of member ↵Lioncash
declaration order Orders the members in the order they would actually be initialized in. Silences a -Wreorder warning.
2019-02-27gl_shader_disk_cache: Remove #pragma once from cpp fileLioncash
This is only necessary in headers. Silences a warning with clang.
2019-02-27core/frontend/emu_window: Make ClipToTouchScreen a const member functionLioncash
This member function doesn't modify instance state, so it can have the const specifier applied to it.
2019-02-27audio_core/audio_renderer: Name previously unknown parameters of ↵Lioncash
AudioRendererParameter Provides names for previously unknown entries (aside from the two u8 that appear to be padding bytes, and a single word that also appears to be reserved or padding). This will be useful in subsequent changes when unstubbing behavior related to the audio renderer services.
2019-02-27common/math_util: Move contents into the Common namespaceLioncash
These types are within the common library, so they should be within the Common namespace.
2019-02-26common/vector_math: Move Vec[x] types into the Common namespaceLioncash
These types are within the common library, so they should be using the Common namespace.
2019-02-26common/quaternion: Move Quaternion into the Common namespaceLioncash
Quaternion is within the common library, so it should be using the Common namespace.
2019-02-26service/vi: Unstub GetDisplayServiceLioncash
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).
2019-02-26core/ipc_helper: Allow popping all signed value types with RequestParserLioncash
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.
2019-02-26gl_rasterizer_cache: Move format conversion to its own fileReinUsesLisp
2019-02-26decoders: Minor style changesReinUsesLisp
2019-02-26service/vi: Remove use of a module classLioncash
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.
2019-02-26renderer_opengl: Update pixel format trackingReinUsesLisp
2019-02-26maxwell_3d: Use std::bitset to manage dirty flagsReinUsesLisp
2019-02-26vk_stream_buffer: Remove copy code pathReinUsesLisp
2019-02-26shader/decode: Remove extras from MetaTextureReinUsesLisp
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp
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-25kernel/handle_table: Make local variables as const where applicableLioncash
Makes immutable state explicit.
2019-02-25kernel/handle_table: Allow process capabilities to limit the handle table sizeLioncash
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.
2019-02-25kernel/handle-table: In-class initialize data membersLioncash
Directly initializes members where applicable.
2019-02-25kernel/handle_table: Resolve truncation warningsLioncash
Avoids implicit truncation warnings from u32 -> u16 (the truncation is desirable behavior here).
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-24vk_stream_buffer: Implement a stream bufferReinUsesLisp
This manages two kinds of streaming buffers: one for unified memory models and one for dedicated GPUs. The first one skips the copy from the staging buffer to the real buffer, since it creates an unified buffer. This implementation waits for all fences to finish their operation before "invalidating". This is suboptimal since it should allocate another buffer or start searching from the beginning. There is room for improvement here. This could also handle AMD's "pinned" memory (a heap with 256 MiB) that seems to be designed for buffer streaming.
2019-02-24vk_resource_manager: Minor VKFenceWatch changesReinUsesLisp
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