aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-03-06gpu: Refactor command and swap buffers interface for asynch.bunnei
2019-03-06gpu: Refactor to take RendererBase instead of RasterizerInterface.bunnei
2019-03-06settings: Add new graphics setting for use_asynchronous_gpu_emulation.bunnei
2019-03-06core: Set is_powered_on before GPU is initialized.bunnei
2019-03-06Merge pull request #2199 from lioncash/arbiterbunnei
kernel/address_arbiter: Convert the address arbiter into a class
2019-03-06hle/service/audio/audout_u: Correct lack of return in failure case of ↵Lioncash
AppendAudioOutBufferImpl() Previously we were overwriting the error case with a success code further down (which is definitely not what we should be doing here).
2019-03-06Merge pull request #2194 from lioncash/membunnei
svc: Move memory range checking functions to the VMManager class
2019-03-06Merge pull request #2200 from lioncash/audiobunnei
hle/service/audio: Extract audio error codes to a header
2019-03-05kernel/server_session: Make data members privateLioncash
Makes it much nicer to locally reason about server session behavior, as part of its functionality isn't placed around other classes.
2019-03-05kernel/client_session: Make data members privateLioncash
These can be made private, as they aren't accessed in contexts that require them to be public.
2019-03-05hle/service/audio: Extract audio error codes to a headerLioncash
Places all error codes in an easily includable header. This also corrects the unsupported error code (I accidentally used the hex value when I meant to use the decimal one).
2019-03-05kernel/address_arbiter: Pass in system instance to constructorLioncash
Allows getting rid of reliance on the global accessor functions and instead operating on the provided system instance.
2019-03-05kernel/address_arbiter: Minor tidying upLioncash
- Invert conditions into guard clases where applicable. - Mark std::vector parameter of WakeThreads as const
2019-03-05kernel/address_arbiter: Convert the address arbiter into a classLioncash
Places all of the functions for address arbiter operation into a class. This will be necessary for future deglobalizing efforts related to both the memory and system itself.
2019-03-05vm_manager: Remove cheat-specific ranges from VMManagerZach Hilman
2019-03-05kernel/thread: Remove obsolete TODO in Create()Lioncash
This is a TODO carried over from Citra that doesn't apply here.
2019-03-05core/hle/ipc: Remove unnecessary includesLioncash
Removes a few inclusion dependencies from the headers or replaces existing ones with ones that don't indirectly include the required headers. This allows removing an inclusion of core/memory.h, meaning that if the memory header is ever changed in the future, it won't result in rebuilding the entirety of the HLE services (as the IPC headers are used quite ubiquitously throughout the HLE service implementations).
2019-03-04core: Add support for registering and controlling ownership of CheatEngineZach Hilman
2019-03-04cheat_engine: Add parser and interpreter for game cheatsZach Hilman
2019-03-04loader/nso: Set main code region in VMManagerZach Hilman
For rom directories (and by extension, XCI/NSP/NAX/NCA) this is for the NSO with name 'main', for regular NSOs, this is the NSO.
2019-03-04vm_manager: Add support for storing and getting main code regionZach Hilman
Used as root for one region of cheats, set by loader
2019-03-04patch_manager: Display cheats in game list add-onsZach Hilman
2019-03-04patch_manager: Add support for loading cheats listsZach Hilman
Uses load/<title_id>/<mod_name>/cheats as root dir, file name is all upper or lower hex first 8 bytes build ID.
2019-03-04controllers/npad: Add accessor for current press stateZach Hilman
Allows frontend/features to access pressed buttons conveniently as possible
2019-03-04vm_manager: Use range helpers in HeapAlloc() and HeapFree()Lioncash
Significantly tidies up two guard conditionals.
2019-03-04vm_manager: Provide address range checking functions for other memory regionsLioncash
Makes the interface uniform when it comes to checking various memory regions.
2019-03-04kernel/scheduler: Pass in system instance in constructorLioncash
Avoids directly relying on the global system instance and instead makes an arbitrary system instance an explicit dependency on construction. This also allows removing dependencies on some global accessor functions as well.
2019-03-04kernel/shared_memory: Get rid of the use of global accessor functions within ↵Lioncash
Create() Given we already pass in a reference to the kernel that the shared memory instance is created under, we can just use that to check the current process, rather than using the global accessor functions. This allows removing direct dependency on the system instance entirely.
2019-03-04svc: Migrate address range checking functions to VMManagerLioncash
Provides a bit of a more proper interface for these functions.
2019-03-04core/core: Remove the global telemetry accessor functionLioncash
With all usages converted off of it, this function can be removed.
2019-03-04core/core: Replace direct usage of the global system telemetry accessor from ↵Lioncash
Shutdown() The telemetry instance is actually a member of the class itself, so we can access it directly instead of going through the global accessor.
2019-03-02Memory: don't lock hle mutex in memory read/writeWeiyi Wang
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
2019-03-01Merge pull request #2180 from lioncash/audrenbunnei
service/audio: Provide an implementation of ExecuteAudioRendererRendering
2019-03-01service/audio/audren_u: Implement OpenAudioRendererAutoLioncash
This currently has the same behavior as the regular OpenAudioRenderer API function, so we can just move the code within OpenAudioRenderer to an internal function that both service functions call.
2019-03-01service/audio: Provide an implementation of ExecuteAudioRendererRenderingLioncash
This service function appears to do nothing noteworthy on the switch. All it does at the moment is either return an error code or abort the system. Given we obviously don't want to kill the system, we just opt for always returning the error code.
2019-02-27Merge pull request #2174 from lioncash/fwdbunnei
service/hid: Amend forward declaration of ServiceManager
2019-02-27Speed up memory page mapping (#2141)Annomatg
- Memory::MapPages total samplecount was reduced from 4.6% to 1.06%. - From main menu into the game from 1.03% to 0.35%
2019-02-27service/hid: Amend forward declaration of ServiceManagerLioncash
The SM namespace is within the Service namespace, so this was forward declaring a type that didn't exist.
2019-02-27Merge pull request #2169 from lioncash/namingbunnei
audio_core/audio_renderer: Provide names for some parameters of AudioRendererParameter
2019-02-27Merge pull request #2170 from lioncash/emu-windowbunnei
core/frontend/emu_window: Make ClipToTouchScreen a const member function
2019-02-27Merge pull request #2161 from lioncash/handle-tablebunnei
kernel/handle_table: Allow process capabilities to limit the handle table size
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-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-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-25Merge pull request #2156 from FreddyFunk/patch-1bunnei
file_sys/vfs_vector: Fix ignored offset on Write
2019-02-25kernel/handle_table: Make local variables as const where applicableLioncash
Makes immutable state explicit.