| Age | Commit message (Collapse) | Author |
|
Another holdover from citra that can be tossed out is the notion of the
heap needing to be allocated in different addresses. On the switch, the
base address of the heap will always be managed by the memory allocator
in the kernel, so this doesn't need to be specified in the function's
interface itself.
The heap on the switch is always allocated with read/write permissions,
so we don't need to add specifying the memory permissions as part of the
heap allocation itself either.
This also corrects the error code returned from within the function.
If the size of the heap is larger than the entire heap region, then the
kernel will report an out of memory condition.
|
|
core/hle/kernel: Split transfer memory handling out into its own class
|
|
set_sys: Implement GetFirmwareVersion(2) for libnx hosversion
|
|
Migrate off directly modifying CMAKE_* compilation-related flags directly
|
|
loader/nso: Minor refactoring
|
|
This appears to properly handle the ffmpeg libraries that dylibbundler
failed to patch.
|
|
|
|
The use of a shared_ptr is an implementation detail of the VMManager
itself when mapping memory. Because of that, we shouldn't require all
users of the CodeSet to have to allocate the shared_ptr ahead of time.
It's intended that CodeSet simply pass in the required direct data, and
that the memory manager takes care of it from that point on.
This means we just do the shared pointer allocation in a single place,
when loading modules, as opposed to in each loader.
|
|
file_sys/cheat_engine: Remove use of global system accessors
|
|
gpu: Rewrite MemoryManager based on the VMManager implementation.
|
|
Revert "Devirtualize Register/Unregister and use a wrapper instead."
|
|
namespace
Makes it impossible to indirectly violate the ODR in some other
translation unit due to these existing.
|
|
|
|
Instead, pass in the core timing instance and make the dependency
explicit in the interface.
|
|
Now that the NSO header has the proper size, we can just use sizeof on
it instead of having magic constants.
|
|
This source file was utilizing its own version of the NSO header.
Instead of keeping this around, we can have the patch manager also use
the version of the header that we have defined in loader/nso.h
|
|
The total struct itself is 0x100 (256) bytes in size, so we should be
providing that amount of data.
Without the data, this can result in omitted data from the final loaded
NSO file.
|
|
These correspond to the NSOBuildHeader.
|
|
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.
|
|
core/hle/kernel: Make Mutex a per-process class.
|
|
core/memory: Remove unnecessary includes
|
|
- Fixes graphical issues from transitions in Super Mario Odyssey.
|
|
kernel/vm_manager: Amend flag value for code data
|
|
service/am: Add function table for IDebugFunctions
|
|
file_sys: Implement parser and interpreter for game memory cheats
|
|
We already have the service related stuff set up for this, however, it's
missing the function table.
|
|
respectively
Makes it more evident that one is for actual code and one is for actual
data. Mutable and static are less than ideal terms here, because
read-only data is technically not mutable, but we were mapping it with
that label.
|
|
This should actually be using the data flags, rather than the code
flags.
|
|
In 93da8e0abfcdcc6e3cb5488a0db12373429f1377, the page table construct
was moved to the common library (which utilized these inclusions). Since
the move, nothing requires these headers to be included within the
memory header.
|
|
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
|
|
|
|
- GPU will be released on shutdown, before pages are unmapped.
- On subsequent runs, current_page_table will be not nullptr, but GPU might not be valid yet.
|
|
- Avoid a crash in Octopath Traveler.
|
|
- Avoid a crash in Xenoblade Chronicles 2.
|
|
surface.
- Fixes a crash in Puyo Puyo Tetris.
|
|
|
|
|
|
common/CMakeLists: Amend boost dependency
|
|
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
|