summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-03-22video_core: Implement API agnostic view based texture cacheReinUsesLisp
Implements an API agnostic texture view based texture cache. Classes defined here are intended to be inherited by the API implementation and used in API-specific code. This implementation exposes protected virtual functions to be called from the implementer. Before executing any surface copies methods (defined in API-specific code) it tries to detect if the overlapping surface is a superset and if it is, it creates a view. Views are references of a subset of a surface, it can be a superset view (the same as referencing the whole texture). Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map arrays with layer and mipmap level views. Texture 3D slices views are not implemented. If the view attempt fails, the fast path is invoked with the overlapping textures (defined in the implementer). If that one fails (returning nullptr) it will flush and reload the texture.
2019-03-21Merge pull request #2260 from lioncash/sdlbunnei
input_common/sdl: Correct return values within GetPollers implementations
2019-03-20common/bit_util: Fix bad merge duplicating the copy constructorLioncash
Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
2019-03-20Merge pull request #2090 from FearlessTobi/port-4599bunnei
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
2019-03-20Merge pull request #2262 from lioncash/enumbunnei
file_sys/content_archive: Amend name of Data_Unknown5 enum entry
2019-03-20Merge pull request #2273 from lioncash/guardbunnei
common/uint128: Add missing header guard
2019-03-20common/uint128: Add missing header guardLioncash
2019-03-20common/uint128: Add missing top-file source textLioncash
2019-03-20Merge pull request #2268 from lioncash/codesetbunnei
core/kernel: Migrate CodeSet to its own source files
2019-03-20common/CMakeLists: Amend boost dependencyLioncash
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.
2019-03-20Merge pull request #2267 from FernandoS27/fix-2238bunnei
Fix crash caused by #2238.
2019-03-20Merge pull request #2247 from lioncash/includebunnei
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-20Merge pull request #2224 from lioncash/opusbunnei
hwopus: Leverage multistream API for decoding regular Opus packets
2019-03-20Merge pull request #2239 from FearlessTobi/port-4684bunnei
Port citra-emu/citra#4684: "frontend: qt: fix a freeze where if you click on entry in the game list too fast, citra will hang"
2019-03-20kernel/process: Make MapSegment lambda reference parameter constLioncash
The segment itself isn't actually modified.
2019-03-20kernel: Move CodeSet structure to its own source filesLioncash
Given this is utilized by the loaders, this allows avoiding inclusion of the kernel process definitions where avoidable. This also keeps the loading format for all executable data separate from the kernel objects.
2019-03-20Merge pull request #2264 from lioncash/linkerbunnei
core/loader: Remove vestigial Linker class
2019-03-19Fix crash caused by 2238.Fernando Sahmkow
2019-03-19loader: Remove Linker classLioncash
Given the class is now currently unused, it can be removed.
2019-03-19loader: Remove Linker inheritance from NRO and NSO loadersLioncash
Neither the NRO or NSO loaders actually make use of the functions or members provided by the Linker interface, so we can just remove the inheritance altogether.
2019-03-19Fix getopt on systems where char is unsigned by defaultxperia64
2019-03-19file_sys/content_archive: Amend name of Data_Unknown5 enum entryLioncash
While we're at it, give each entry some documentation.
2019-03-18Merge pull request #2258 from lioncash/ambunnei
service/am: Supply remaining missing IAudioController functions
2019-03-18input_common/sdl: Correct return values within implementations of GetPollers()Lioncash
In both cases, we weren't actually returning anything, which is undefined behavior.
2019-03-18input_common/sdl: Use a type alias to shorten declaration of GetPollersLioncash
Just makes the definitions a little bit more tidy.
2019-03-18Merge pull request #2259 from lioncash/fspbunnei
fsp_srv: Unstub SetCurrentProcess
2019-03-18Merge pull request #2254 from lioncash/redundantbunnei
input_common/sdl_impl: Minor cleanup in SDLState constructor
2019-03-18fsp_srv: Unstub SetCurrentProcessLioncash
This just acts as a basic setter for a given PID value and performs no further checking, so we can just store the passed in value.
2019-03-18service/am: Add basic implementation of ChangeMainAppletMasterVolumeLioncash
All this does is supply a new volume level and a fade time in nanoseconds for the volume transition to occur within.
2019-03-18service/am: Unstub SetTransparentVolumeRate()Lioncash
Like the other volume setter, this mainly just sets a data member within the service, nothing too special.
2019-03-18service/am: Unstub SetExpectedMasterVolume()Lioncash
This function passes in the desired main applet and library applet volume levels. We can then just pass those values back within the relevant volume getter functions, allowing us to unstub those as well. The initial values for the library and main applet volumes differ. The main applet volume is 0.25 by default, while the library applet volume is initialized to 1.0 by default in the services themselves.
2019-03-17Merge pull request #2238 from lioncash/threadbunnei
kernel/thread: Amend conditional test and assignment within UpdatePriority()
2019-03-17Merge pull request #2252 from bunnei/move-page-tablebunnei
core: Move PageTable struct into Common.
2019-03-17input_common/sdl_impl: Make lambda capture more specific in SDLState constructorLioncash
We don't need to universally capture by reference. We specifically just need to capture the this pointer.
2019-03-17input_common/sdl_impl: Remove unnecessary std::chrono::duration constructionLioncash
Specifying the time unit itself is sufficient here.
2019-03-17input_common/sdl_impl: Remove unused variable in SDLState constructorLioncash
2019-03-17Merge pull request #2251 from bunnei/skip-zero-flushbunnei
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
2019-03-16Merge pull request #2249 from lioncash/ipcbunnei
ipc_helpers: Allow pushing and popping floating-point values
2019-03-16Merge pull request #2245 from lioncash/unused-defbunnei
kernel/thread: Actually remove the definition of ExitCurrentThread()
2019-03-16core: Move PageTable struct into Common.bunnei
2019-03-16gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.bunnei
2019-03-16Merge pull request #2244 from bunnei/gpu-mem-refactorbunnei
video_core: Refactor to use MemoryManager interface for all memory access.
2019-03-16Merge pull request #2243 from bunnei/mem-simplify-cachebunnei
memory: Simplify rasterizer cache operations.
2019-03-16Merge pull request #2129 from FernandoS27/cntpctbunnei
Correct CNTPCT from using CPU Cycles to using Clock Cycles
2019-03-16ipc_helpers: Allow pushing and popping floating-point valuesLioncash
Certain values that are passed through the IPC buffer are actually floating point values, not solely integral values.
2019-03-16common/thread_queue_list: Remove unnecessary dependency on boostLioncash
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.
2019-03-16kernel/thread: Actually remove the definition of ExitCurrentThread()Lioncash
This was intended to be removed in 51d7f6bffcc0498a47abc7de27bf0906fc523dae, but I guess I forgot to actually save the file like a dingus.
2019-03-16Merge pull request #2242 from lioncash/thread-fnbunnei
kernel/thread: Remove WaitCurrentThread_Sleep() and ExitCurrentThread()
2019-03-16memory: Simplify rasterizer cache operations.bunnei
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei
# Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp