Age | Commit message (Collapse) | Author |
|
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.
|
|
input_common/sdl: Correct return values within GetPollers implementations
|
|
Introduced as a result of #2090, we already define the copy constructor
further down below, so this isn't needed.
|
|
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
|
|
file_sys/content_archive: Amend name of Data_Unknown5 enum entry
|
|
common/uint128: Add missing header guard
|
|
|
|
|
|
core/kernel: Migrate CodeSet to its own source files
|
|
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.
|
|
Fix crash caused by #2238.
|
|
common/thread_queue_list: Remove unnecessary dependency on boost
|
|
hwopus: Leverage multistream API for decoding regular Opus packets
|
|
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"
|
|
The segment itself isn't actually modified.
|
|
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.
|
|
core/loader: Remove vestigial Linker class
|
|
|
|
Given the class is now currently unused, it can be removed.
|
|
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.
|
|
|
|
While we're at it, give each entry some documentation.
|
|
service/am: Supply remaining missing IAudioController functions
|
|
In both cases, we weren't actually returning anything, which is
undefined behavior.
|
|
Just makes the definitions a little bit more tidy.
|
|
fsp_srv: Unstub SetCurrentProcess
|
|
input_common/sdl_impl: Minor cleanup in SDLState constructor
|
|
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.
|
|
All this does is supply a new volume level and a fade time in
nanoseconds for the volume transition to occur within.
|
|
Like the other volume setter, this mainly just sets a data member within
the service, nothing too special.
|
|
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.
|
|
kernel/thread: Amend conditional test and assignment within UpdatePriority()
|
|
core: Move PageTable struct into Common.
|
|
We don't need to universally capture by reference. We specifically just
need to capture the this pointer.
|
|
Specifying the time unit itself is sufficient here.
|
|
|
|
gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.
|
|
ipc_helpers: Allow pushing and popping floating-point values
|
|
kernel/thread: Actually remove the definition of ExitCurrentThread()
|
|
|
|
|
|
video_core: Refactor to use MemoryManager interface for all memory access.
|
|
memory: Simplify rasterizer cache operations.
|
|
Correct CNTPCT from using CPU Cycles to using Clock Cycles
|
|
Certain values that are passed through the IPC buffer are actually
floating point values, not solely integral values.
|
|
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.
|
|
This was intended to be removed in
51d7f6bffcc0498a47abc7de27bf0906fc523dae, but I guess I forgot to
actually save the file like a dingus.
|
|
kernel/thread: Remove WaitCurrentThread_Sleep() and ExitCurrentThread()
|
|
|
|
# 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
|